On Monday, 8 February 2016 at 02:47:24 UTC, Enjoys Math wrote:
Right now I'm using a logical ||:

if (!(2*PI - EPS!float <= t1-t0 || t1-t0 <= 2*PI + EPS!float)) {

But I'll be doing this a lot, so was wondering if there's a D native way of doing it.

Thanks.

Currently I have:

@property T EPS(T)() {
        static if (is(T == double)) {
                return 0.000_000_001;   
        }
        static if (is(T == float)) {
                return 0.000_001;       
        }
        static if (is(T == int)) {
                return 1;
        }
}

alias EPS!float EPSF;
alias EPS!double EPSD;

bool epsEq(T)(T x, T y) {
        return x >= y - EPS!T && x <= y + EPS!T;
}

Reply via email to