15 #ifndef __IPSDKUTIL_INSTRUCTIONSETUTILS_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSETUTILS_H__ 18 #include <IPSDKUtil/InstructionSet/Pack.h> 30 template <ipsdk::eInstructionSet::domain IS,
typename T>
41 simd::mul<IS>(packIn1Re, packIn2Re, packOp1);
42 simd::mul<IS>(packIn1Im, packIn2Im, packOp2);
43 simd::sub<IS>(packOp1, packOp2, packOutRe);
45 simd::mul<IS>(packIn1Re, packIn2Im, packOp1);
46 simd::mul<IS>(packIn1Im, packIn2Re, packOp2);
47 simd::add<IS>(packOp1, packOp2, packOutIm);
56 #endif // __IPSDKUTIL_INSTRUCTIONSETUTILS_H__ Definition: PackDecl.h:30
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDK_FORCEINLINE void complexMultiply(const simd::Pack< IS, T > &packIn1Re, const simd::Pack< IS, T > &packIn1Im, const simd::Pack< IS, T > &packIn2Re, const simd::Pack< IS, T > &packIn2Im, simd::Pack< IS, T > &packOutRe, simd::Pack< IS, T > &packOutIm)
Complex multiplication.
Definition: InstructionSetArithmeticUtils.h:32
mul function; returns the product of 2 input pack operandes
sub function; returns the result of an arithmetic substraction on all the elements of 2 input pack op...
add function; returns the result of an arithmetic add operation on all the elements of 2 input pack o...