summaryrefslogtreecommitdiff
path: root/ratio.h
blob: e555cfb11f5404fe2614708e5713eb4c71f63f49 (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
#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);

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 to_string(char*,rational r);

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

#endif