MU Library
vector.hpp File Reference
#include <cstdint>
#include "mu/vector/vector_error.hpp"
Include dependency graph for vector.hpp:

Go to the source code of this file.

Namespaces

 half_float
 
 mu
 
 mu::vector
 

Functions

mu::vector::VdmaError mu::vector::addElementwise (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Adds two float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::addElementwise (const half_float::half *lhs, const half_float::half *rhs, half_float::half *res, const uint64_t vectorDim)
 Adds two half-float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::subElementwise (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Subtracts two float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::subElementwise (const half_float::half *lhs, const half_float::half *rhs, half_float::half *res, const uint64_t vectorDim)
 Subtracts two half-float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::mulElementwise (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Multiplies two float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::mulElementwise (const half_float::half *lhs, const half_float::half *rhs, half_float::half *res, const uint64_t vectorDim)
 Multiplies two half-float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::squareElementwise (const float *src, float *res, const uint64_t vectorDim)
 Squares a float type vector elementwise. More...
 
mu::vector::VdmaError mu::vector::squareElementwise (const half_float::half *src, half_float::half *res, const uint64_t vectorDim)
 Squares a half-float type vector elementwise. More...
 
mu::vector::VdmaError mu::vector::divElementwise (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Divides float type lhs vector by rhs vector elementwise. More...
 
mu::vector::VdmaError mu::vector::divElementwise (const half_float::half *lhs, const half_float::half *rhs, half_float::half *res, const uint64_t vectorDim)
 Divides half-float type lhs vector by rhs vector elementwise. More...
 
mu::vector::VdmaError mu::vector::xorElementwise (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Performs bitwise XOR on the two bytestreams which have size of dimension multiplied by float size. More...
 
mu::vector::VdmaError mu::vector::xorElementwise (const half_float::half *lhs, const half_float::half *rhs, half_float::half *res, const uint64_t vectorDim)
 Performs bitwise XOR on the two bytestreams which have size of dimension multiplied by half-float size. More...
 
mu::vector::VdmaError mu::vector::addVectorToScalar (const float &scalar, const float *vector, float *res, const uint64_t vectorDim)
 Adds a single scalar value to a float type vector. More...
 
mu::vector::VdmaError mu::vector::addVectorToScalar (const half_float::half &scalar, const half_float::half *vector, half_float::half *res, const uint64_t vectorDim)
 Adds a single scalar value to a half-float type vector. More...
 
mu::vector::VdmaError mu::vector::subVectorToScalar (const float &scalar, const float *vector, float *res, const uint64_t vectorDim)
 Subtracts a scalar from a float type vector. More...
 
mu::vector::VdmaError mu::vector::subVectorToScalar (const half_float::half &scalar, const half_float::half *vector, half_float::half *res, const uint64_t vectorDim)
 Subtracts a scalar from a half-float type vector. More...
 
mu::vector::VdmaError mu::vector::mulVectorToScalar (const float &scalar, const float *vector, float *res, const uint64_t vectorDim)
 Multiplies a scalar to a float type vector. More...
 
mu::vector::VdmaError mu::vector::mulVectorToScalar (const half_float::half &scalar, const half_float::half *vector, half_float::half *res, const uint64_t vectorDim)
 Multiplies a scalar to a half-float type vector. More...
 
mu::vector::VdmaError mu::vector::divVectorToScalar (const float &scalar, const float *vector, float *res, const uint64_t vectorDim)
 Divides a float type vector by a scalar. More...
 
mu::vector::VdmaError mu::vector::divVectorToScalar (const half_float::half &scalar, const half_float::half *vector, half_float::half *res, const uint64_t vectorDim)
 Divides a half-float type vector by a scalar. More...
 
mu::vector::VdmaError mu::vector::xorVectorToScalar (const float &scalar, const float *vector, float *res, const uint64_t vectorDim)
 Performs XOR a scalar to a float type vector. More...
 
mu::vector::VdmaError mu::vector::xorVectorToScalar (const half_float::half &scalar, const half_float::half *vector, half_float::half *res, const uint64_t vectorDim)
 Performs XOR a scalar to a half-float type vector. More...
 
mu::vector::VdmaError mu::vector::addElementwiseReduce (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Adds two float type vectors elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::addElementwiseReduce (const half_float::half *lhs, const half_float::half *rhs, float *res, const uint64_t vectorDim)
 Adds two half-float type vectors elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::subElementwiseReduce (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Subtracts two float type vectors elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::subElementwiseReduce (const half_float::half *lhs, const half_float::half *rhs, float *res, const uint64_t vectorDim)
 Subtracts two half-float type vectors elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::mulElementwiseReduce (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Multiplies two float type vectors elementwise and sums up. (same as dotProduct) More...
 
mu::vector::VdmaError mu::vector::mulElementwiseReduce (const half_float::half *lhs, const half_float::half *rhs, float *res, const uint64_t vectorDim)
 Multiplies two half-float type vectors elementwise and sums up. (same as dotProduct) More...
 
mu::vector::VdmaError mu::vector::divElementwiseReduce (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Divides float type lhs vector by rhs vector elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::divElementwiseReduce (const half_float::half *lhs, const half_float::half *rhs, float *res, const uint64_t vectorDim)
 Divides half-float type lhs vector by rhs vector elementwise and sums up. More...
 
mu::vector::VdmaError mu::vector::dotProduct (const float *lhs, const float *rhs, float *res, const uint64_t vectorDim)
 Performs dot product on two float type vectors. (Alias function of mulElementwiseReduce) More...
 
mu::vector::VdmaError mu::vector::dotProduct (const half_float::half *lhs, const half_float::half *rhs, float *res, const uint64_t vectorDim)
 Performs dot product on two half-float type vectors. (Alias function of mulElementwiseReduce) More...
 
mu::vector::VdmaError mu::vector::equals (const float *lhs, const float *rhs, bool *res, const uint64_t vectorDim)
 Compares two float type vectors elementwise. More...
 
mu::vector::VdmaError mu::vector::equalsWithScalar (const float *vector, const float &scalar, bool *res, const uint64_t vectorDim)
 Compares float type vector with a scalar elementwise. More...
 
mu::vector::VdmaError mu::vector::isAllZero (const float *vector, bool *res, const uint64_t vectorDim)
 Check if all elements in a float type vector are zero. More...
 
mu::vector::VdmaError mu::vector::crc32 (const void *src, uint32_t &res, const uint64_t byteSize)
 Gets the CRC32 checksum of a buffer. More...
 
mu::vector::VdmaError mu::vector::crc32c (const void *src, uint32_t &res, const uint64_t byteSize)
 Gets the CRC32C checksum of a buffer. More...