<literal>result</literal>.
The function returns 0 on success and -1 in case of error.
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-mul">
<term><function>PGTYPESnumeric_mul</function></term>
<listitem>
<para>
Multiply two numeric variables and return the result in a third one.
<synopsis>
int PGTYPESnumeric_mul(numeric *var1, numeric *var2, numeric *result);
</synopsis>
The function multiplies the variables <literal>var1</literal> and
<literal>var2</literal>. The result of the operation is stored in the
variable <literal>result</literal>.
The function returns 0 on success and -1 in case of error.
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-div">
<term><function>PGTYPESnumeric_div</function></term>
<listitem>
<para>
Divide two numeric variables and return the result in a third one.
<synopsis>
int PGTYPESnumeric_div(numeric *var1, numeric *var2, numeric *result);
</synopsis>
The function divides the variables <literal>var1</literal> by
<literal>var2</literal>. The result of the operation is stored in the
variable <literal>result</literal>.
The function returns 0 on success and -1 in case of error.
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-cmp">
<term><function>PGTYPESnumeric_cmp</function></term>
<listitem>
<para>
Compare two numeric variables.
<synopsis>
int PGTYPESnumeric_cmp(numeric *var1, numeric *var2)
</synopsis>
This function compares two numeric variables. In case of error,
<literal>INT_MAX</literal> is returned. On success, the function
returns one of three possible results:
<itemizedlist>
<listitem>
<para>
1, if <literal>var1</literal> is bigger than <literal>var2</literal>
</para>
</listitem>
<listitem>
<para>
-1, if <literal>var1</literal> is smaller than <literal>var2</literal>
</para>
</listitem>
<listitem>
<para>
0, if <literal>var1</literal> and <literal>var2</literal> are equal
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-from-int">
<term><function>PGTYPESnumeric_from_int</function></term>
<listitem>
<para>
Convert an int variable to a numeric variable.
<synopsis>
int PGTYPESnumeric_from_int(signed int int_val, numeric *var);
</synopsis>
This function accepts a variable of type signed int and stores it
in the numeric variable <literal>var</literal>. Upon success, 0 is returned and
-1 in case of a failure.
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-from-long">
<term><function>PGTYPESnumeric_from_long</function></term>
<listitem>
<para>
Convert a long int variable to a numeric variable.
<synopsis>
int PGTYPESnumeric_from_long(signed long int long_val, numeric *var);
</synopsis>
This function accepts a variable of type signed long int and stores it
in the numeric variable <literal>var</literal>. Upon success, 0 is returned and
-1 in case of a failure.
</para>
</listitem>
</varlistentry>
<varlistentry id="ecpg-pgtypes-numeric-copy">
<term><function>PGTYPESnumeric_copy</function></term>
<listitem>
<para>
Copy over one numeric variable into another one.
<synopsis>
int PGTYPESnumeric_copy(numeric *src, numeric *dst);
</synopsis>
This function copies over the value of the variable that
<literal>src</literal> points to into the variable that <literal>dst</literal>
points to. It returns 0 on success and -1 if an error occurs.
</para>
</listitem>
</varlistentry>
<varlistentry