<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" 
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="rasqal-section-xsd">
<refmeta>
<refentrytitle role="top_of_page" id="rasqal-section-xsd.top_of_page">XML Schema Decimals</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>RASQAL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>XML Schema Decimals</refname>
<refpurpose>XML Schema decimal number arithmetic.</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="rasqal-section-xsd.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
<link linkend="void">void</link>                <link linkend="rasqal-free-xsd-decimal">rasqal_free_xsd_decimal</link>             (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);
<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link>* <link linkend="rasqal-new-xsd-decimal">rasqal_new_xsd_decimal</link>              (void);
typedef             <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link>;
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-add">rasqal_xsd_decimal_add</link>              (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="char">char</link>*               <link linkend="rasqal-xsd-decimal-as-counted-string">rasqal_xsd_decimal_as_counted_string</link>
                                                        (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="size-t">size_t</link> *len_p);
<link linkend="char">char</link>*               <link linkend="rasqal-xsd-decimal-as-string">rasqal_xsd_decimal_as_string</link>        (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-compare">rasqal_xsd_decimal_compare</link>          (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-divide">rasqal_xsd_decimal_divide</link>           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-equals">rasqal_xsd_decimal_equals</link>           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="double">double</link>              <link linkend="rasqal-xsd-decimal-get-double">rasqal_xsd_decimal_get_double</link>       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-is-zero">rasqal_xsd_decimal_is_zero</link>          (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *d);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-multiply">rasqal_xsd_decimal_multiply</link>         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-print">rasqal_xsd_decimal_print</link>            (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="FILE:CAPS">FILE</link> *stream);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-set-double">rasqal_xsd_decimal_set_double</link>       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="double">double</link> d);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-set-long">rasqal_xsd_decimal_set_long</link>         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         long <link linkend="l">l</link> );
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-set-string">rasqal_xsd_decimal_set_string</link>       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         const <link linkend="char">char</link> *string);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-subtract">rasqal_xsd_decimal_subtract</link>         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);
<link linkend="int">int</link>                 <link linkend="rasqal-xsd-decimal-negate">rasqal_xsd_decimal_negate</link>           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a);
</synopsis>
</refsynopsisdiv>









<refsect1 id="rasqal-section-xsd.description" role="desc">
<title role="desc.title">Description</title>
<para>
A class for providing XSD Decimals with arbitrary length
floating point decimals.
</para>
</refsect1>

<refsect1 id="rasqal-section-xsd.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="rasqal-free-xsd-decimal" role="function">
<title>rasqal_free_xsd_decimal ()</title>
<indexterm zone="rasqal-free-xsd-decimal"><primary>rasqal_free_xsd_decimal</primary></indexterm><programlisting><link linkend="void">void</link>                rasqal_free_xsd_decimal             (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);</programlisting>
<para>
Destroy XSD Decimal object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> Decimal object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-new-xsd-decimal" role="function">
<title>rasqal_new_xsd_decimal ()</title>
<indexterm zone="rasqal-new-xsd-decimal"><primary>rasqal_new_xsd_decimal</primary></indexterm><programlisting><link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link>* rasqal_new_xsd_decimal              (void);</programlisting>
<para>
Create a new XSD Decimal object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> new xsd:decimal object or NULL on failure.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal" role="typedef">
<title>rasqal_xsd_decimal</title>
<indexterm zone="rasqal-xsd-decimal"><primary>rasqal_xsd_decimal</primary></indexterm><programlisting>typedef struct rasqal_xsd_decimal_s rasqal_xsd_decimal;
</programlisting>
<para>
Rasqal XSD Decimal class.</para>
<para>

</para></refsect2>
<refsect2 id="rasqal-xsd-decimal-add" role="function">
<title>rasqal_xsd_decimal_add ()</title>
<indexterm zone="rasqal-xsd-decimal-add"><primary>rasqal_xsd_decimal_add</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_add              (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Add two XSD Decimals and store in result XSD Decimal</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> result variable
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> argment decimal 1
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> argument decimal 2
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-as-counted-string" role="function">
<title>rasqal_xsd_decimal_as_counted_string ()</title>
<indexterm zone="rasqal-xsd-decimal-as-counted-string"><primary>rasqal_xsd_decimal_as_counted_string</primary></indexterm><programlisting><link linkend="char">char</link>*               rasqal_xsd_decimal_as_counted_string
                                                        (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="size-t">size_t</link> *len_p);</programlisting>
<para>
Get an XSD Decimal as a string lexical form with optional length.
</para>
<para>
The returned string is shared and owned by the <parameter>dec</parameter> object and
must be copied.  If <parameter>len_p</parameter> is not NULL, the length of the returned
string is stored.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len_p</parameter>&nbsp;:</term>
<listitem><simpara> pointer to length variable (or NULL)
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> lexical form string or NULL on failure.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-as-string" role="function">
<title>rasqal_xsd_decimal_as_string ()</title>
<indexterm zone="rasqal-xsd-decimal-as-string"><primary>rasqal_xsd_decimal_as_string</primary></indexterm><programlisting><link linkend="char">char</link>*               rasqal_xsd_decimal_as_string        (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);</programlisting>
<para>
Get an XSD Decimal as a string lexical form.
</para>
<para>
The returned string is shared and owned by the <parameter>dec</parameter> object and
must be copied.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> lexical form string or NULL on failure.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-compare" role="function">
<title>rasqal_xsd_decimal_compare ()</title>
<indexterm zone="rasqal-xsd-decimal-compare"><primary>rasqal_xsd_decimal_compare</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_compare          (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Compare two XSD Decimals</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> first XSD decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> second XSD decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> &lt;0 if <parameter>a</parameter> is less than <parameter>b</parameter>, 0 if equal, &gt;1 otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-divide" role="function">
<title>rasqal_xsd_decimal_divide ()</title>
<indexterm zone="rasqal-xsd-decimal-divide"><primary>rasqal_xsd_decimal_divide</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_divide           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Divide two XSD Decimals and store in result XSD Decimal
</para>
<para>
If the divisor <parameter>b</parameter> is 0, failure is returned</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> result variable
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> argment decimal 1
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> argument decimal 2
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-equals" role="function">
<title>rasqal_xsd_decimal_equals ()</title>
<indexterm zone="rasqal-xsd-decimal-equals"><primary>rasqal_xsd_decimal_equals</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_equals           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Compare two XSD Decimals for equality.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> first XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> second XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 if equal.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-get-double" role="function">
<title>rasqal_xsd_decimal_get_double ()</title>
<indexterm zone="rasqal-xsd-decimal-get-double"><primary>rasqal_xsd_decimal_get_double</primary></indexterm><programlisting><link linkend="double">double</link>              rasqal_xsd_decimal_get_double       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec);</programlisting>
<para>
Get an XSD Decimal as a double (may lose precision)</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> double value.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-is-zero" role="function">
<title>rasqal_xsd_decimal_is_zero ()</title>
<indexterm zone="rasqal-xsd-decimal-is-zero"><primary>rasqal_xsd_decimal_is_zero</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_is_zero          (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *d);</programlisting>
<para>
Test if an XSD decimal is zero.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>d</parameter>&nbsp;:</term>
<listitem><simpara> decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 if decimal is zero
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-multiply" role="function">
<title>rasqal_xsd_decimal_multiply ()</title>
<indexterm zone="rasqal-xsd-decimal-multiply"><primary>rasqal_xsd_decimal_multiply</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_multiply         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Multiply two XSD Decimals and store in result XSD Decimal</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> result variable
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> argment decimal 1
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> argument decimal 2
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-print" role="function">
<title>rasqal_xsd_decimal_print ()</title>
<indexterm zone="rasqal-xsd-decimal-print"><primary>rasqal_xsd_decimal_print</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_print            (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="FILE:CAPS">FILE</link> *stream);</programlisting>
<para>
Write an XSD Decimal to a FILE* stream</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> FILE* stream
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-set-double" role="function">
<title>rasqal_xsd_decimal_set_double ()</title>
<indexterm zone="rasqal-xsd-decimal-set-double"><primary>rasqal_xsd_decimal_set_double</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_set_double       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         <link linkend="double">double</link> d);</programlisting>
<para>
Set an XSD Decimal value from a double.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>d</parameter>&nbsp;:</term>
<listitem><simpara> double
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-set-long" role="function">
<title>rasqal_xsd_decimal_set_long ()</title>
<indexterm zone="rasqal-xsd-decimal-set-long"><primary>rasqal_xsd_decimal_set_long</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_set_long         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         long <link linkend="l">l</link> );</programlisting>
<para>
Set an XSD Decimal value from a long.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>Param2</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-set-string" role="function">
<title>rasqal_xsd_decimal_set_string ()</title>
<indexterm zone="rasqal-xsd-decimal-set-string"><primary>rasqal_xsd_decimal_set_string</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_set_string       (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *dec,
                                                         const <link linkend="char">char</link> *string);</programlisting>
<para>
Set an XSD Decimal value from a string lexical form</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>dec</parameter>&nbsp;:</term>
<listitem><simpara> XSD Decimal
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>string</parameter>&nbsp;:</term>
<listitem><simpara> lexical form
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-subtract" role="function">
<title>rasqal_xsd_decimal_subtract ()</title>
<indexterm zone="rasqal-xsd-decimal-subtract"><primary>rasqal_xsd_decimal_subtract</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_subtract         (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *b);</programlisting>
<para>
Subtract two XSD Decimals and store in result XSD Decimal</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> result variable
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> argment decimal 1
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
<listitem><simpara> argument decimal 2
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="rasqal-xsd-decimal-negate" role="function">
<title>rasqal_xsd_decimal_negate ()</title>
<indexterm zone="rasqal-xsd-decimal-negate"><primary>rasqal_xsd_decimal_negate</primary></indexterm><programlisting><link linkend="int">int</link>                 rasqal_xsd_decimal_negate           (<link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *result,
                                                         <link linkend="rasqal-xsd-decimal">rasqal_xsd_decimal</link> *a);</programlisting>
<para>
Negate an XSD Decimal</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>result</parameter>&nbsp;:</term>
<listitem><simpara> result variable
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
<listitem><simpara> argment decimal
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> non-0 on failure
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
