<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Parrot - BigInt PMC class</title> <link rel="stylesheet" type="text/css" href="../../../resources/parrot.css" media="all"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div id="wrapper"> <div id="header"> <a href="http://www.parrot.org"> <img border=0 src="../../../resources/parrot_logo.png" id="logo" alt="parrot"> </a> </div> <!-- "header" --> <div id="divider"></div> <div id="mainbody"> <div id="breadcrumb"> <a href="../../../html/index.html">Home</a> » <a href="../../../html/pmc.html">PMCs</a> » BigInt PMC class </div> <h1><a name="NAME" >NAME</a></h1> <p>src/pmc/bigint.pmc - BigInt PMC class</p> <h1><a name="DESCRIPTION" >DESCRIPTION</a></h1> <p><code>BigInt</code> provides arbitrary precision integer mathematic functions.</p> <h2><a name="Functions" >Functions</a></h2> <dl> <dt><a name="static_void_bigint_set_long(PARROT_INTERP,_PMC_*self,_long_value)" ><b><code>static void bigint_set_long(PARROT_INTERP, PMC *self, long value)</b></code></a></dt> <dt><a name="static_void_bigint_set_double(PARROT_INTERP,_PMC_*self,_double_value)" ><b><code>static void bigint_set_double(PARROT_INTERP, PMC *self, double value)</b></code></a></dt> <dt><a name="static_void_bigint_init(PARROT_INTERP,_PMC_*self)" ><b><code>static void bigint_init(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_void_bigint_clear(PARROT_INTERP,_PMC_*self)" ><b><code>static void bigint_clear(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_void_bigint_set(PARROT_INTERP,_PMC_*dest,_PMC_*src)" ><b><code>static void bigint_set(PARROT_INTERP, PMC *dest, PMC *src)</b></code></a></dt> <dt><a name="static_void_bigint_set_long(PARROT_INTERP,_PMC_*self,_long_value)" ><b><code>static void bigint_set_long(PARROT_INTERP, PMC *self, long value)</b></code></a></dt> <dt><a name="static_void_bigint_set_double(PARROT_INTERP,_PMC_*self,_double_value)" ><b><code>static void bigint_set_double(PARROT_INTERP, PMC *self, double value)</b></code></a></dt> <dt><a name="static_void_bigint_set_str(PARROT_INTERP,_PMC_*self,_const_STRING_*value,_int_base)" ><b><code>static void bigint_set_str(PARROT_INTERP, PMC *self, const STRING *value, int base)</b></code></a></dt> <dt><a name="static_BIGINT*_bigint_get_self(PARROT_INTERP,_PMC_*self)" ><b><code>static BIGINT* bigint_get_self(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_void_bigint_set_self(PARROT_INTERP,_PMC_*self,_BIGINT_*value)" ><b><code>static void bigint_set_self(PARROT_INTERP, PMC *self, BIGINT *value)</b></code></a></dt> <dt><a name="static_long_bigint_get_long(PARROT_INTERP,_PMC_*self)" ><b><code>static long bigint_get_long(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_int_bigint_get_bool(PARROT_INTERP,_PMC_*self)" ><b><code>static int bigint_get_bool(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_char_*_bigint_get_string(PARROT_INTERP,_PMC_*self,_int_base)" ><b><code>static char * bigint_get_string(PARROT_INTERP, PMC *self, int base)</b></code></a></dt> <dt><a name="static_double_bigint_get_double(PARROT_INTERP,_PMC_*self)" ><b><code>static double bigint_get_double(PARROT_INTERP, PMC *self)</b></code></a></dt> <dt><a name="static_void_bigint_add_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_add_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_add_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_add_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_sub_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_sub_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_sub_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_sub_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_mul_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_mul_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_mul_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_mul_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_pow_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_pow_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_int_check_divide_zero(PARROT_INTERP,_INTVAL_value)" ><b><code>static void int_check_divide_zero(PARROT_INTERP, INTVAL value)</b></code></a></dt> <dt><a name="static_void_bigint_check_divide_zero(PARROT_INTERP,_PMC_*value)" ><b><code>static void bigint_check_divide_zero(PARROT_INTERP, PMC *value)</b></code></a></dt> <dt><a name="static_void_bigint_div_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_div_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_div_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_div_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_fdiv_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_fdiv_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_fdiv_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_fdiv_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_mod_bigint(PARROT_INTERP,_PMC_*self,_PMC_*value,_PMC_*dest)" ><b><code>static void bigint_mod_bigint(PARROT_INTERP, PMC *self, PMC *value, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_mod_bigint_int(PARROT_INTERP,_PMC_*self,_INTVAL_value,_PMC_*dest)" ><b><code>static void bigint_mod_bigint_int(PARROT_INTERP, PMC *self, INTVAL value, PMC *dest)</b></code></a></dt> <dt><a name="static_INTVAL_bigint_cmp(PARROT_INTERP,_PMC_*self,_PMC_*value)" ><b><code>static INTVAL bigint_cmp(PARROT_INTERP, PMC *self, PMC *value)</b></code></a></dt> <dt><a name="static_INTVAL_bigint_cmp_int(PARROT_INTERP,_PMC_*self,_INTVAL_value)" ><b><code>static INTVAL bigint_cmp_int(PARROT_INTERP, PMC *self, INTVAL value)</b></code></a></dt> <dt><a name="static_void_bigint_abs(PARROT_INTERP,_PMC_*self,_PMC_*dest)" ><b><code>static void bigint_abs(PARROT_INTERP, PMC *self, PMC *dest)</b></code></a></dt> <dt><a name="static_void_bigint_neg(PARROT_INTERP,_PMC_*self,_PMC_*dest)" ><b><code>static void bigint_neg(PARROT_INTERP, PMC *self, PMC *dest)</b></code></a></dt> </dl> <h2><a name="Methods" >Methods</a></h2> <dl> <dt><a name="METHOD_version()" ><b><code>METHOD version()</b></code></a></dt> Return GMP version string "x.y.z". <dt><a name="void_set_integer_native(INTVAL_value)" ><b><code>void set_integer_native(INTVAL value)</b></code></a></dt> <dt><a name="void_set_number_native(FLOATVAL_value)" ><b><code>void set_number_native(FLOATVAL value)</b></code></a></dt> Sets the value of the bigint to <code>value</code>. <dt><a name="void_set_string_native(STRING_*value)" ><b><code>void set_string_native(STRING *value)</b></code></a></dt> Sets the value of the integer to the result of converting <code>*value</code> to a number. <dt><a name="void_set_string_keyed_int(INTVAL_base,_STRING_*value)" ><b><code>void set_string_keyed_int(INTVAL base, STRING *value)</b></code></a></dt> Same assume number base <code>base</code>. <dt><a name="void_set_pmc(PMC_*value)" ><b><code>void set_pmc(PMC *value)</b></code></a></dt> Sets the value of the integer to the integer value of <code>*value</code>. <dt><a name="FLOATVAL_get_number()" ><b><code>FLOATVAL get_number()</b></code></a></dt> Returns the value of the integer as a floating point number. <dt><a name="INTVAL_get_integer()" ><b><code>INTVAL get_integer()</b></code></a></dt> Returns the value of the integer. <dt><a name="INTVAL_get_bool()" ><b><code>INTVAL get_bool()</b></code></a></dt> Returns the boolean value of the integer. <dt><a name="STRING_*get_string()" ><b><code>STRING *get_string()</b></code></a></dt> Returns the string representation of the integer. <dt><a name="STRING_*get_string_keyed_int(INTVAL_base)" ><b><code>STRING *get_string_keyed_int(INTVAL base)</b></code></a></dt> Returns the string representation of the integer in base <code>base</code>. <dt><a name="STRING_*get_repr()" ><b><code>STRING *get_repr()</b></code></a></dt> Returns the string representation of the integer with the letter 'L' appended. <dt><a name="void_increment()" ><b><code>void increment()</b></code></a></dt> Increments the integer. <dt><a name="void_decrement()" ><b><code>void decrement()</b></code></a></dt> Decrements the integer. <dt><a name="PMC_*absolute(PMC_*dest)" ><b><code>PMC *absolute(PMC *dest)</b></code></a></dt> <dt><a name="void_i_absolute()" ><b><code>void i_absolute()</b></code></a></dt> Sets <code>dest</code> to the absolute value of SELF. <dt><a name="PMC_*neg(PMC_*dest)" ><b><code>PMC *neg(PMC *dest)</b></code></a></dt> <dt><a name="void_i_neg()" ><b><code>void i_neg()</b></code></a></dt> Set <code>dest</code> to the negated value of <code>SELF</code>.</dl> </div> <!-- "mainbody" --> <div id="divider"></div> <div id="footer"> Copyright © 2002-2011, Parrot Foundation. </div> </div> <!-- "wrapper" --> </body> </html>