Rate This Document
Findability
Accuracy
Completeness
Readability

svml128_pow_f?

Compute the value of x raised to the power of y. Both x and y are vectors.

Interface Definition

C interface:

float32x4_t svml128_pow_f32(float32x4_t src1, float32x4_t src2);

float64x2_t svml128_pow_f64(float64x2_t src1, float64x2_t src2);

Parameters

Parameter

Type

Description

Input/Output

src1

  • For svml128_pow_f32, src1 is of single-precision floating-point type.
  • For svml128_pow_f64, src1 is of double-precision floating-point type.

Floating-point value of the input vector

Input

src2

  • For svml128_pow_f32, src2 is of single-precision floating-point type.
  • For svml128_pow_f64, src2 is of double-precision floating-point type.

Floating-point value of the input vector

Input

Return Value

  • If x is greater than 0 and y is a decimal, the result of x raised to the power of y is returned. The value range is r ∈ (-INF, +INF).
  • If x is -0 and y is a negative odd number, the return value is -∞. If x is ±0 and y is a negative number, the return value is +∞.
  • If x is ±0 and y is a positive odd number, the return value is ±0. If x is ±0, y is a positive number, the return value is +0.
  • If x is ±1 and y is any value, the return value is +1.
  • If x is any value and y is ±0, the return value is +1.
  • If x is less than +0 and y is a decimal, the return value is NaN.
  • If |x| is less than 1 and y is -∞, the return value is +∞. If |x| is greater than 1 and y is -∞, the return value is +0.
  • If |x| is less than 1 and y is +∞, the return value is +0. If |x| is greater than 1 and y is +∞, the return value is +∞.
  • If x is -∞ and y is a negative odd number, the return value is -0. If x is -∞ and y is a negative number, the return value is +0.
  • If x is -∞ and y is a positive odd number, the return value is -∞. If x is -∞ and y is a positive number, the return value is +∞.
  • If x is +∞ and y is less than +0, the return value is +0. If x is +∞ and y is greater than or equal to +0, the return value is +∞.
  • If x and y are both large finite numbers, the return value is ±∞.
  • If both x and y are NaN, the return value is NaN.

Dependencies

C: "ksvml.h"

Examples

C interface:
    float32x4_t src = {0.0f, 2.0f, INFINITY, NAN};
    float32x4_t src2 = {0.0f, 2.0f, INFINITY, NAN};
    float32x4_t dst = svml128_pow_f32(src, src2);
    printf("%.15g  %.15g  %.15g  %.15g\n", dst[0], dst[1], dst[2], dst[3]); 
    /**
     *  Output dst:
     *     1  4  inf  nan
     *
     */