import { FP } from '../../../../../util/floating_point.js';
import { linearRange } from '../../../../../util/math.js';
import { makeCaseCache } from '../../case_cache.js';
const cases = (['f32', 'f16', 'abstract'] as const)
.map(trait => ({
[`${trait}`]: () => {
return FP[trait].generateScalarToIntervalCases(
[
...linearRange(-Math.PI, Math.PI, 100),
...FP[trait].scalarRange(),
],
'unfiltered',
FP[trait !== 'abstract' ? trait : 'f32'].tanInterval
);
},
}))
.reduce((a, b) => ({ ...a, ...b }), {});
export const d = makeCaseCache('tan', cases);