vec_xxnpmadd

Purpose

Returns a vector containing the results of performing a fused double cross complex multiply-add operation for each corresponding set of elements of the given vectors.

Syntax

d=vec_xxnpmadd(a, b, c)

Result and argument types

The following table describes the types of the returned value and the function arguments.

d a b c
vector4double vector4double vector4double vector4double

Result value

The values of the elements of the result are specified in the formula.

Formula

d[0] = - ( ( a[1] × b[1] ) + c[0] )
d[1] =   ( ( a[0] × b[1] ) + c[1] )
d[2] = - ( ( a[3] × b[3] ) + c[2] )
d[3] =   ( ( a[2] × b[3] ) + c[3] )

Example

a =  (   1.0,  2.0,   3.0,  4.0)
b =  (   0.0, 10.0,   0.0, 20.0)
c =  (  10.0, 10.0,  10.0, 10.0)
d: ( -30.0, 20.0, -90.0, 70.0)