import { kValue } from '../../../../../util/constants.js';
import { FP } from '../../../../../util/floating_point.js';
import { biasedRange, linearRange } from '../../../../../util/math.js';
import { makeCaseCache } from '../../case_cache.js';
export const d = makeCaseCache('inverseSqrt', {
f32: () => {
return FP.f32.generateScalarToIntervalCases(
[
...linearRange(kValue.f32.positive.min, 1, 100),
...biasedRange(1, 2 ** 32, 1000),
],
'unfiltered',
FP.f32.inverseSqrtInterval
);
},
f16: () => {
return FP.f16.generateScalarToIntervalCases(
[
...linearRange(kValue.f16.positive.min, 1, 100),
...biasedRange(1, 2 ** 15, 1000),
],
'unfiltered',
FP.f16.inverseSqrtInterval
);
},
abstract: () => {
return FP.abstract.generateScalarToIntervalCases(
[
...linearRange(kValue.f64.positive.min, 1, 100),
...biasedRange(1, 2 ** 64, 100),
],
'finite',
FP.f32.inverseSqrtInterval
);
},
});