diff options
author | Pixel <Pixel> | 2001-04-28 21:40:25 +0000 |
---|---|---|
committer | Pixel <Pixel> | 2001-04-28 21:40:25 +0000 |
commit | 3b37a00a4be251f87e543d269489cb7a989425d5 (patch) | |
tree | 51aedcb4d1627743d6e240266c58a67cf6ae0d67 /scalaires.c | |
parent | ab778d7f896b16f3e6f2b068c2b34d219723002b (diff) |
Hop, gros bordel, plein de fichiers ajoutes et supprimes :)
Diffstat (limited to 'scalaires.c')
-rw-r--r-- | scalaires.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/scalaires.c b/scalaires.c deleted file mode 100644 index 71a106d..0000000 --- a/scalaires.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * - * Operations sur les scalaires ( rationnels ) - * - */ - -#include "scalaires.h" -#include <math.h> - -#define PRECISION 1E6 -static int pgcd(int a, int b) -{ - if (!a) - return b; - if (a < b) - return pgcd(b, a); - return pgcd(b, a % b); -} - -rationnel rat_constr_zero(void) -{ /* renvoie 0 */ - rationnel temp; - - temp.num = 0; - temp.denom = 1; - return temp; -} - - -rationnel rat_constr(int num, int denom) -{ /* cree une fraction */ - rationnel temp; - - if (denom < 0) { - denom = -denom; - num = -num; - } - - temp.num = num / pgcd(num, denom); - temp.denom = denom / pgcd(num, denom); - return temp; - -} - -rationnel rat_constr_from_double(double flt) -{ /* cree une fraction a partir d un double */ - - return rat_constr(floor(flt * PRECISION), PRECISION); - - -} - -void rat_destruct(rationnel rat) -{ /* destructeur */ - -} - -double rat_to_double(rationnel rat) -{ /* obtention du double correspondant a un rationnel */ - return ((double) rat.num / (double) rat.denom); -} - -rationnel rat_addition(rationnel rat1, rationnel rat2) -{ /* addition */ - - return rat_constr(rat1.num * rat2.denom + rat2.num * rat1.denom, rat1.denom * rat2.denom); - -} - -rationnel rat_soustraction(rationnel rat1, rationnel rat2) -{ /* soustraction */ - - return rat_constr(rat1.num * rat2.denom - rat2.num * rat1.denom, rat1.denom * rat2.denom); - -} - -rationnel rat_moinsunaire(rationnel rat1) -{ /* moins unaire */ - - return rat_constr(-rat1.num, rat1.denom); - -} - -rationnel rat_multiplication(rationnel rat1, rationnel rat2) -{ /* multiplication */ - - return rat_constr(rat1.num * rat2.num, rat1.denom * rat2.denom); - -} - -rationnel rat_division(rationnel rat1, rationnel rat2) -{ /* division */ - - return rat_constr(rat1.num * rat2.denom, rat1.denom * rat2.num); -} |