PIPS
|
#include <stdio.h>
#include <string.h>
#include "boolean.h"
#include "arithmetique.h"
#include "vecteur.h"
#include "polynome.h"
Go to the source code of this file.
Functions | |
Pmonome | monome_del_var (Pmonome pm, Variable var) |
Pmonome monome_del_var(Pmonome pm, Variable var) PRIVATE returns a copy of monomial pm, where variable var is deleted. More... | |
bool | monome_colin (Pmonome pm1, Pmonome pm2) |
bool monome_colin(Pmonome pm1, Pmonome pm2) PRIVATE returns true if the two monomials are "colinear": same variables, same exponents. More... | |
bool | monome_equal (Pmonome pm1, Pmonome pm2) |
bool monome_equal(Pmonome pm1, Pmonome pm2) PRIVATE returns true if the two monomials are equal same coeff., same variables, same exponents. More... | |
float | Bernouilli (int i) |
float Bernouilli(int i) PRIVATE returns Bi = i-th Bernouilli number More... | |
int | factorielle (int n) |
int factorielle (int n) PRIVATE returns n! More... | |
double | intpower (double d, int n) |
double intpower(double d, int n) returns d^n for all integers n More... | |
bool | is_inferior_monome (Pmonome pm1, Pmonome pm2, int *is_inferior_var) |
bool is_inferior_monome(Pmonome pm1, pm2, int (*is_inferior_var)()) returns the qsort comparison (pm1<pm2) we follow the "lexicographic" order: decreasing powers of the main variable, (according to the variable order relation passed in is_inferior_var) the decreasing powers of the next main variable, ... More... | |
float Bernouilli | ( | int | i | ) |
float Bernouilli(int i) PRIVATE returns Bi = i-th Bernouilli number
later, we could compute bigger Bernouilli(i) with the recurrence
To please the gcc compiler
Definition at line 108 of file pnome-private.c.
References polynome_error().
Referenced by polynome_sum_of_power().
int factorielle (int n) PRIVATE returns n!
Definition at line 136 of file pnome-private.c.
References polynome_error().
Referenced by average_probability_matrix().
double intpower | ( | double | d, |
int | n | ||
) |
double intpower(double d, int n) returns d^n for all integers n
Definition at line 155 of file pnome-private.c.
Referenced by float_to_frac(), and polynome_sum_of_power().
bool is_inferior_monome(Pmonome pm1, pm2, int (*is_inferior_var)()) returns the qsort comparison (pm1<pm2) we follow the "lexicographic" order: decreasing powers of the main variable, (according to the variable order relation passed in is_inferior_var) the decreasing powers of the next main variable, ...
When pm1=pm2 we return false. When pm1 or pm2 is MONOME_NUL or MONOME_UNDEFINED we return false.
is_inferior_var is indeed to be understood as the qsort comparator method and so is ill-defined here. RK
Initial version: Pvecteur pv1 = vect_tri(monome_term(pm1), is_inferior_var); Pvecteur pv2 = vect_tri(monome_term(pm2), is_inferior_var);
Fabien's version: Pvecteur pv1 = vect_sort(monome_term(pm1), vect_compare); Pvecteur pv2 = vect_sort(monome_term(pm2), vect_compare);
Pbase pbsorted = (Pbase) vect_tri(pb, is_inferior_var);
Pbase pbsorted = (Pbase) vect_sort(pb, vect_compare);
The following test is added by L.Zhou .
We want the constant term at the end . Jul.15, 91
The following test is added by L.Zhou . Mar.26, 91
Definition at line 179 of file pnome-private.c.
References BASE_NULLE_P, base_union(), is_inferior_var(), MONOME_NUL_P, monome_term, MONOME_UNDEFINED_P, term_cst, vect_coeff(), vect_coeff_sum(), vect_erase_var(), vect_first_var(), vect_rm(), and vect_sort().
Referenced by polynome_sort().
bool monome_colin(Pmonome pm1, Pmonome pm2) PRIVATE returns true if the two monomials are "colinear": same variables, same exponents.
We consider that MONOME_UNDEFINED is only colinear to MONOME_UNDEFINED. [???]
pm1 | m1 |
pm2 | m2 |
Definition at line 77 of file pnome-private.c.
References MONOME_NUL_P, monome_term, MONOME_UNDEFINED_P, and vect_equal().
Referenced by polynome_check(), polynome_monome_add(), and polynome_monome_addition().
Pmonome monome_del_var(Pmonome pm, Variable var) PRIVATE returns a copy of monomial pm, where variable var is deleted.
is it the only variable
now it is a constant term
pm | m |
var | ar |
Definition at line 47 of file pnome-private.c.
References monome_coeff, MONOME_NUL, MONOME_NUL_P, monome_term, MONOME_UNDEFINED, MONOME_UNDEFINED_P, new_monome(), TCST, VALUE_ONE, vect_del_var(), vect_new(), and VECTEUR_NUL_P.
Referenced by polynome_factorize(), and polynome_var_subst().
bool monome_equal(Pmonome pm1, Pmonome pm2) PRIVATE returns true if the two monomials are equal same coeff., same variables, same exponents.
pm1 | m1 |
pm2 | m2 |
Definition at line 93 of file pnome-private.c.
References monome_coeff, MONOME_NUL_P, monome_term, MONOME_UNDEFINED_P, and vect_equal().