fastmath.efloat

(re)Implementation of EFloat/Interval from pbrt-v3/pbrt-v4.

A floating point number structure which keeps a track of error caused by operations.

->double

(->double ev)

abs

(abs ev)

absolute-error

(absolute-error ev)

acos

(acos ev)

add

(add ev1 ev2)

addf

(addf ev v)

ceil

(ceil ev)

cos

(cos ev)

difference-of-products

(difference-of-products a b c d)

div

(div ev1 ev2)

divf

(divf ev v)

efloat

(efloat v)(efloat v err)(efloat v low high)

Create EFloat object from a single value or low and high values.

equals?

(equals? ev v)

floor

(floor ev)

fma

(fma ev1 ev2 ev3)

in-range?

(in-range? ev v)

lower-bound

(lower-bound ev)

max

(max ev1 ev2)

mid-point

(mid-point ev)

min

(min ev1 ev2)

mul

(mul ev1 ev2)

mulf

(mulf ev v)

neg

(neg ev)

quadratic

(quadratic a b c)

relative-error

(relative-error ev)

sin

(sin ev)

sq

(sq ev)

sqrt

(sqrt ev)

sub

(sub ev1 ev2)

subf

(subf ev v)

sum-of-products

(sum-of-products a b c d)

upper-bound

(upper-bound ev)

width

(width ev)