mathX.h (2544B)
1 /* Copyright (C) 2014-2019, 2021, 2023, 2025 Vincent Forest (vaplv@free.fr) 2 * 3 * The RSIMD library is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published 5 * by the Free Software Foundation, either version 3 of the License, or 6 * (at your option) any later version. 7 * 8 * The RSIMD library is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with the RSIMD library. If not, see <http://www.gnu.org/licenses/>. */ 15 16 #include "rsimd.h" 17 18 RSIMD_API RSIMD_vXf_T__ 19 RSIMD_vXf__(copysign) 20 (const RSIMD_vXf_T__ x, 21 const RSIMD_vXf_T__ y); 22 23 RSIMD_API RSIMD_vXf_T__ 24 RSIMD_vXf__(floor) 25 (const RSIMD_vXf_T__ x); 26 27 RSIMD_API RSIMD_vXf_T__ 28 RSIMD_vXf__(pow) 29 (const RSIMD_vXf_T__ x, 30 const RSIMD_vXf_T__ y); 31 32 /******************************************************************************* 33 * Exponentatial functions 34 ******************************************************************************/ 35 RSIMD_API RSIMD_vXf_T__ 36 RSIMD_vXf__(exp2) 37 (const RSIMD_vXf_T__ x); 38 39 RSIMD_API RSIMD_vXf_T__ 40 RSIMD_vXf__(exp) 41 (const RSIMD_vXf_T__ x); 42 43 RSIMD_API RSIMD_vXf_T__ 44 RSIMD_vXf__(exp10) 45 (const RSIMD_vXf_T__ x); 46 47 /******************************************************************************* 48 * Log functions 49 ******************************************************************************/ 50 RSIMD_API RSIMD_vXf_T__ 51 RSIMD_vXf__(log2) 52 (const RSIMD_vXf_T__ x); 53 54 RSIMD_API RSIMD_vXf_T__ 55 RSIMD_vXf__(log) 56 (const RSIMD_vXf_T__ x); 57 58 RSIMD_API RSIMD_vXf_T__ 59 RSIMD_vXf__(log10) 60 (const RSIMD_vXf_T__ x); 61 62 /******************************************************************************* 63 * Trigonometric functions 64 ******************************************************************************/ 65 RSIMD_API RSIMD_vXf_T__ 66 RSIMD_vXf__(sin) 67 (const RSIMD_vXf_T__ v); 68 69 RSIMD_API RSIMD_vXf_T__ 70 RSIMD_vXf__(asin) 71 (const RSIMD_vXf_T__ v); 72 73 RSIMD_API RSIMD_vXf_T__ 74 RSIMD_vXf__(cos) 75 (const RSIMD_vXf_T__ v); 76 77 RSIMD_API RSIMD_vXf_T__ 78 RSIMD_vXf__(acos) 79 (const RSIMD_vXf_T__ v); 80 81 RSIMD_API void 82 RSIMD_vXf__(sincos) 83 (const RSIMD_vXf_T__ v, 84 RSIMD_vXf_T__* RESTRICT s, 85 RSIMD_vXf_T__* RESTRICT c); 86 87 RSIMD_API RSIMD_vXf_T__ 88 RSIMD_vXf__(tan) 89 (const RSIMD_vXf_T__ v); 90 91 RSIMD_API RSIMD_vXf_T__ 92 RSIMD_vXf__(atan) 93 (const RSIMD_vXf_T__ v);