1*5a02ffc3SAndrew Turner /* 2*5a02ffc3SAndrew Turner * Helpers for evaluating polynomials on siongle-precision scalar input, using 3*5a02ffc3SAndrew Turner * various schemes. 4*5a02ffc3SAndrew Turner * 5*5a02ffc3SAndrew Turner * Copyright (c) 2023, Arm Limited. 6*5a02ffc3SAndrew Turner * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 7*5a02ffc3SAndrew Turner */ 8*5a02ffc3SAndrew Turner 9*5a02ffc3SAndrew Turner #ifndef PL_MATH_POLY_SCALAR_F32_H 10*5a02ffc3SAndrew Turner #define PL_MATH_POLY_SCALAR_F32_H 11*5a02ffc3SAndrew Turner 12*5a02ffc3SAndrew Turner #include <math.h> 13*5a02ffc3SAndrew Turner 14*5a02ffc3SAndrew Turner /* Wrap scalar f32 helpers: evaluation of some scheme/order has form: 15*5a02ffc3SAndrew Turner [scheme]_[order]_f32. */ 16*5a02ffc3SAndrew Turner #define VTYPE float 17*5a02ffc3SAndrew Turner #define FMA fmaf 18*5a02ffc3SAndrew Turner #define VWRAP(f) f##_f32 19*5a02ffc3SAndrew Turner #include "poly_generic.h" 20*5a02ffc3SAndrew Turner #undef VWRAP 21*5a02ffc3SAndrew Turner #undef FMA 22*5a02ffc3SAndrew Turner #undef VTYPE 23*5a02ffc3SAndrew Turner 24*5a02ffc3SAndrew Turner #endif 25