| MF_Rows_rotate_buf
 | MD_Rows_rotate_buf | 
ME_Rows_rotate_buf |   
| MCF_Rows_rotate_buf | 
MCD_Rows_rotate_buf | 
MCE_Rows_rotate_buf |   
| MI_Rows_rotate_buf | MBI_Rows_rotate_buf | MSI_Rows_rotate_buf | MLI_Rows_rotate_buf | MQI_Rows_rotate_buf |   
| MU_Rows_rotate_buf | MUB_Rows_rotate_buf | MUS_Rows_rotate_buf | MUL_Rows_rotate_buf | MUQ_Rows_rotate_buf |  
  | 
| Function | efficient 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/Delphi | uses 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/Delphi | uses MFstd;
 function cudaMF_Rows_rotate_buf( d_MA:fMatrix; ht, len:UIntSize; pos:Integer; d_MBuf:fMatrix ): IntBool;
 |  
  | 
| Description | MAi,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.  |  
  | 
 |