DSPLIB User Guide
DSPLIB_svd_diag_ci.cpp File Reference

Introduction

Version
0.1 - Aug 2023 : Initial Version

Definition in file DSPLIB_svd_diag_ci.cpp.

Go to the source code of this file.

Functions

template<typename dataType >
void DSPLIB_diag_proc_init_ci (DSPLIB_kernelHandle handle)
 
template void DSPLIB_diag_proc_init_ci< float > (DSPLIB_kernelHandle handle)
 
template void DSPLIB_diag_proc_init_ci< double > (DSPLIB_kernelHandle handle)
 
template<typename dataType >
dataType constEpsilon ()
 
template<>
float constEpsilon< float > ()
 
template<>
double constEpsilon< double > ()
 
template<typename dataType >
void DSPLIB_diag_epsilon_ci (dataType *diag, dataType *superdiag, dataType *epsilon, int32_t Ncols, uint8_t *pBlock)
 Updates "epsilon" value based on absolute max values from "diag" and "superdiag" vectors. More...
 
template void DSPLIB_diag_epsilon_ci< float > (float *diag, float *superdiag, float *epsilon, int32_t Ncols, uint8_t *pBlock)
 
template void DSPLIB_diag_epsilon_ci< double > (double *diag, double *superdiag, double *epsilon, int32_t Ncols, uint8_t *pBlock)
 
template<typename dataType >
uint64_t movePredicate (__vpred pred)
 Moves predicate register to a 64-bit register. More...
 
template<>
uint64_t movePredicate< float > (__vpred pred)
 
template<>
uint64_t movePredicate< double > (__vpred pred)
 
template<typename dataType >
void DSPLIB_diag_rotation_check_ci (dataType *diag, dataType *superdiag, dataType epsilon, int32_t *m, int32_t *rotation_test, int32_t Ncols, uint8_t *pBlock)
 Updates values of "m" and "rotation_test" flag vased on the values present in "diag", "superdiag" and "epsilon". More...
 
template void DSPLIB_diag_rotation_check_ci< float > (float *diag, float *superdiag, float epsilon, int32_t *m, int32_t *rotation_test, int32_t Ncols, uint8_t *pBlock)
 
template void DSPLIB_diag_rotation_check_ci< double > (double *diag, double *superdiag, double epsilon, int32_t *m, int32_t *rotation_test, int32_t Ncols, uint8_t *pBlock)
 
template<typename dataType >
void DSPLIB_diag_negate_v_ci (dataType *V, int32_t Ncols, int32_t colVStride, uint8_t *pBlock)
 Negates the values of a row in V. More...
 
template void DSPLIB_diag_negate_v_ci< float > (float *V, int32_t Ncols, int32_t colVStride, uint8_t *pBlock)
 
template void DSPLIB_diag_negate_v_ci< double > (double *V, int32_t Ncols, int32_t colVStride, uint8_t *pBlock)
 
template<typename dataType >
void DSPLIB_diag_sqrt_ci (dataType *superdiag, dataType *diag, int32_t length, uint8_t *pBlock)
 Calculates the reciprocal of square-roots of "diag" and "superdiag" vectors. More...
 
template void DSPLIB_diag_sqrt_ci< float > (float *superdiag, float *diag, int32_t length, uint8_t *pBlock)
 
template void DSPLIB_diag_sqrt_ci< double > (double *superdiag, double *diag, int32_t length, uint8_t *pBlock)
 
template<typename dataType >
void DSPLIB_diag_proc_ci (dataType *V, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowVStride, dataType *cV, dataType *sV, uint8_t *pBlock)
 Updates rows of V' and U' based on the precalculated cV/cU and sV/sU vectors. More...
 
template void DSPLIB_diag_proc_ci< float > (float *V, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowVStride, float *cV, float *sV, uint8_t *pBlock)
 
template void DSPLIB_diag_proc_ci< double > (double *V, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowVStride, double *cV, double *sV, uint8_t *pBlock)
 
template<typename dataType >
void DSPLIB_diag_rotation_proc_ci (dataType *U, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowUStride, dataType *cU, dataType *sU, uint8_t *pBlock)
 Updates rows of U' based on the precalculated cU and sU vectors. More...
 
template void DSPLIB_diag_rotation_proc_ci< float > (float *U, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowUStride, float *cU, float *sU, uint8_t *pBlock)
 
template void DSPLIB_diag_rotation_proc_ci< double > (double *U, int32_t startRow, int32_t Nrows, int32_t Ncols, int32_t rowUStride, double *cU, double *sU, uint8_t *pBlock)
 

Function Documentation

◆ DSPLIB_diag_proc_init_ci()

template<typename dataType >
void DSPLIB_diag_proc_init_ci ( DSPLIB_kernelHandle  handle)

Definition at line 36 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_proc_init_ci< float >()

template void DSPLIB_diag_proc_init_ci< float > ( DSPLIB_kernelHandle  handle)

◆ DSPLIB_diag_proc_init_ci< double >()

template void DSPLIB_diag_proc_init_ci< double > ( DSPLIB_kernelHandle  handle)

◆ constEpsilon()

template<typename dataType >
dataType constEpsilon ( )
inline

◆ constEpsilon< float >()

template<>
float constEpsilon< float > ( )
inline

Definition at line 91 of file DSPLIB_svd_diag_ci.cpp.

◆ constEpsilon< double >()

template<>
double constEpsilon< double > ( )
inline

Definition at line 92 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_epsilon_ci()

template<typename dataType >
void DSPLIB_diag_epsilon_ci ( dataType *  diag,
dataType *  superdiag,
dataType *  epsilon,
int32_t  Ncols,
uint8_t *  pBlock 
)

Updates "epsilon" value based on absolute max values from "diag" and "superdiag" vectors.

Definition at line 98 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_epsilon_ci< float >()

template void DSPLIB_diag_epsilon_ci< float > ( float *  diag,
float *  superdiag,
float *  epsilon,
int32_t  Ncols,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_epsilon_ci< double >()

template void DSPLIB_diag_epsilon_ci< double > ( double *  diag,
double *  superdiag,
double *  epsilon,
int32_t  Ncols,
uint8_t *  pBlock 
)

◆ movePredicate()

template<typename dataType >
uint64_t movePredicate ( __vpred  pred)
inline

Moves predicate register to a 64-bit register.

◆ movePredicate< float >()

template<>
uint64_t movePredicate< float > ( __vpred  pred)
inline

Definition at line 161 of file DSPLIB_svd_diag_ci.cpp.

◆ movePredicate< double >()

template<>
uint64_t movePredicate< double > ( __vpred  pred)
inline

Definition at line 163 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_rotation_check_ci()

template<typename dataType >
void DSPLIB_diag_rotation_check_ci ( dataType *  diag,
dataType *  superdiag,
dataType  epsilon,
int32_t *  m,
int32_t *  rotation_test,
int32_t  Ncols,
uint8_t *  pBlock 
)

Updates values of "m" and "rotation_test" flag vased on the values present in "diag", "superdiag" and "epsilon".

Definition at line 170 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_rotation_check_ci< float >()

template void DSPLIB_diag_rotation_check_ci< float > ( float *  diag,
float *  superdiag,
float  epsilon,
int32_t *  m,
int32_t *  rotation_test,
int32_t  Ncols,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_rotation_check_ci< double >()

template void DSPLIB_diag_rotation_check_ci< double > ( double *  diag,
double *  superdiag,
double  epsilon,
int32_t *  m,
int32_t *  rotation_test,
int32_t  Ncols,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_negate_v_ci()

template<typename dataType >
void DSPLIB_diag_negate_v_ci ( dataType *  V,
int32_t  Ncols,
int32_t  colVStride,
uint8_t *  pBlock 
)

Negates the values of a row in V.

Definition at line 287 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_negate_v_ci< float >()

template void DSPLIB_diag_negate_v_ci< float > ( float *  V,
int32_t  Ncols,
int32_t  colVStride,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_negate_v_ci< double >()

template void DSPLIB_diag_negate_v_ci< double > ( double *  V,
int32_t  Ncols,
int32_t  colVStride,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_sqrt_ci()

template<typename dataType >
void DSPLIB_diag_sqrt_ci ( dataType *  superdiag,
dataType *  diag,
int32_t  length,
uint8_t *  pBlock 
)

Calculates the reciprocal of square-roots of "diag" and "superdiag" vectors.

Definition at line 339 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_sqrt_ci< float >()

template void DSPLIB_diag_sqrt_ci< float > ( float *  superdiag,
float *  diag,
int32_t  length,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_sqrt_ci< double >()

template void DSPLIB_diag_sqrt_ci< double > ( double *  superdiag,
double *  diag,
int32_t  length,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_proc_ci()

template<typename dataType >
void DSPLIB_diag_proc_ci ( dataType *  V,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowVStride,
dataType *  cV,
dataType *  sV,
uint8_t *  pBlock 
)

Updates rows of V' and U' based on the precalculated cV/cU and sV/sU vectors.

Definition at line 413 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_proc_ci< float >()

template void DSPLIB_diag_proc_ci< float > ( float *  V,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowVStride,
float *  cV,
float *  sV,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_proc_ci< double >()

template void DSPLIB_diag_proc_ci< double > ( double *  V,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowVStride,
double *  cV,
double *  sV,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_rotation_proc_ci()

template<typename dataType >
void DSPLIB_diag_rotation_proc_ci ( dataType *  U,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowUStride,
dataType *  cU,
dataType *  sU,
uint8_t *  pBlock 
)

Updates rows of U' based on the precalculated cU and sU vectors.

Definition at line 845 of file DSPLIB_svd_diag_ci.cpp.

◆ DSPLIB_diag_rotation_proc_ci< float >()

template void DSPLIB_diag_rotation_proc_ci< float > ( float *  U,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowUStride,
float *  cU,
float *  sU,
uint8_t *  pBlock 
)

◆ DSPLIB_diag_rotation_proc_ci< double >()

template void DSPLIB_diag_rotation_proc_ci< double > ( double *  U,
int32_t  startRow,
int32_t  Nrows,
int32_t  Ncols,
int32_t  rowUStride,
double *  cU,
double *  sU,
uint8_t *  pBlock 
)