# CxMul1D

AnalysisLibErrType CxMul1D (double arrayXReal[], double arrayXImg[], double arrayYReal[], double arrayYImg[], int numberOfElements, double outputReal[], double outputImg[]);

## Purpose

Multiplies two complex 1D arrays. CxMul1D obtains the element of the resulting complex array using the following formulas:

outputReali = arrayXReali × arrayYReali — arrayXImgi × arrayYImgi

outputImgi = arrayXReali × arrayYImgi + arrayXImgi × arrayYReali

CxMul1D can perform the operations in place; that is, the input and output complex arrays can be the same.

## Parameters

Input
Name | Type | Description
arrayXReal | double-precision array | Real part of the first array to multiply.
arrayXImg | double-precision array | Imaginary part of the first array to multiply.
arrayYReal | double-precision array | Real part of the second array to multiply.
arrayYImg | double-precision array | Imaginary part of the second array to multiply.
numberOfElements | integer | Number of elements to multiply.
Output
Name | Type | Description
outputReal | double-precision array | Real part of the result of the complex array multiplication.
outputImg | double-precision array | Imaginary part of the result of the complex array multiplication.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.