VSSL/source/library/vssl-floating_point-generic...

16 lines
570 B
Ada

generic
type Value is digits <>;
Absolute_Error : Value;
package VSSL.Floating_Point.Generic_Approximate_Absolute is
function "=" (A, B : Value) return Boolean is (A in B - Absolute_Error .. B + Absolute_Error);
function "<" (A, B : Value) return Boolean is (A < B - Absolute_Error);
function "<=" (A, B : Value) return Boolean is (A <= B + Absolute_Error);
function ">" (A, B : Value) return Boolean is (A > B + Absolute_Error);
function ">=" (A, B : Value) return Boolean is (A >= B - Absolute_Error);
end VSSL.Floating_Point.Generic_Approximate_Absolute;