summaryrefslogtreecommitdiff
path: root/include/scalaires.h
blob: 5fc7dd2cade3a6b1afdec3a8fb8c8ceb61ccb234 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __SCALAIRES_H__
#define __SCALAIRES_H__

typedef struct {
	long long num;
	unsigned long long denom;
} rationnel;

typedef enum typedisplay {
	HEX,
	DEC,
	OCT,
	FLT
} typedisplay;

extern typedisplay display;

rationnel rat_constr_zero(void);	/* renvoie 0 */
rationnel rat_constr(unsigned long long num, unsigned long long denom);	/* cree une fraction */
rationnel rat_constr_from_double(double flt);	/* cree une fraction a partir d un double */
void rat_destruct(rationnel rat);	/* destructeur */
double rat_to_double(rationnel rat);	/* obtention du double correspondant a un rationnel */
rationnel rat_addition(rationnel rat1, rationnel rat2);	/* addition */
rationnel rat_soustraction(rationnel rat1, rationnel rat2);	/* soustraction */
rationnel rat_moinsunaire(rationnel rat1);	/* moins unaire */
rationnel rat_multiplication(rationnel rat1, rationnel rat2);	/* multiplication */
rationnel rat_division(rationnel rat, rationnel rat2);	/* division */
rationnel rat_pow(rationnel rat, unsigned int p); /* puissance */
char *rat_to_string(rationnel rat, int first);

#endif