FflasFfpack
Data Structures | Namespaces | Macros | Functions
fflas_transpose.h File Reference

transpose the storage of the matrix (switch between row and col major mode) More...

#include "fflas-ffpack/utils/debug.h"
#include "fflas-ffpack/fflas/fflas.h"
#include "fflas-ffpack/utils/fflas_memory.h"
#include "fflas-ffpack/fflas/fflas_simd.h"

Data Structures

struct  BlockTransposeSIMD< Field, Simd, >
 

Namespaces

namespace  FFLAS
 
namespace  FFLAS::_ftranspose_impl
 

Macros

#define FFLAS_TRANSPOSE_BLOCKSIZE   32
 
#define LD(i)   R##i=Simd::loadu(A+lda*i)
 
#define ST(i)   Simd::storeu(B+ldb*i,R##i)
 

Functions

template<size_t bs, typename Field , typename BTSimd >
void not_inplace (const Field &F, const BTSimd &BTS, const size_t m, const size_t n, typename Field::ConstElement_ptr A, const size_t lda, typename Field::Element_ptr B, const size_t ldb)
 
template<size_t bs, typename Field , typename BTSimd >
void square_inplace (const Field &F, const BTSimd &BTS, const size_t m, typename Field::Element_ptr A, const size_t lda)
 
template<size_t bs, typename Field , typename BTSimd >
void nonsquare_inplace_v1 (const Field &F, const BTSimd &BTS, const size_t m, const size_t n, typename Field::Element_ptr A)
 
template<size_t bs, typename Field , typename BTSimd >
void nonsquare_inplace_v2 (const Field &F, const BTSimd &BTS, const size_t m, const size_t n, typename Field::Element_ptr A)
 

Detailed Description

transpose the storage of the matrix (switch between row and col major mode)

Macro Definition Documentation

◆ FFLAS_TRANSPOSE_BLOCKSIZE

#define FFLAS_TRANSPOSE_BLOCKSIZE   32

◆ LD

#define LD (   i)    R##i=Simd::loadu(A+lda*i)

◆ ST

#define ST (   i)    Simd::storeu(B+ldb*i,R##i)