![]() |
![]() |
![]() |
Rasqal RDF Query Library Manual | ![]() |
---|---|---|---|---|
void rasqal_free_xsd_decimal (rasqal_xsd_decimal *dec); rasqal_xsd_decimal* rasqal_new_xsd_decimal (void); typedef rasqal_xsd_decimal; int rasqal_xsd_decimal_add (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); char* rasqal_xsd_decimal_as_counted_string (rasqal_xsd_decimal *dec, size_t *len_p); char* rasqal_xsd_decimal_as_string (rasqal_xsd_decimal *dec); int rasqal_xsd_decimal_compare (rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); int rasqal_xsd_decimal_divide (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); int rasqal_xsd_decimal_equals (rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); double rasqal_xsd_decimal_get_double (rasqal_xsd_decimal *dec); int rasqal_xsd_decimal_is_zero (rasqal_xsd_decimal *d); int rasqal_xsd_decimal_multiply (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); int rasqal_xsd_decimal_print (rasqal_xsd_decimal *dec, FILE *stream); int rasqal_xsd_decimal_set_double (rasqal_xsd_decimal *dec, double d); int rasqal_xsd_decimal_set_long (rasqal_xsd_decimal *dec, long l ); int rasqal_xsd_decimal_set_string (rasqal_xsd_decimal *dec, const char *string); int rasqal_xsd_decimal_subtract (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b); int rasqal_xsd_decimal_negate (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a);
void rasqal_free_xsd_decimal (rasqal_xsd_decimal *dec);
Destroy XSD Decimal object.
|
Decimal object |
rasqal_xsd_decimal* rasqal_new_xsd_decimal (void);
Create a new XSD Decimal object.
Returns : |
new xsd:decimal object or NULL on failure. |
typedef struct rasqal_xsd_decimal_s rasqal_xsd_decimal;
Rasqal XSD Decimal class.
int rasqal_xsd_decimal_add (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Add two XSD Decimals and store in result XSD Decimal
|
result variable |
|
argment decimal 1 |
|
argument decimal 2 |
Returns : |
non-0 on failure |
char* rasqal_xsd_decimal_as_counted_string (rasqal_xsd_decimal *dec, size_t *len_p);
Get an XSD Decimal as a string lexical form with optional length.
The returned string is shared and owned by the dec
object and
must be copied. If len_p
is not NULL, the length of the returned
string is stored.
|
XSD Decimal |
|
pointer to length variable (or NULL) |
Returns : |
lexical form string or NULL on failure. |
char* rasqal_xsd_decimal_as_string (rasqal_xsd_decimal *dec);
Get an XSD Decimal as a string lexical form.
The returned string is shared and owned by the dec
object and
must be copied.
|
XSD Decimal |
Returns : |
lexical form string or NULL on failure. |
int rasqal_xsd_decimal_compare (rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Compare two XSD Decimals
|
first XSD decimal |
|
second XSD decimal |
Returns : |
<0 if a is less than b , 0 if equal, >1 otherwise
|
int rasqal_xsd_decimal_divide (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Divide two XSD Decimals and store in result XSD Decimal
If the divisor b
is 0, failure is returned
|
result variable |
|
argment decimal 1 |
|
argument decimal 2 |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_equals (rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Compare two XSD Decimals for equality.
|
first XSD Decimal |
|
second XSD Decimal |
Returns : |
non-0 if equal. |
double rasqal_xsd_decimal_get_double (rasqal_xsd_decimal *dec);
Get an XSD Decimal as a double (may lose precision)
|
XSD Decimal |
Returns : |
double value. |
int rasqal_xsd_decimal_is_zero (rasqal_xsd_decimal *d);
Test if an XSD decimal is zero.
|
decimal |
Returns : |
non-0 if decimal is zero |
int rasqal_xsd_decimal_multiply (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Multiply two XSD Decimals and store in result XSD Decimal
|
result variable |
|
argment decimal 1 |
|
argument decimal 2 |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_print (rasqal_xsd_decimal *dec, FILE *stream);
Write an XSD Decimal to a FILE* stream
|
XSD Decimal |
|
FILE* stream |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_set_double (rasqal_xsd_decimal *dec, double d);
Set an XSD Decimal value from a double.
|
XSD Decimal |
|
double |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_set_long (rasqal_xsd_decimal *dec, long l );
Set an XSD Decimal value from a long.
|
XSD Decimal |
|
|
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_set_string (rasqal_xsd_decimal *dec, const char *string);
Set an XSD Decimal value from a string lexical form
|
XSD Decimal |
|
lexical form |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_subtract (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a, rasqal_xsd_decimal *b);
Subtract two XSD Decimals and store in result XSD Decimal
|
result variable |
|
argment decimal 1 |
|
argument decimal 2 |
Returns : |
non-0 on failure |
int rasqal_xsd_decimal_negate (rasqal_xsd_decimal *result, rasqal_xsd_decimal *a);
Negate an XSD Decimal
|
result variable |
|
argment decimal |
Returns : |
non-0 on failure |