import { fc } from '@fast-check/vitest'; import type { Mat4, Quat, Vec3, Vec4 } from '../types'; /** Float32 single add/sub; ULP ≈ 1.19e-7, leaves an 8× margin. */ export declare const EPS_F32 = 0.00001; /** Float32 mat4 × mat4: chained accumulation of 16 muls + 12 adds. */ export declare const EPS_MAT4_MUL = 0.0001; /** Float32 mat4 × mat4 × mat4: associativity test accumulates 3 multiplications on each side. */ export declare const EPS_MAT4_MUL3 = 0.001; /** Quat slerp endpoint / single-step numeric path. */ export declare const EPS_QUAT = 0.00001; /** General 32-bit safe scalar: noNaN + noDefaultInfinity, lies in [-1e3, 1e3]. */ export declare const safeFloat: (min?: number, max?: number) => fc.Arbitrary; /** Safe scalar for matrix elements: [-10, 10], prevents mat4×mat4 element values from inflating ε. */ export declare const matFloat: () => fc.Arbitrary; /** Scale component: keeps away from 0 to avoid singularities ([1e-2, 10] ∪ [-10, -1e-2]). */ export declare const nonZeroScale: () => fc.Arbitrary; /** Generic vec3: three independent safeFloat components. */ export declare const vec3Arb: () => fc.Arbitrary; /** Generic vec4. */ export declare const vec4Arb: () => fc.Arbitrary; /** Non-zero vec3 (len² > 1e-6 to avoid normalize fall-back). */ export declare const nonZeroVec3Arb: () => fc.Arbitrary; /** Scale vector: each component nonZeroScale, used by TRS compose. */ export declare const scaleVec3Arb: () => fc.Arbitrary; /** Unit vec3: normalized non-zero vec3. */ export declare const unitVec3Arb: () => fc.Arbitrary; /** Unit quaternion: 4D-sphere sampling (filter hit rate ≈ 1 since random 4D points have len² > 1e-12). */ export declare const unitQuatArb: () => fc.Arbitrary; /** Generic mat4: 16 independent elements ∈ [-10, 10], associativity / identity friendly. */ export declare const mat4Arb: () => fc.Arbitrary; /** * Invertible mat4: composed from TRS (translation × rotation × scale) so det ≠ 0 is guaranteed. * Random 16 elements are almost always singular, invert returns identity → invertibility test always fails. */ export declare const invertibleMat4Arb: () => fc.Arbitrary; //# sourceMappingURL=_arbs.d.ts.map