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

SIMD Wrapper for 128 bit Single-Precision Floating point operations. More...

#include <AuxSimd.h>

Inheritance diagram for AuxPort::Simd::Float128:
AuxPort::Simd::FloatingPoint

Public Member Functions

 Float128 (const Float128 &float128)=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 128 bit Single-Precision Floating point operations.

Definition at line 80 of file AuxSimd.h.

Member Function Documentation

◆ add()

void AuxPort::Simd::Float128::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 83 of file AuxSimd.cpp.

◆ fma()

void AuxPort::Simd::Float128::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 141 of file AuxSimd.cpp.

◆ multiply()

void AuxPort::Simd::Float128::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 103 of file AuxSimd.cpp.

◆ sqrt()

void AuxPort::Simd::Float128::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 122 of file AuxSimd.cpp.


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