Abstract Readonly Abstract absCalculate an acceptance interval for abs(n)
Readonly Abstract absolutean interval of the absolute error around the point
Readonly Abstract acosCalculate an acceptance interval for acos(n)
Readonly Abstract acoshCalculate an acceptance interval of acosh(x) using log(x + sqrt((x + 1.0f) * (x - 1.0)))
Readonly Abstract acoshAll acceptance interval functions for acosh(x)
Readonly Abstract additionCalculate an acceptance interval of x + y, when x and y are both scalars
Readonly Abstract additionReadonly Abstract asinCalculate an acceptance interval for asin(n)
Readonly Abstract asinhCalculate an acceptance interval of asinh(x)
Readonly Abstract atan2Calculate an acceptance interval of atan2(y, x)
Readonly Abstract atanCalculate an acceptance interval of atan(x)
Readonly Abstract atanhCalculate an acceptance interval of atanh(x)
Readonly Abstract ceilCalculate an acceptance interval of ceil(x)
Readonly Abstract clampAll acceptance interval functions for clamp(x, y, z)
Readonly Abstract clampCalculate an acceptance interval of clamp(x, y, z) via median(x, y, z)
Readonly Abstract clampCalculate an acceptance interval of clamp(x, high, low) via min(max(x, low), high)
Readonly Abstract correctlyall valid roundings of input
Readonly Abstract correctlyan interval of the correctly rounded values around the point
Readonly Abstract correctlyReadonly Abstract cosCalculate an acceptance interval of cos(x)
Readonly Abstract coshCalculate an acceptance interval of cosh(x)
Readonly Abstract crossReadonly Abstract degreesCalculate an acceptance interval of degrees(x)
Readonly Abstract determinantCalculate an acceptance interval for determinant(x)
Readonly Abstract distanceCalculate an acceptance interval of distance(x, y)
Readonly Abstract divisionCalculate an acceptance interval of x / y
Readonly Abstract dotCalculated the acceptance interval for dot(x, y)
Readonly Abstract exp2Calculate an acceptance interval for exp2(x)
Readonly Abstract expCalculate an acceptance interval for exp(x)
Readonly Abstract faceReadonly Abstract floorCalculate an acceptance interval of floor(x)
Readonly Abstract flush0 if the provided number is subnormal, otherwise returns the proved number
Readonly Abstract fmaCalculate an acceptance interval for fma(x, y, z)
Readonly Abstract fractCalculate an acceptance interval of fract(x)
Readonly Abstract inverseCalculate an acceptance interval of inverseSqrt(x)
Readonly Abstract istrue if input is considered finite, otherwise false
Readonly Abstract istrue if input is considered subnormal, otherwise false
Readonly kindReadonly Abstract ldexpCalculate an acceptance interval of ldexp(e1, e2), where e2 is integer
Spec indicate that the result may be zero if e2 + bias <= 0, no matter how large was e1 * 2 ** e2, i.e. the actual valid result is correctlyRounded(e1 * 2 ** e2) or 0.0, if e2 + bias <= 0. Such discontinious flush-to-zero behavior is hard to be expressed using FPInterval, therefore in the situation of e2 + bias <= 0 the returned interval would be just correctlyRounded(e1 * 2 ** e2), and special examination should be taken when using the result.
Readonly Abstract lengthCalculate an acceptance interval of length(x)
Readonly Abstract log2Calculate an acceptance interval of log2(x)
Readonly Abstract logCalculate an acceptance interval of log(x)
Readonly Abstract maxCalculate an acceptance interval of max(x, y)
Readonly Abstract minCalculate an acceptance interval of min(x, y)
Readonly Abstract mixCalculate an acceptance interval of mix(x, y, z) using x + (y - x) * z
Readonly Abstract mixAll acceptance interval functions for mix(x, y, z)
Readonly Abstract mixCalculate an acceptance interval of mix(x, y, z) using x * (1.0 - z) + y * z
Readonly Abstract modfCalculate an acceptance interval of modf(x)
Readonly Abstract multiplicationCalculate an acceptance interval of x * y
Readonly Abstract multiplicationReadonly Abstract multiplicationReadonly Abstract multiplicationReadonly Abstract multiplicationReadonly Abstract multiplicationReadonly Abstract negationCalculate an acceptance interval of -x
Readonly Abstract normalizeReadonly Abstract oneULPOptional mode: FlushMode1 * ULP: (number)
Readonly Abstract powCalculate an acceptance interval of pow(x, y)
Readonly Abstract quantizethe nearest precise value to the input. Rounding should be IEEE 'roundTiesToEven'.
Readonly Abstract radiansCalculate an acceptance interval of radians(x)
Readonly Abstract reflectReadonly Abstract refractReadonly Abstract remainderCalculate an acceptance interval for x % y
Readonly Abstract roundCalculate an acceptance interval of round(x)
Readonly Abstract saturateReadonly Abstract scalara builder for converting numbers to ScalarsValues
Readonly Abstract signCalculate an acceptance interval of sign(x)
Readonly Abstract sinCalculate an acceptance interval of sin(x)
Readonly Abstract sinhCalculate an acceptance interval of sinh(x)
Readonly Abstract smoothCalculate an acceptance interval of smoothStep(low, high, x)
Readonly Abstract sqrtCalculate an acceptance interval of sqrt(x)
Readonly Abstract stepCalculate an acceptance 'interval' for step(edge, x)
step only returns two possible values, so its interval requires special interpretation in CTS tests. This interval will be one of four values: [0, 0], [0, 1], [1, 1] & [-∞, +∞]. [0, 0] and [1, 1] indicate that the correct answer in point they encapsulate. [0, 1] should not be treated as a span, i.e. 0.1 is acceptable, but instead indicate either 0.0 or 1.0 are acceptable answers. [-∞, +∞] is treated as unbounded interval, since an unbounded or infinite value was passed in.
Readonly Abstract subtractionCalculate an acceptance interval of x - y
Readonly Abstract subtractionReadonly Abstract tanCalculate an acceptance interval of tan(x)
Readonly Abstract tanhCalculate an acceptance interval of tanh(x)
Readonly Abstract transposeReadonly Abstract truncCalculate an acceptance interval of trunc(x)
Readonly Abstract ulpan interval of N * ULP around the point
Abstract constantsWGSL specifies unbounded precision: https://www.w3.org/TR/WGSL/#floating-point-accuracy In most computations doubles (number in js) are equivalent to correctly rounded intervals. However in some cases (addition/subtraction) doubles do not provide enough numeric precision.
These cases are whenever a small magnitude number, y (e.g. smallest positive normal) is added (or subtracted) from a much larger magnitude number x (1.0), such that the difference between them is smaller then ULP(x). When working in JS numbers the result will, incorrectly, simply be x, since it will get rounded. JS rounds to even but WGSL allows for rounding up and down (which in our context will be an interval). We must detect these cases where double precision does not represent infinitely accurate computations accurately then we must manually create the interval.
an interval containing the correctly rounded val with respect to unbounded precision
Converts p into an FPInterval if it is an FPIntervalPAram
array of inputs to try for the first input
array of inputs to try for the second input
what interval filtering to apply
Rest ...ops: MatrixPairToMatrix[]callbacks that implement generating a matrix of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try for the matrix input
array of inputs to try for the scalar input
what interval filtering to apply
Rest ...ops: MatrixScalarToMatrix[]callbacks that implement generating a matrix of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try
what interval filtering to apply
Rest ...ops: MatrixToMatrix[]callbacks that implement generating a matrix of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try
what interval filtering to apply
Rest ...ops: MatrixToScalar[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of inputs to try for the matrix input
array of inputs to try for the vector input
what interval filtering to apply
Rest ...ops: MatrixVectorToVector[]callbacks that implement generating a vector of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try for the scalar input
array of inputs to try for the matrix input
what interval filtering to apply
Rest ...ops: ScalarMatrixToMatrix[]callbacks that implement generating a matrix of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try for the first input
array of inputs to try for the second input
what interval filtering to apply
Rest ...ops: ScalarPairToInterval[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of inputs to try
what interval filtering to apply
Rest ...ops: ScalarToInterval[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of inputs to try for the first input
array of inputs to try for the second input
array of inputs to try for the third input
what interval filtering to apply
Rest ...ops: ScalarTripleToInterval[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of scalar inputs to try
array of vector inputs to try
what interval filtering to apply
Rest ...ops: ScalarVectorToVector[]callbacks that implement generating a vector of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try for the vector input
array of inputs to try for the matrix input
what interval filtering to apply
Rest ...ops: VectorMatrixToVector[]callbacks that implement generating a vector of acceptance intervals
an array of Cases for operations over a range of inputs
array of first vector inputs to try
array of second vector inputs to try
array of scalar inputs to try
what interval filtering to apply
Rest ...componentWiseOps: ScalarTripleToInterval[]an array of Cases for operations over a range of inputs
array of inputs to try for the first input
array of inputs to try for the second input
what interval filtering to apply
Rest ...ops: VectorPairToInterval[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of inputs to try for the first input
array of inputs to try for the second input
what interval filtering to apply
Rest ...ops: VectorPairToVector[]callbacks that implement generating a vector of acceptance intervals.
an array of Cases for operations over a range of inputs
array of vector inputs to try
array of scalar inputs to try
what interval filtering to apply
Rest ...ops: VectorScalarToVector[]callbacks that implement generating a vector of acceptance intervals
an array of Cases for operations over a range of inputs
array of inputs to try
what interval filtering to apply
Rest ...ops: VectorToInterval[]callbacks that implement generating an acceptance interval
an array of Cases for operations over a range of inputs
array of inputs to try
what interval filtering to apply
Rest ...ops: VectorToVector[]callbacks that implement generating a vector of acceptance intervals.
an array of Cases for operations over a range of inputs
Narrow an array of an array of values to FPMatrix if possible
Narrow an array of values to FPVector if possible
the first param to pass in
the second param to pass in
the third param to pass in
what interval filtering to apply
Rest ...ops: ScalarTripleToInterval[]callbacks that implement generating an acceptance interval
a Case for the params and the interval generator provided. The Case will use an interval comparator for matching results.
Abstract scalarRest ...intervals: readonly FPInterval[]an interval with the tightest endpoints that includes all provided intervals
Abstract sparsea reduced range of cols x rows matrices for testing
A non-sparse version of this generator is intentionally not provided due to runtime issues with more dense ranges.
Abstract sparseAbstract sparsea reduced range of dim element vectors for testing
an interval containing the point or the original interval
an FPMatrix representation of an array of an array of values if possible
Makes a param that can be turned into an interval
an FPVector representation of an array of values if possible
Abstract vectora range of dim element vectors for testing
Generated using TypeDoc
Abstract base class for all floating-point traits