MF_Cols_rotate_buf MD_Cols_rotate_buf ME_Cols_rotate_buf
MCF_Cols_rotate_buf MCD_Cols_rotate_buf MCE_Cols_rotate_buf
MI_Cols_rotate_bufMBI_Cols_rotate_bufMSI_Cols_rotate_bufMLI_Cols_rotate_bufMQI_Cols_rotate_buf
MU_Cols_rotate_bufMUB_Cols_rotate_bufMUS_Cols_rotate_bufMUL_Cols_rotate_bufMUQ_Cols_rotate_buf
Functionefficient column rotation (moving of whole rows), using specified buffer memory
Syntax C/C++#include <MFstd.h>
void MF_Cols_rotate_buf( fMatrix MA, ui ht, ui len, int pos, fMatrix MBuf );
C++ MatObj#include <OptiVec.h>
void matrix<T>::Cols_rotate_buf( const int pos, const matrix<T> MBuf );
Pascal/Delphiuses MFstd;
procedure MF_Cols_rotate_buf( MA:fMatrix; ht, len:UIntSize; pos:Integer; MBuf:fMatrix );
DescriptionMAi,j = MAht-pos+i, j,   i=0,..,pos-1
MAi,j = MAi-pos, j,      i=pos,...,ht-1

This function is a more efficient variant of MF_Cols_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_Cols_rotate,   MF_Rows_rotate_buf,   chapter 7

MatrixLib Table of Contents  OptiVec home