59 Value determinant_gcd;
75 assert(n > 0 && denominator != 0);
80 result[1] =
ACCESS(a,n,1,1);
81 result[0] = denominator;
86 register Value v1, v2, a1, a2;
95 result[0] =
value_mult(denominator,denominator);
110 result[1] =
ACCESS(h,n,1,1);
111 result[0] = denominator;
112 for(i=2; i <= n && result[1]!=0; i++) {
116 determinant_gcd =
pgcd_slow(result[0],result[1]);
134 determinant_gcd =
pgcd_slow(result[0],result[1]);\
168 for(r=1; r <= n; r++) {
173 for(c=1; c <= n; c++) {
182 for(c=1; c <= n; c++) {
186 for(r=1; r <= n; r++) {
#define value_minus(v1, v2)
#define value_notone_p(val)
#define value_division(ref, val)
#define value_product(v, w)
#define value_mult(v, w)
whether the default is protected or not this define makes no sense any more...
Value pgcd_slow(Value, Value)
pgcd.c
#define DENOMINATOR(matrix)
int DENOMINATEUR(matrix): acces au denominateur global d'une matrice matrix La combinaison *(&()) est...
#define ACCESS(matrix, column, i, j)
Macros d'acces aux elements d'une matrice.
#define matrice_new(n, m)
Allocation et desallocation d'une matrice.
Value * matrice
package matrice
void matrice_determinant(matrice a, int n, result)
package matrice
void matrice_sous_determinant(matrice a, int n, int i, int j, result)
void matrice_sous_determinant(matrice a, int n,int i, int j, int result[]) calculate sub determinant ...
void matrice_hermite(Value *MAT, int n, int m, Value *P, Value *H, Value *Q, Value *det_p, Value *det_q)
package matrice