1*412f47f9SXin Li /* 2*412f47f9SXin Li * Double-precision vector pow function. 3*412f47f9SXin Li * 4*412f47f9SXin Li * Copyright (c) 2020-2023, Arm Limited. 5*412f47f9SXin Li * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6*412f47f9SXin Li */ 7*412f47f9SXin Li 8*412f47f9SXin Li #include "mathlib.h" 9*412f47f9SXin Li #include "v_math.h" 10*412f47f9SXin Li V_NAME_D2(pow)11*412f47f9SXin Lifloat64x2_t VPCS_ATTR V_NAME_D2 (pow) (float64x2_t x, float64x2_t y) 12*412f47f9SXin Li { 13*412f47f9SXin Li float64x2_t z; 14*412f47f9SXin Li for (int lane = 0; lane < v_lanes64 (); lane++) 15*412f47f9SXin Li { 16*412f47f9SXin Li double sx = x[lane]; 17*412f47f9SXin Li double sy = y[lane]; 18*412f47f9SXin Li double sz = pow (sx, sy); 19*412f47f9SXin Li z[lane] = sz; 20*412f47f9SXin Li } 21*412f47f9SXin Li return z; 22*412f47f9SXin Li } 23