|Function||Read a vector in binary format from a stream|
|Syntax C/C++||#include <VFstd.h>
void VF_recall( fVector X, ui size, FILE *stream );
|C++ VecObj||#include <OptiVec.h>
void vector<T>::recall( FILE *stream );
procedure VF_recall( X:fVector; size:UIntSize; var Stream:FILE );
|CUDA function C/C++||#include <cudaVFstd.h>
int cudaVF_recall( fVector d_X, ui size, FILE *stream );
int cudaVF_recall_buf( fVector d_X, ui size, FILE *stream, fVector h_Wk );
|CUDA function Pascal/Delphi||uses VFstd;
function cudaVF_recall( X:fVector; size:UIntSize; var Stream:FILE ): IntBool;
function cudaVF_recall_buf( X:fVector; size:UIntSize; var Stream:FILE; h_Wk:fVector ): IntBool;
|Description||size elements of X are read from stream in binary format. Normally, these functions are used to retrieve data stored by the respective function of the VF_store family. The data type for reading and writing has to be the same. It is not possible to, e.g., store data by VF_store and recall them by VD_recall (in contrast to the corresponding write/read functions in ASCII format, see VF_read).
The VecObj version differs from the "normal" C/C++ version in that it reads vector objects, not only the vector elements. It first reads a ui, giving the size of the vector, and then size elements, whereas the V?_recall functions assume size as known and take it as an argument. Therefore, the VecObj function recall can be used only to read vector objects previously stored with the VecObj function store, but not vectors stored with one of the V?_store functions.
CUDA versions only: cudaV?_recall_buf takes a host vector h_Wk as additional argument. The latter serves as buffer memory and needs to be (at least) of the same size as X. By avoiding the need of cudaV?_recall to allocate its own buffer memory, cudaV?_recall_buf is slightly faster.
VectorLib Table of Contents OptiVec home