UNPKG

@thi.ng/shader-ast-stdlib

Version:

Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast

65 lines 2.05 kB
import type { Prim, PrimTerm, Term, TermType } from "@thi.ng/shader-ast"; /** * Returns normalized value of `x` WRT to interval `[a,b]`. Returns 0, if `a` * equals `b`. * * @param x - * @param a - * @param b - */ export declare const fitNorm1: import("@thi.ng/shader-ast").TaggedFn3<"float", "float", "float", "float">; /** * Similar to {@link fitNorm1} but also for vector types and without checking if * `a == b`. Scales value `x` from closed interval `[a,b]` to closed `[0,1]` * interval. No clamping performed. * * @param x * @param a * @param b */ export declare const fitNorm: <T extends Prim>(x: Term<T>, a: Term<T>, b: Term<T>) => import("@thi.ng/shader-ast").Op2<T>; /** * Fits value `x` from closed interval `[a,b]` to closed interval `[c,d]`. No * clamping performed. * * @param x - * @param a - * @param b - * @param c - * @param d - */ export declare const fit: <T extends Prim>(x: Term<T>, a: Term<T>, b: Term<T>, c: Term<T>, d: Term<T>) => import("@thi.ng/shader-ast").FnCall<T>; /** * Same as {@link fit}, but first clamps `x` to closed `[a,b]` interval. * * @param x - * @param a - * @param b - * @param c - * @param d - */ export declare const fitClamped: <T extends Prim>(x: Term<T>, a: Term<T>, b: Term<T>, c: Term<T>, d: Term<T>) => import("@thi.ng/shader-ast").FnCall<T>; /** * Inline function. Fits value `a` in `[0,1]` interval to new interval `[b,c]`. * No clamping performed. Same as `mix(b, c, a)` * * @param a - * @param b - * @param c - */ export declare const fit01: <T extends Prim>(a: Term<T>, b: Term<T>, c: Term<T>) => Term<T>; /** * Inline function. Fits value `x` in `[-1,1]` interval to `[0,1]` interval. No * clamping performed. * * @param x - */ export declare const fit1101: <T extends PrimTerm>(x: T) => Term<TermType<T>>; /** * Inline function. Fits value `x` in `[0,1]` interval to `[-1,1]` interval. No * clamping performed. * * @param x - */ export declare const fit0111: <T extends PrimTerm>(x: T) => Term<TermType<T>>; //# sourceMappingURL=fit.d.ts.map