Functions | |
| int | fmpz_poly_q_from_string (fmpz_poly_q_ptr rop, const char *s) |
| char * | fmpz_poly_q_to_string (const fmpz_poly_q_ptr op) |
| char * | fmpz_poly_q_to_string_pretty (const fmpz_poly_q_ptr op, const char *x) |
| void | fmpz_poly_q_print (const fmpz_poly_q_ptr op) |
| void | fmpz_poly_q_print_pretty (const fmpz_poly_q_ptr op, const char *x) |
The following three methods enable users to construct elements of type fmpz_poly_q_ptr from strings or to obtain string representations of such elements.
The format used is based on the FLINT format for integer polynomials of type fmpz_poly_t, which we recall first:
A non-zero polynomial
of length
is represented by the string n+1 a_0 a_1 ... a_n, where there are two space characters following the length and single space characters separating the individual coefficients. There is no leading or trailing white-space. In contrast, the zero polynomial is represented by 0.
We adapt this notation for rational functions as follows. We denote the zero function by 0. Given a non-zero function with numerator and denominator string representations num and den, respectively, we use the string num/den to represent the rational function, unless the denominator is equal to one, in which case we simply use num.
There is also a _pretty variant available, which bases the string parts for the numerator and denominator on the output of the function fmpz_poly_to_string_pretty and introduces parentheses where necessary.
Note that currently these functions are not optimized for performance and are intended to be used only for debugging purposes or one-off input and output, rather than as a low-level parser.
| int fmpz_poly_q_from_string | ( | fmpz_poly_q_ptr | rop, | |
| const char * | s | |||
| ) |
Sets the rational function rop to the value specified by the null-terminated string s.
This method has now already been somewhat improved and is not very tolerant in the handling of malformed input. It expects either legitimate input for an fmpz_poly_t element, or two such inputs separated by a / only, in which case it is also assumed that the second polynomial is non-zero.
The rational function is brought into canonical form by calling fmpz_poly_q_canonicalize() in this function.
Returns 1 if the string represents a valid rational function and 0 otherwise.
| void fmpz_poly_q_print | ( | const fmpz_poly_q_ptr | op | ) |
Prints the standard non-pretty representation of op to stdout.
| void fmpz_poly_q_print_pretty | ( | const fmpz_poly_q_ptr | op, | |
| const char * | x | |||
| ) |
Prints the standard pretty representation of op to stdout.
| char* fmpz_poly_q_to_string | ( | const fmpz_poly_q_ptr | op | ) |
Returns the string representation of the rational function op.
| char* fmpz_poly_q_to_string_pretty | ( | const fmpz_poly_q_ptr | op, | |
| const char * | x | |||
| ) |
Returns the pretty string representation of op.
Returns the pretty string representation of the rational function op, using the string x as the variable name.
1.6.3