AuxPort 0.2
Modules for Audio Software Development
Loading...
Searching...
No Matches
AuxPort::Simd::Float256 Class Reference

SIMD Wrapper for 256 bit Single-precision floating point operations
More...

#include <AuxSimd.h>

Inheritance diagram for AuxPort::Simd::Float256:
AuxPort::Simd::FloatingPoint

Public Member Functions

 Float256 (const Float256 &float256)=default
 
void add (std::vector< float > &result, const std::vector< float > &vec1, const std::vector< float > &vec2) override
 Adds two vectors using SIMD extensions.
 
void multiply (std::vector< float > &result, const std::vector< float > &vec1, const std::vector< float > &vec2) override
 Multiples two vectors using SIMD extensions.
 
void sqrt (std::vector< float > &result, const std::vector< float > &vec) override
 Return square root of values in the vector using SIMD extensions.
 
void fma (std::vector< float > &result, const std::vector< float > &vec1, const std::vector< float > &vec2, const std::vector< float > &vec3) override
 Returns result after fused mutltiply-add using SIMD extensions. For example: result[i] will be equal to (vec1[i] * vec2[i]) + vec3[i].
 

Additional Inherited Members

Detailed Description

SIMD Wrapper for 256 bit Single-precision floating point operations

Definition at line 48 of file AuxSimd.h.

Member Function Documentation

◆ add()

void AuxPort::Simd::Float256::add ( std::vector< float > & result,
const std::vector< float > & vec1,
const std::vector< float > & vec2 )
overridevirtual

Adds two vectors using SIMD extensions.

Implements AuxPort::Simd::FloatingPoint.

Definition at line 3 of file AuxSimd.cpp.

◆ fma()

void AuxPort::Simd::Float256::fma ( std::vector< float > & result,
const std::vector< float > & vec1,
const std::vector< float > & vec2,
const std::vector< float > & vec3 )
overridevirtual

Returns result after fused mutltiply-add using SIMD extensions. For example: result[i] will be equal to (vec1[i] * vec2[i]) + vec3[i].

Implements AuxPort::Simd::FloatingPoint.

Definition at line 61 of file AuxSimd.cpp.

◆ multiply()

void AuxPort::Simd::Float256::multiply ( std::vector< float > & result,
const std::vector< float > & vec1,
const std::vector< float > & vec2 )
overridevirtual

Multiples two vectors using SIMD extensions.

Implements AuxPort::Simd::FloatingPoint.

Definition at line 23 of file AuxSimd.cpp.

◆ sqrt()

void AuxPort::Simd::Float256::sqrt ( std::vector< float > & result,
const std::vector< float > & vec )
overridevirtual

Return square root of values in the vector using SIMD extensions.

Implements AuxPort::Simd::FloatingPoint.

Definition at line 42 of file AuxSimd.cpp.


The documentation for this class was generated from the following files: