acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_c.h
1#pragma once
2
3
4
5
6#define INTABS(i) (((i) >= 0) ? (i) : (-(i)))
7#define FLOATABS(f) (((f) >= 0.f) ? (f) : (-(f)))
8#define DOUBLEABS(d) (((d) >= 0.0) ? (d) : (-(d)))
9
10//#ifndef
11//#define minimum(a, b) (((a) < (b)) ? (a) : (b))
12//#define maximum(a, b) (((b) < (a)) ? (a) : (b))
13
14
15inline bool is_almost_equal(::f64 d1, ::f64 d2, ::f64 dTolerance)
16{
17
18 return DOUBLEABS(d1-d2) < dTolerance;
19
20}
21
22inline bool is_different(::f64 d1, ::f64 d2, ::f64 dTolerance)
23{
24
25 return !is_almost_equal(d1, d2, dTolerance);
26
27}