vec_xxmadd

Purpose

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

Syntax

d=vec_xxmadd(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)