PIPS
|
#include <stdio.h>
#include <stdlib.h>
#include "linear_assert.h"
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "polynome.h"
Go to the source code of this file.
Functions | |
Ppolynome | polynome_var_subst (Ppolynome pp, Variable var, Ppolynome ppsubst) |
Ppolynome polynome_var_subst(Ppolynome pp, Variable var, Ppolynome ppsubst) creates and returns a Ppolynome copied from pp in which every occurrence of variable var is substituted by polynomial ppsubst, which must not contain var. More... | |
int | polynome_degree (Ppolynome pp, Variable var) |
int polynome_degree(Ppolynome pp, Variable var) returns the degree of polynomial pp viewed as a polynomial of one variable, var. More... | |
int | polynome_max_degree (Ppolynome pp) |
int polynome_max_degree(Ppolynome pp) returns the degree of polynomial pp Let's hope there aren't too many negative powers... More... | |
Ppolynome | polynome_factorize (Ppolynome pp, Variable var, int n) |
Ppolynome polynome_factorize(Ppolynome pp, Variable var, int n) returns the (polynomial) coefficient of var^n in polynomial pp. More... | |
float | polynome_TCST (Ppolynome pp) |
float polynome_TCST(Ppolynome pp) returns the constant term of polynomial pp. More... | |
bool | polynome_constant_p (Ppolynome pp) |
bool polynome_constant_p(Ppolynome pp) return true if pp is a constant polynomial (including null polynomial) If pp is POLYNOME_UNDEFINED: abort. More... | |
Pbase | polynome_used_var (Ppolynome pp, int *is_inferior_var) |
Pbase polynome_used_var(Ppolynome pp, bool *is_inferior_var()) PRIVATE Returns, in a Pbase, a list of the variables used in pp, sorted according to the function is_inferior_var() More... | |
bool | polynome_contains_var (Ppolynome pp, Variable var) |
bool polynome_contains_var(Ppolynome pp, Variable var) PRIVATE returns true if variable var is in polynomial pp. More... | |
bool | polynome_equal (Ppolynome pp1, Ppolynome pp2) |
bool polynome_equal(Ppolynome pp1, Ppolynome pp2) return (pp1 == pp2) >>>TO BE CONTINUED<<< More... | |
bool polynome_constant_p(Ppolynome pp) return true if pp is a constant polynomial (including null polynomial) If pp is POLYNOME_UNDEFINED: abort.
[???]
polynome_constant_p: polynome is undefined
pp | p |
Definition at line 180 of file pnome-reduc.c.
References assert, monome_term, polynome_monome, POLYNOME_NUL, POLYNOME_NUL_P, polynome_succ, POLYNOME_UNDEFINED_P, TCST, VALUE_ONE, vect_equal(), vect_new(), and vect_rm().
Referenced by complexity_constant_p(), if_conv_init_statement(), and polynome_sum_of_power().
bool polynome_contains_var(Ppolynome pp, Variable var) PRIVATE returns true if variable var is in polynomial pp.
pp | p |
var | ar |
Definition at line 238 of file pnome-reduc.c.
References monome_term, polynome_monome, POLYNOME_NUL, polynome_succ, POLYNOME_UNDEFINED_P, and vect_coeff().
Referenced by complexity_sigma(), include_trans_in_poly(), and is_uniform_rec().
int polynome_degree(Ppolynome pp, Variable var) returns the degree of polynomial pp viewed as a polynomial of one variable, var.
If pp is POLYNOME_UNDEFINED: abort. [???]
polynome_degree: polynome is undefined
pp | p |
var | ar |
Definition at line 93 of file pnome-reduc.c.
References assert, int, monome_term, polynome_monome, POLYNOME_NUL, polynome_succ, POLYNOME_UNDEFINED_P, and vect_coeff().
Referenced by polynome_roots(), and polynome_sigma().
bool polynome_equal(Ppolynome pp1, Ppolynome pp2) return (pp1 == pp2) >>>TO BE CONTINUED<<<
TO BE CONTINUED
pp1 | p1 |
pp2 | p2 |
Definition at line 257 of file pnome-reduc.c.
References default_is_inferior_pvarval(), polynome_dup(), polynome_error(), and polynome_sort().
Ppolynome polynome_factorize(Ppolynome pp, Variable var, int n) returns the (polynomial) coefficient of var^n in polynomial pp.
pp | p |
var | ar |
Definition at line 131 of file pnome-reduc.c.
References monome_del_var(), monome_term, polynome_monome, polynome_monome_add(), POLYNOME_NUL, polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, and vect_coeff().
Referenced by old_polynome_to_sc(), and polynome_sigma().
int polynome_max_degree(Ppolynome pp) returns the degree of polynomial pp Let's hope there aren't too many negative powers...
If pp is POLYNOME_UNDEFINED: abort. [???]
polynome_degree: polynome is undefined
pp | p |
Definition at line 113 of file pnome-reduc.c.
References assert, int, monome_term, polynome_monome, POLYNOME_NUL, polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, and vect_sum().
Referenced by complexity_degree(), do_computation_intensity(), and polynomial_to_numerical().
float polynome_TCST | ( | Ppolynome | pp | ) |
float polynome_TCST(Ppolynome pp) returns the constant term of polynomial pp.
If pp is POLYNOME_UNDEFINED: abort. [???]
polynome_TCST: polynome is undefined
pp | p |
Definition at line 156 of file pnome-reduc.c.
References assert, monome_coeff, monome_term, polynome_monome, POLYNOME_NUL, polynome_succ, POLYNOME_UNDEFINED_P, TCST, VALUE_ONE, vect_equal(), vect_new(), and vect_rm().
Referenced by complexity_TCST(), if_conv_init_statement(), old_prototype_factorize(), polynome_sum_of_power(), and prototype_factorize().
Pbase polynome_used_var(Ppolynome pp, bool *is_inferior_var()) PRIVATE Returns, in a Pbase, a list of the variables used in pp, sorted according to the function is_inferior_var()
FI: I do not understand what has been done here! (20/09/95)
b2 = (Pbase) vect_tri((Pvecteur) b, is_inferior_var);
FI: vect_compare() seems only good when Value=char *
b2 = (Pbase) vect_sort((Pvecteur) b, vect_compare);
Definition at line 204 of file pnome-reduc.c.
References b2, BASE_NULLE, BASE_UNDEFINED, base_union(), is_inferior_var(), monome_term, polynome_error(), polynome_monome, POLYNOME_NUL_P, polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, vect_rm(), and vect_sort().
Referenced by apply_farkas(), block_to_complexity(), final_statement_to_complexity_evaluation(), polynome_sprint(), translate_complexity_from_local_to_current_name(), and vvs_on_polynome().
Ppolynome polynome_var_subst(Ppolynome pp, Variable var, Ppolynome ppsubst) creates and returns a Ppolynome copied from pp in which every occurrence of variable var is substituted by polynomial ppsubst, which must not contain var.
the monomial curpm contains the variable var.
We duplicate it, remove variable var from it,
we multiply it with ppsubst^n (where n was the
power of var), and we add the result to newpp.
pp | p |
var | ar |
ppsubst | psubst |
Definition at line 47 of file pnome-reduc.c.
References monome_del_var(), monome_rm(), monome_term, polynome_add(), polynome_monome, polynome_monome_add(), polynome_monome_mult(), POLYNOME_NUL, polynome_power_n(), polynome_rm(), polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, and vect_coeff().
Referenced by complexity_var_subst(), number_replaces_var(), and prototype_var_subst().