|
FORM
4.3
|
#include "poly.h"#include "polygcd.h"#include "polyfact.h"#include <iostream>#include <vector>#include <map>#include <climits>#include <cassert>Go to the source code of this file.
Functions | |
| WORD | poly_determine_modulus (PHEAD bool multi_error, bool is_fun_arg, string message) |
| WORD * | poly_gcd (PHEAD WORD *a, WORD *b, WORD fit) |
| WORD * | poly_divmod (PHEAD WORD *a, WORD *b, int divmod, WORD fit) |
| WORD * | poly_div (PHEAD WORD *a, WORD *b, WORD fit) |
| WORD * | poly_rem (PHEAD WORD *a, WORD *b, WORD fit) |
| void | poly_ratfun_read (WORD *a, poly &num, poly &den) |
| void | poly_sort (PHEAD WORD *a) |
| WORD * | poly_ratfun_add (PHEAD WORD *t1, WORD *t2) |
| int | poly_ratfun_normalize (PHEAD WORD *term) |
| void | poly_fix_minus_signs (factorized_poly &a) |
| WORD * | poly_factorize (PHEAD WORD *argin, WORD *argout, bool with_arghead, bool is_fun_arg) |
| int | poly_factorize_argument (PHEAD WORD *argin, WORD *argout) |
| WORD * | poly_factorize_dollar (PHEAD WORD *argin) |
| int | poly_factorize_expression (EXPRESSIONS expr) |
| int | poly_unfactorize_expression (EXPRESSIONS expr) |
| WORD * | poly_inverse (PHEAD WORD *arga, WORD *argb) |
| WORD * | poly_mul (PHEAD WORD *a, WORD *b) |
| void | poly_free_poly_vars (PHEAD const char *text) |
Variables | |
| const int | POLYWRAP_DENOMPOWER_INCREASE_FACTOR = 2 |
Contains methods to call the polynomial methods (written in C++) from the rest of Form (written in C). These include polynomial gcd computation, factorization and polyratfuns.
Definition in file polywrap.cc.
| WORD poly_determine_modulus | ( | PHEAD bool | multi_error, |
| bool | is_fun_arg, | ||
| string | message | ||
| ) |
Modulus for polynomial algebra
This method determines whether polynomial algebra is done with a modulus or not. This depends on AC.ncmod. If only_funargs is set it also depends on (AC.modmode & ALSOFUNARGS).
The program terminates if the feature is not implemented. Polynomial algebra modulo M > WORDSIZE in not implemented. If multi_error is set, multivariate algebra mod M is not implemented.
Definition at line 79 of file polywrap.cc.
| WORD* poly_gcd | ( | PHEAD WORD * | a, |
| WORD * | b, | ||
| WORD | fit | ||
| ) |
Polynomial gcd
This method calculates the greatest common divisor of two polynomials, given by two zero-terminated Form-style term lists.
Definition at line 124 of file polywrap.cc.
Read a PolyRatFun
This method reads a polyratfun starting at the pointer a. The resulting numerator and denominator are written in num and den. If MUSTCLEANPRF, the result is normalized.
Definition at line 471 of file polywrap.cc.
| void poly_sort | ( | PHEAD WORD * | a | ) |
Sort the polynomial terms
Sorts the terms of a polynomial in Form poly(rat)fun order, i.e. lexicographical order with highest degree first.
Definition at line 557 of file polywrap.cc.
| WORD* poly_ratfun_add | ( | PHEAD WORD * | t1, |
| WORD * | t2 | ||
| ) |
Addition of PolyRatFuns
This method gets two pointers to polyratfuns with up to two arguments each and calculates the sum.
Definition at line 600 of file polywrap.cc.
| int poly_ratfun_normalize | ( | PHEAD WORD * | term | ) |
Multiplication/normalization of PolyRatFuns
This method seaches a term for multiple polyratfuns and multiplies their contents. The result is properly normalized. Normalization also works for terms with a single polyratfun.
Definition at line 719 of file polywrap.cc.
| WORD* poly_factorize | ( | PHEAD WORD * | argin, |
| WORD * | argout, | ||
| bool | with_arghead, | ||
| bool | is_fun_arg | ||
| ) |
Factorization of function arguments / dollars
This method factorizes a Form style argument or zero-terminated term list.
Definition at line 922 of file polywrap.cc.
| int poly_factorize_argument | ( | PHEAD WORD * | argin, |
| WORD * | argout | ||
| ) |
Factorization of function arguments
This method factorizes the Form-style argument argin.
Definition at line 1047 of file polywrap.cc.
| WORD* poly_factorize_dollar | ( | PHEAD WORD * | argin | ) |
Factorization of dollar variables
This method factorizes a dollar variable.
Definition at line 1074 of file polywrap.cc.
| int poly_factorize_expression | ( | EXPRESSIONS | expr | ) |
Factorization of expressions
This method factorizes an expression.
Definition at line 1100 of file polywrap.cc.
1.8.14