PIPS
|
#include <stdio.h>
#include <stdlib.h>
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "polynome.h"
Go to the source code of this file.
Pmonome monome_monome_div(Pmonome pm1, Pmonome pm2) PRIVATE (pm1) = (pm1) / pm2.
!usage: monome_monome_div(pm, pm2); Lei Zhou , 09/07/91
returns ppm pointing to MONOME_NUL
pm1 | m1 |
pm2 | m2 |
Definition at line 314 of file pnome-bin.c.
References monome_coeff, MONOME_CONSTANT_P, MONOME_NUL_P, monome_rm(), monome_term, MONOME_UNDEFINED, MONOME_UNDEFINED_P, new_monome(), polynome_error(), TCST, VALUE_ONE, vect_chg_sgn(), vect_dup(), vect_new(), vect_substract(), and VECTEUR_NUL.
Referenced by polynome_monome_div().
void monome_monome_mult(Pmonome *pm, Pmonome pm2) PRIVATE (*pm) = (*pm) * pm2.
!usage: monome_monome_mult(&pm, pm2);
returns ppm pointing to MONOME_NUL
M^-1 *M should be 1 . 26/10/92 LZ and the vecteur must be same. 09/11/92
Definition at line 225 of file pnome-bin.c.
References monome_coeff, MONOME_CONSTANT_P, MONOME_NUL_P, monome_rm(), monome_term, MONOME_UNDEFINED, MONOME_UNDEFINED_P, TCST, val_of, VALUE_ONE, value_plus, value_zero_p, var_of, vect_add(), vect_dup(), vect_new(), and vect_rm().
Referenced by polynome_monome_mult().
void polynome_add(Ppolynome* ppp, Ppolynome pp2) (*ppp) = (*ppp) + pp2.
!usage: polynome_add(&pp, pp2);
ppp | pp |
pp2 | p2 |
Definition at line 171 of file pnome-bin.c.
References polynome_dup(), polynome_monome, polynome_monome_add(), POLYNOME_NUL, POLYNOME_NUL_P, polynome_rm(), polynome_succ, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by create_farkas_poly(), do_computation_intensity(), do_solve_hardware_constraints_on_volume(), edge_cost(), edge_cost_polynome(), enode_to_polynome(), expression_to_polynome(), make_causal_external(), make_causal_internal(), mapping_on_broadcast(), old_vecteur_to_polynome(), plc_make_distance(), plc_make_proto(), polynome_gen_read(), polynome_mult(), polynome_roots(), polynome_sigma(), polynome_sum_of_power(), polynome_var_subst(), size_of_regions(), and vecteur_mult().
Ppolynome polynome_addition(Ppolynome pp, Ppolynome pp2) pp = pp + pp2.
!usage: pp = polynome_add(pp, pp2);
pp | p |
pp2 | p2 |
Definition at line 195 of file pnome-bin.c.
References polynome_dup(), polynome_free(), polynome_monome, polynome_monome_addition(), POLYNOME_NUL, POLYNOME_NUL_P, polynome_succ, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by complexity_add(), complexity_polynome_add(), complexity_sub(), and polynome_roots().
Ppolynome polynome_div(Ppolynome pp1, Ppolynome pp2) returns p = pp1 / pp2.
pp1 | p1 |
pp2 | p2 |
Definition at line 381 of file pnome-bin.c.
References exit, fprintf(), is_single_monome, polynome_monome, polynome_monome_div(), POLYNOME_NUL, POLYNOME_NUL_P, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by complexity_div(), expression_to_polynome(), polynome_power_n(), and polynome_roots().
void polynome_monome_add(Ppolynome* ppp, Pmonome pm) PRIVATE Add monomial pm to polynomial *ppp, in place.
There is no new polynomial malloc. Monomial pm doesn't become part of the polynomial: it is duplicated if needed. !usage: polynome_monome_add(&pp, pm);
This monomial is null now. We free it
no element in polynome
Save new value of monomial coefficient.
Add a copy of the monomial at the end
ppp | pp |
pm | m |
Definition at line 50 of file pnome-bin.c.
References good_polynome_assert(), monome_coeff, monome_colin(), monome_dup(), MONOME_NUL_P, monome_to_new_polynome(), MONOME_UNDEFINED_P, PNOME_MACH_EPS, polynome_monome, POLYNOME_NUL, POLYNOME_NUL_P, polynome_rm(), polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, and printf().
Referenced by do_solve_hardware_constraints_on_volume(), polynome_add(), polynome_decr(), polynome_factorize(), polynome_incr(), polynome_monome_div(), polynome_roots(), polynome_scalar_add(), polynome_sscanf(), and polynome_var_subst().
Ppolynome polynome_monome_addition(Ppolynome pp, Pmonome pm) PRIVATE Add monomial pm to polynomial pp, in place.
There is no new polynomial malloc. Monomial pm doesn't become part of the polynomial: it is duplicated if needed. !usage: pp = polynome_monome_add(pp, pm);
This monomial is null now. We free it
no element in polynome
Save new value of monomial coefficient.
Add a copy of the monomial at the end
pp | p |
pm | m |
Definition at line 112 of file pnome-bin.c.
References good_polynome_assert(), monome_coeff, monome_colin(), monome_dup(), MONOME_NUL_P, monome_to_new_polynome(), MONOME_UNDEFINED_P, PNOME_MACH_EPS, polynome_free(), polynome_monome, POLYNOME_NUL, POLYNOME_NUL_P, polynome_rm(), polynome_succ, POLYNOME_UNDEFINED, POLYNOME_UNDEFINED_P, and printf().
Referenced by polynome_addition(), and polynome_scalar_addition().
Ppolynome polynome_monome_div(Ppolynome pp, Pmonome pm) PRIVATE returns p = pp / pm.
pp | p |
pm | m |
Definition at line 356 of file pnome-bin.c.
References monome_monome_div(), MONOME_NUL_P, MONOME_UNDEFINED_P, polynome_dup(), polynome_monome, polynome_monome_add(), POLYNOME_NUL, POLYNOME_NUL_P, polynome_succ, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by polynome_div().
Ppolynome polynome_monome_mult(Ppolynome pp, Pmonome pm) PRIVATE returns pp * pm.
pp | p |
pm | m |
Definition at line 266 of file pnome-bin.c.
References monome_monome_mult(), MONOME_NUL_P, MONOME_UNDEFINED_P, polynome_dup(), polynome_monome, POLYNOME_NUL, POLYNOME_NUL_P, polynome_succ, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by polynome_mult(), and polynome_var_subst().
Ppolynome polynome_mult(Ppolynome pp1, Ppolynome pp2) returns pp1 * pp2.
pp1 | p1 |
pp2 | p2 |
Definition at line 287 of file pnome-bin.c.
References polynome_add(), polynome_monome, polynome_monome_mult(), POLYNOME_NUL, POLYNOME_NUL_P, polynome_rm(), polynome_succ, POLYNOME_UNDEFINED, and POLYNOME_UNDEFINED_P.
Referenced by complexity_mult(), edge_cost_polynome(), enode_to_polynome(), expression_to_polynome(), mapping_on_broadcast(), plc_make_distance(), plc_make_proto(), polynome_power_n(), polynome_roots(), polynome_sigma(), and size_of_regions().
===========================================================================
Ppolynome vecteur_to_polynome(Pvecteur pv): translates a Pvecteur into a Ppolynome.
pv | v |
Definition at line 406 of file pnome-bin.c.
References make_polynome(), POLYNOME_NUL, polynome_succ, Svecteur::succ, VALUE_ONE, VALUE_TO_FLOAT, VECTEUR_NUL_P, vecteur_val, and vecteur_var.
Referenced by include_trans_in_sc(), mapping_on_broadcast(), plc_make_distance(), and vvs_on_polynome().