summaryrefslogtreecommitdiff
path: root/ratio.h
blob: d17f0aecf87418a65006f63e1d43020ac825371a (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef RATIO_H
#define RATIO_H

#include <stdbool.h>

typedef struct {bool s; unsigned long long n; unsigned long long d;} rational;

rational int_to_valuetype(int);

unsigned int int_to_exptype(unsigned int);

unsigned int infinity_to_exptype();

bool exptype_is_infinite(unsigned int);

bool is_greater_certainly(rational,rational);

bool is_greater_possibly(rational,rational);

rational maximum(rational,rational);

rational sum(rational,rational);

rational difference(rational,rational);

rational product(rational,rational);

rational ratio(rational,rational);

rational absolute(rational);

rational power(rational,unsigned int);

double valuetype_to_double(rational);

int exptype_to_string(char*,unsigned int);

int exptype_to_latex(char*,unsigned int);

int valuetype_to_string(char*,rational r);

int valuetype_to_latex(char*,rational r);

int root_to_string(char*,rational r,unsigned int);

int root_to_latex(char*,rational r,unsigned int);

#endif