blob: 23bc9dbaf6bd37cd130384b86b4ad76a0a972f44 (
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
|
#include "lizfcm.h"
#include <math.h>
float smaceps() {
float one = 1.0;
float machine_epsilon = 1.0;
float one_approx = one + machine_epsilon;
while (fabsf(one_approx - one) > 0) {
machine_epsilon /= 2;
one_approx = one + machine_epsilon;
}
return machine_epsilon;
}
double dmaceps() {
double one = 1.0;
double machine_epsilon = 1.0;
double one_approx = one + machine_epsilon;
while (fabs(one_approx - one) > 0) {
machine_epsilon /= 2;
one_approx = one + machine_epsilon;
}
return machine_epsilon;
}
|