Math-GMPq
view release on metacpan or search on metacpan
mpq_mul(*mpq_t_obj, *b, *mpq_t_obj);
mpq_sub(*mpq_t_obj, *a, *mpq_t_obj);
}
mpz_clear(z);
return obj_ref;
}
SV * _overload_fmod_eq (pTHX_ SV * a, mpq_t *b, SV * third) {
mpq_t t;
mpz_t z;
PERL_UNUSED_ARG(third);
SvREFCNT_inc(a);
mpq_init(t);
mpz_init(z);
mpq_div(t, *(INT2PTR(mpq_t *, SvIVX(SvRV(a)))), *b);
mpz_set_q(z, t);
mpq_set_z(t, z);
mpq_mul(t, *b, t);
mpq_sub(*(INT2PTR(mpq_t *, SvIVX(SvRV(a)))), *(INT2PTR(mpq_t *, SvIVX(SvRV(a)))), t);
mpq_clear(t);
mpz_clear(z);
return a;
}
SV * _to_base(pTHX_ SV * str, int base) {
/* Convert the value held in the string *
* from the specified base to base 10 */
char buf[16];
mpz_t t;
if(mpz_init_set_str(t, SvPV_nolen(str), base))
croak("Exponent portion of string supplied to Rmpq_set_str function (%s) is not a valid base %d number", SvPV_nolen(str), base);
gmp_sprintf (buf, "%Zd", t);
mpz_clear(t);
return newSVpv(buf, 0);
}
MODULE = Math::GMPq PACKAGE = Math::GMPq
PROTOTYPES: DISABLE
int
_is_infstring (s)
char * s
void
Rmpq_canonicalize (p)
mpq_t * p
PPCODE:
Rmpq_canonicalize(p);
XSRETURN_EMPTY; /* return empty stack */
SV *
Rmpq_init ()
CODE:
RETVAL = Rmpq_init (aTHX);
OUTPUT: RETVAL
SV *
Rmpq_init_nobless ()
CODE:
RETVAL = Rmpq_init_nobless (aTHX);
OUTPUT: RETVAL
void
DESTROY (p)
mpq_t * p
PPCODE:
DESTROY(aTHX_ p);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_clear (p)
mpq_t * p
PPCODE:
Rmpq_clear(aTHX_ p);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_clear_mpq (p)
mpq_t * p
PPCODE:
Rmpq_clear_mpq(p);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_clear_ptr (p)
mpq_t * p
PPCODE:
Rmpq_clear_ptr(aTHX_ p);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set (p1, p2)
mpq_t * p1
mpq_t * p2
PPCODE:
Rmpq_set(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_swap (p1, p2)
mpq_t * p1
mpq_t * p2
PPCODE:
Rmpq_swap(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_z (p1, p2)
mpq_t * p1
mpz_t * p2
PPCODE:
Rmpq_set_z(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_ui (p1, p2, p3)
mpq_t * p1
unsigned long p2
unsigned long p3
PPCODE:
Rmpq_set_ui(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_si (p1, p2, p3)
mpq_t * p1
long p2
long p3
PPCODE:
Rmpq_set_si(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
_Rmpq_set_str (p1, p2, base)
mpq_t * p1
SV * p2
int base
PPCODE:
_Rmpq_set_str(aTHX_ p1, p2, base);
XSRETURN_EMPTY; /* return empty stack */
double
Rmpq_get_d (p)
mpq_t * p
void
Rmpq_set_d (p, d)
mpq_t * p
double d
PPCODE:
Rmpq_set_d(p, d);
XSRETURN_EMPTY; /* return empty stack */
void
_mpf_set_doubledouble (q, p)
mpf_t * q
SV * p
PPCODE:
_mpf_set_doubledouble(q, p);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_NV (copy, original)
mpq_t * copy
SV * original
PPCODE:
Rmpq_set_NV(aTHX_ copy, original);
XSRETURN_EMPTY; /* return empty stack */
int
Rmpq_cmp_NV (a, b)
mpq_t * a
SV * b
CODE:
RETVAL = Rmpq_cmp_NV (aTHX_ a, b);
OUTPUT: RETVAL
void
Rmpq_set_f (p, f)
mpq_t * p
mpf_t * f
PPCODE:
Rmpq_set_f(p, f);
XSRETURN_EMPTY; /* return empty stack */
SV *
Rmpq_get_str (p, base)
mpq_t * p
int base
CODE:
RETVAL = Rmpq_get_str (aTHX_ p, base);
OUTPUT: RETVAL
int
Rmpq_cmp (p1, p2)
mpq_t * p1
mpq_t * p2
int
Rmpq_cmp_ui (p1, n, d)
mpq_t * p1
unsigned long n
unsigned long d
int
Rmpq_cmp_si (p1, n, d)
mpq_t * p1
long n
unsigned long d
int
Rmpq_cmp_z (p, z)
mpq_t * p
mpz_t * z
int
Rmpq_sgn (p)
mpq_t * p
int
Rmpq_equal (p1, p2)
mpq_t * p1
mpq_t * p2
void
Rmpq_add (p1, p2, p3)
mpq_t * p1
mpq_t * p2
mpq_t * p3
PPCODE:
Rmpq_add(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_sub (p1, p2, p3)
mpq_t * p1
mpq_t * p2
mpq_t * p3
PPCODE:
Rmpq_sub(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_mul (p1, p2, p3)
mpq_t * p1
mpq_t * p2
mpq_t * p3
PPCODE:
Rmpq_mul(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_div (p1, p2, p3)
mpq_t * p1
mpq_t * p2
mpq_t * p3
PPCODE:
Rmpq_div(p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_mul_2exp (p1, p2, p3)
mpq_t * p1
mpq_t * p2
SV * p3
PPCODE:
Rmpq_mul_2exp(aTHX_ p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_div_2exp (p1, p2, p3)
mpq_t * p1
mpq_t * p2
SV * p3
PPCODE:
Rmpq_div_2exp(aTHX_ p1, p2, p3);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_neg (p1, p2)
mpq_t * p1
mpq_t * p2
PPCODE:
Rmpq_neg(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_abs (p1, p2)
mpq_t * p1
mpq_t * p2
PPCODE:
Rmpq_abs(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_inv (p1, p2)
mpq_t * p1
mpq_t * p2
PPCODE:
Rmpq_inv(p1, p2);
XSRETURN_EMPTY; /* return empty stack */
SV *
_Rmpq_out_str (p, base)
mpq_t * p
int base
CODE:
RETVAL = _Rmpq_out_str (aTHX_ p, base);
OUTPUT: RETVAL
SV *
_Rmpq_out_strS (p, base, suff)
mpq_t * p
int base
SV * suff
CODE:
RETVAL = _Rmpq_out_strS (aTHX_ p, base, suff);
OUTPUT: RETVAL
SV *
_Rmpq_out_strP (pre, p, base)
SV * pre
mpq_t * p
int base
CODE:
RETVAL = _Rmpq_out_strP (aTHX_ pre, p, base);
OUTPUT: RETVAL
SV *
_Rmpq_out_strPS (pre, p, base, suff)
SV * pre
mpq_t * p
int base
SV * suff
CODE:
RETVAL = _Rmpq_out_strPS (aTHX_ pre, p, base, suff);
OUTPUT: RETVAL
SV *
_TRmpq_out_str (stream, base, p)
FILE * stream
int base
mpq_t * p
CODE:
RETVAL = _TRmpq_out_str (aTHX_ stream, base, p);
OUTPUT: RETVAL
SV *
_TRmpq_out_strS (stream, base, p, suff)
FILE * stream
int base
mpq_t * p
SV * suff
CODE:
RETVAL = _TRmpq_out_strS (aTHX_ stream, base, p, suff);
OUTPUT: RETVAL
SV *
_TRmpq_out_strP (pre, stream, base, p)
SV * pre
FILE * stream
int base
mpq_t * p
CODE:
RETVAL = _TRmpq_out_strP (aTHX_ pre, stream, base, p);
OUTPUT: RETVAL
SV *
_TRmpq_out_strPS (pre, stream, base, p, suff)
SV * pre
FILE * stream
int base
mpq_t * p
SV * suff
CODE:
RETVAL = _TRmpq_out_strPS (aTHX_ pre, stream, base, p, suff);
OUTPUT: RETVAL
SV *
TRmpq_inp_str (p, stream, base)
mpq_t * p
FILE * stream
SV * base
CODE:
RETVAL = TRmpq_inp_str (aTHX_ p, stream, base);
OUTPUT: RETVAL
SV *
Rmpq_inp_str (p, base)
mpq_t * p
int base
CODE:
RETVAL = Rmpq_inp_str (aTHX_ p, base);
OUTPUT: RETVAL
void
Rmpq_numref (z, r)
mpz_t * z
mpq_t * r
PPCODE:
Rmpq_numref(z, r);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_denref (z, r)
mpz_t * z
mpq_t * r
PPCODE:
Rmpq_denref(z, r);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_get_num (z, r)
mpz_t * z
mpq_t * r
PPCODE:
Rmpq_get_num(z, r);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_get_den (z, r)
mpz_t * z
mpq_t * r
PPCODE:
Rmpq_get_den(z, r);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_num (r, z)
mpq_t * r
mpz_t * z
PPCODE:
Rmpq_set_num(r, z);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_den (r, z)
mpq_t * r
mpz_t * z
PPCODE:
Rmpq_set_den(r, z);
XSRETURN_EMPTY; /* return empty stack */
SV *
get_refcnt (s)
SV * s
CODE:
RETVAL = get_refcnt (aTHX_ s);
OUTPUT: RETVAL
void
Rmpq_add_z (rop, op, z)
mpq_t * rop
mpq_t * op
mpz_t * z
PPCODE:
Rmpq_add_z(rop, op, z);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_sub_z (rop, op, z)
mpq_t * rop
mpq_t * op
mpz_t * z
PPCODE:
Rmpq_sub_z(rop, op, z);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_z_sub (rop, z, op)
mpq_t * rop
mpz_t * z
mpq_t * op
PPCODE:
Rmpq_z_sub(rop, z, op);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_mul_z (rop, op, z)
mpq_t * rop
mpq_t * op
mpz_t * z
PPCODE:
Rmpq_mul_z(rop, op, z);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_div_z (rop, op, z)
mpq_t * rop
mpq_t * op
mpz_t * z
PPCODE:
Rmpq_div_z(rop, op, z);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_z_div (rop, z, op)
mpq_t * rop
mpz_t * z
mpq_t * op
PPCODE:
Rmpq_z_div(rop, z, op);
XSRETURN_EMPTY; /* return empty stack */
int
Rmpq_fits_uint_p (op)
mpq_t * op
void
Rmpq_pow_ui (rop, op, ui)
mpq_t * rop
mpq_t * op
unsigned long ui
PPCODE:
Rmpq_pow_ui(rop, op, ui);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_set_IV (a, my_iv1, my_iv2)
mpq_t * a
SV * my_iv1
SV * my_iv2
PPCODE:
Rmpq_set_IV(aTHX_ a, my_iv1, my_iv2);
XSRETURN_EMPTY; /* return empty stack */
int
Rmpq_cmp_IV (q, iv1, iv2)
mpq_t * q
SV * iv1
SV * iv2
CODE:
RETVAL = Rmpq_cmp_IV (aTHX_ q, iv1, iv2);
OUTPUT: RETVAL
SV *
_overload_mul (a, b, third)
SV * a
SV * b
SV * third
CODE:
RETVAL = _overload_mul (aTHX_ a, b, third);
OUTPUT: RETVAL
void
Rmpq_and (rop, a, b)
mpq_t * rop
mpq_t * a
mpq_t * b
PPCODE:
Rmpq_and(rop, a, b);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_ior (rop, a, b)
mpq_t * rop
mpq_t * a
mpq_t * b
PPCODE:
Rmpq_ior(rop, a, b);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_xor (rop, a, b)
mpq_t * rop
mpq_t * a
mpq_t * b
PPCODE:
Rmpq_xor(rop, a, b);
XSRETURN_EMPTY; /* return empty stack */
void
Rmpq_com (rop, a)
mpq_t * rop
mpq_t * a
PPCODE:
Rmpq_com(rop, a);
XSRETURN_EMPTY; /* return empty stack */
SV *
_overload_add (a, b, third)
SV * a
SV * b
SV * third
CODE:
RETVAL = _overload_add (aTHX_ a, b, third);
OUTPUT: RETVAL
SV *
_overload_sub (a, b, third)
SV * a
SV * b
SV * third
CODE:
RETVAL = _overload_sub (aTHX_ a, b, third);
OUTPUT: RETVAL
SV *
_overload_div (a, b, third)
SV * a
SV * b
SV * third
CODE:
RETVAL = _overload_div (aTHX_ a, b, third);
OUTPUT: RETVAL
SV *
overload_string (p, second, third)
mpq_t * p
SV * second
SV * third
CODE:
RETVAL = overload_string (aTHX_ p, second, third);
OUTPUT: RETVAL
NV
_mpf_get_float128 (x)
mpf_t * x
int
_rndaz (a, exponent, prec, display)
char * a
IV exponent
UV prec
int display
double
_mpf_get_d_rndn (p)
mpf_t * p
NV
_mpf_get_ld (x)
mpf_t * x
SV *
Rmpq_get_NV (x)
int
_has_longlong ()
int
_has_longdouble ()
int
_has_inttypes ()
SV *
___GNU_MP_VERSION ()
CODE:
RETVAL = ___GNU_MP_VERSION (aTHX);
OUTPUT: RETVAL
SV *
___GNU_MP_VERSION_MINOR ()
CODE:
RETVAL = ___GNU_MP_VERSION_MINOR (aTHX);
OUTPUT: RETVAL
SV *
___GNU_MP_VERSION_PATCHLEVEL ()
CODE:
RETVAL = ___GNU_MP_VERSION_PATCHLEVEL (aTHX);
OUTPUT: RETVAL
SV *
___GNU_MP_RELEASE ()
CODE:
RETVAL = ___GNU_MP_RELEASE (aTHX);
OUTPUT: RETVAL
SV *
___GMP_CC ()
CODE:
RETVAL = ___GMP_CC (aTHX);
OUTPUT: RETVAL
SV *
___GMP_CFLAGS ()
CODE:
RETVAL = ___GMP_CFLAGS (aTHX);
OUTPUT: RETVAL
void
overload_inc (p, second, third)
SV * p
SV * second
SV * third
PPCODE:
overload_inc(aTHX_ p, second, third);
XSRETURN_EMPTY; /* return empty stack */
void
overload_dec (p, second, third)
SV * p
SV * second
SV * third
PPCODE:
overload_dec(aTHX_ p, second, third);
XSRETURN_EMPTY; /* return empty stack */
SV *
_wrap_count ()
CODE:
RETVAL = _wrap_count (aTHX);
OUTPUT: RETVAL
SV *
_overload_pow (a, b, third)
SV * a
SV * b
SV * third
CODE:
RETVAL = _overload_pow (aTHX_ a, b, third);
OUTPUT: RETVAL
SV *
_get_xs_version ()
CODE:
RETVAL = _get_xs_version (aTHX);
OUTPUT: RETVAL
int
Rmpq_integer_p (q)
mpq_t * q
SV *
_GMP_LIMB_BITS ()
CODE:
RETVAL = _GMP_LIMB_BITS (aTHX);
OUTPUT: RETVAL
SV *
_GMP_NAIL_BITS ()
CODE:
RETVAL = _GMP_NAIL_BITS (aTHX);
OUTPUT: RETVAL
long
_long_min ()
long
_long_max ()
unsigned long
_ulong_max ()
int
_int_min ()
( run in 2.477 seconds using v1.01-cache-2.11-cpan-71847e10f99 )