MF_Rows_rotate_buf MD_Rows_rotate_buf ME_Rows_rotate_buf
MCF_Rows_rotate_buf MCD_Rows_rotate_buf MCE_Rows_rotate_buf
Functionefficient row rotation (moving of whole rows), using specified buffer memory
Syntax C/C++#include <MFstd.h>
void MF_Rows_rotate_buf( fMatrix MA, ui ht, ui len, int pos, fMatrix MBuf );
C++ MatObj#include <OptiVec.h>
void matrix<T>::Rows_rotate_buf( const int pos, const matrix<T> MBuf );
Pascal/Delphiuses MFstd;
procedure MF_Rows_rotate_buf( MA:fMatrix; ht, len:UIntSize; pos:Integer; MBuf:fMatrix );
CUDA function C/C++#include <cudaMFstd.h>
int cudaMF_Rows_rotate_buf( fMatrix d_MA, ui ht, ui len, int pos, fMatrix d_MBuf );
CUDA function Pascal/Delphiuses MFstd;
function cudaMF_Rows_rotate_buf( d_MA:fMatrix; ht, len:UIntSize; pos:Integer; d_MBuf:fMatrix ): IntBool;
DescriptionMAi,j = MAi, len-pos+j,   j=0,..,pos-1
MAi,j = MAi, j-pos,      j=pos,...,len-1
MAi,j = MAi-pos, j,      i=pos,...,ht-1

This function is a more efficient variant of MF_Rows_rotate. Instead of internally allocating the necessary work-space, it takes the matrix MBuf as buffer memory. MBuf must be a matrix generated by the OptiVec memory management functions (MF_matrix etc.). The size (i.e., the number of elements, ht*len) of MBuf must be at least the same size as MA.

See alsoMF_Rows_rotate,   MF_Cols_rotate_buf,   chapter 7

MatrixLib Table of Contents  OptiVec home