Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/libs/gmp/mpq.pxd
4079 views
from types cimport *

cdef extern from "gmp.h":

    ### Rational Functions ###

    void mpq_canonicalize (mpq_t op) 

    # Initialization and Assignment Functions
    void mpq_init (mpq_t dest_rational) 
    void mpq_clear (mpq_t rational_number) 
    void mpq_set (mpq_t rop, mpq_t op) 
    void mpq_set_z (mpq_t rop, mpz_t op) 
    void mpq_set_ui (mpq_t rop, unsigned long int op1, unsigned long int op2) 
    void mpq_set_si (mpq_t rop, signed long int op1, unsigned long int op2) 
    int mpq_set_str (mpq_t rop, char *str, int base) 
    void mpq_swap (mpq_t rop1, mpq_t rop2) 

    # Conversion Functions
    double mpq_get_d (mpq_t op) 
    void mpq_set_d (mpq_t rop, double op) 
    void mpq_set_f (mpq_t rop, mpf_t op) 
    char * mpq_get_str (char *str, int base, mpq_t op) 

    # Arithmetic Functions
    void mpq_add (mpq_t sum, mpq_t addend1, mpq_t addend2) 
    void mpq_sub (mpq_t difference, mpq_t minuend, mpq_t subtrahend) 
    void mpq_mul (mpq_t product, mpq_t multiplier, mpq_t multiplicand) 
    void mpq_mul_2exp (mpq_t rop, mpq_t op1, unsigned long int op2) 
    void mpq_div (mpq_t quotient, mpq_t dividend, mpq_t divisor) 
    void mpq_div_2exp (mpq_t rop, mpq_t op1, unsigned long int op2) 
    void mpq_neg (mpq_t negated_operand, mpq_t operand) 
    void mpq_abs (mpq_t rop, mpq_t op) 
    void mpq_inv (mpq_t inverted_number, mpq_t number) 

    # Comparison Functions
    int mpq_cmp (mpq_t op1, mpq_t op2) 
    int mpq_cmp_ui (mpq_t op1, unsigned long int num2, unsigned long int den2) 
    int mpq_cmp_si (mpq_t op1, long int num2, unsigned long int den2) 
    int mpq_sgn (mpq_t op) 
    int mpq_equal (mpq_t op1, mpq_t op2) 

    # Applying Integer Functions to Rationals
    mpz_t mpq_numref (mpq_t op) 
    mpz_t mpq_denref (mpq_t op) 
    void mpq_get_num (mpz_t numerator, mpq_t rational) 
    void mpq_get_den (mpz_t denominator, mpq_t rational) 
    void mpq_set_num (mpq_t rational, mpz_t numerator) 
    void mpq_set_den (mpq_t rational, mpz_t denominator) 

    # Input and Output Functions
    # size_t mpq_out_str (file *stream, int base, mpq_t op) 
    # size_t mpq_inp_str (mpq_t rop, file *stream, int base)