29void fusedAffineClamp(
const double *x,
double scale,
double offset,
30 double lo,
double hi,
double *out, std::size_t n);
36void fusedAffineClampMinOuter(
const double *x,
double scale,
double offset,
37 double lo,
double hi,
double *out, std::size_t n);
42void fusedAffineClampShiftDiv(
const double *x,
double sub,
double div,
43 double lo,
double hi,
double *out, std::size_t n);
44void fusedAffineClampMinOuterShiftDiv(
const double *x,
double sub,
double div,
45 double lo,
double hi,
double *out,
53void fusedAffine(
const double *x,
double scale,
double offset,
54 double *out, std::size_t n);
59void fusedAxpby(
const double *x,
double a,
const double *y,
double b,
60 double *out, std::size_t n);
65void fusedShiftScaleMul(
const double *x,
double sub,
double mul,
66 double *out, std::size_t n);
71void fusedShiftScaleDiv(
const double *x,
double sub,
double div,
72 double *out, std::size_t n);
77void fusedAbsAffine(
const double *x,
double scale,
double offset,
78 double *out, std::size_t n);
82void fusedAbsDiff(
const double *x,
const double *y,
double *out, std::size_t n);
86void fusedAbsShiftDiv(
const double *x,
double sub,
double div,
87 double *out, std::size_t n);
100enum class UnaryAffineFn { Sqrt, Floor, Ceil, Fix, Round };
101void fusedUnaryAffine(
const double *x,
double scale,
double offset,
102 UnaryAffineFn fn,
double *out, std::size_t n);
108void fusedUnaryShiftDiv(
const double *x,
double sub,
double div,
109 UnaryAffineFn fn,
double *out, std::size_t n);
114void fusedSqAffine(
const double *x,
double scale,
double offset,
115 double *out, std::size_t n);
119void fusedSqDiff(
const double *x,
const double *y,
double *out, std::size_t n);
123void fusedSqShiftDiv(
const double *x,
double sub,
double div,
124 double *out, std::size_t n);
130void fusedSqrtSumSq(
const double *x,
const double *y,
double *out, std::size_t n);
136void fusedSoftThreshold(
const double *x,
double t,
double *out, std::size_t n);
152enum class TransAffineFn { Exp, Expm1, Log, Log2, Log10, Sin, Cos, Tanh,
153 Sinh, Atan, Asinh, Asin, Acos, Acosh, Atanh,
155void fusedTransAffine(
const double *x,
double scale,
double offset,
156 TransAffineFn fn,
double *out, std::size_t n);
160void fusedTransShiftDiv(
const double *x,
double sub,
double div,
161 TransAffineFn fn,
double *out, std::size_t n);
171using Cx = std::complex<double>;
174void fusedAffineCx(
const Cx *x, Cx scale, Cx offset, Cx *out, std::size_t n);
176void fusedAxpbyCx(
const Cx *x, Cx a,
const Cx *y, Cx b, Cx *out, std::size_t n);
178void fusedShiftScaleMulCx(
const Cx *x, Cx sub, Cx mul, Cx *out, std::size_t n);
179void fusedShiftScaleDivCx(
const Cx *x, Cx sub, Cx div, Cx *out, std::size_t n);
191void fusedSqAffineCx(
const Cx *x, Cx scale, Cx offset,
bool affine,
192 Cx *out, std::size_t n);
193void fusedSqDiffCx(
const Cx *x,
const Cx *y, Cx *out, std::size_t n);
197void fusedSqDiffScalarCx(
const Cx *z, Cx c,
bool rev, Cx *out, std::size_t n);
199void fusedSqrtSumSqCx(
const Cx *x,
const Cx *y, Cx *out, std::size_t n);
201void fusedSqShiftDivCx(
const Cx *x, Cx sub, Cx div, Cx *out, std::size_t n);
205void fusedSqrtAffineCx(
const Cx *x, Cx scale, Cx offset,
bool affine,
206 Cx *out, std::size_t n);
207void fusedSqrtShiftDivCx(
const Cx *x, Cx sub, Cx div, Cx *out, std::size_t n);
213void fusedRoundLikeAffineCx(
const Cx *x, Cx scale, Cx offset,
bool affine,
214 UnaryAffineFn fn, Cx *out, std::size_t n);
215void fusedRoundLikeShiftDivCx(
const Cx *x, Cx sub, Cx div, UnaryAffineFn fn,
216 Cx *out, std::size_t n);
221void fusedTransAffineCx(
const Cx *x, Cx scale, Cx offset,
bool affine,
222 TransAffineFn fn, Cx *out, std::size_t n);
223void fusedTransShiftDivCx(
const Cx *x, Cx sub, Cx div, TransAffineFn fn,
224 Cx *out, std::size_t n);
228void fusedAbsAffineCx(
const Cx *x, Cx scale, Cx offset,
bool affine,
229 double *out, std::size_t n);
230void fusedAbsShiftDivCx(
const Cx *x, Cx sub, Cx div,
double *out, std::size_t n);
231void fusedAbsDiffCx(
const Cx *x,
const Cx *y,
double *out, std::size_t n);
233void fusedAbsDiffScalarCx(
const Cx *z, Cx c,
double *out, std::size_t n);
237void fusedSoftThresholdCx(
const Cx *x,
double t, Cx *out, std::size_t n);
250void fusedAffineScalar(
const double *x,
double scale,
double offset,
double *out, std::size_t n);
251void fusedAbsAffineScalar(
const double *x,
double scale,
double offset,
double *out, std::size_t n);
252void fusedAbsShiftDivScalar(
const double *x,
double sub,
double div,
double *out, std::size_t n);
253void fusedAbsDiffScalar(
const double *x,
const double *y,
double *out, std::size_t n);
254void fusedSqAffineScalar(
const double *x,
double scale,
double offset,
double *out, std::size_t n);
255void fusedSqShiftDivScalar(
const double *x,
double sub,
double div,
double *out, std::size_t n);
256void fusedSqDiffScalar(
const double *x,
const double *y,
double *out, std::size_t n);