MF_write MD_write ME_write
MCF_write MCD_write MCE_write
MI_writeMBI_writeMSI_writeMLI_writeMQI_write
MU_writeMUB_writeMUS_writeMUL_writeMUQ_write
FunktionMatrix im ASCII-Format in einen Stream schreiben
Syntax C/C++#include <MFstd.h>
void MF_write( FILE *stream, fMatrix X, ui ht, ui len );
C++ MatObj#include <OptiVec.h>
void matrix<T>::write( FILE *stream  );
Pascal/Delphiuses MFstd;
{Delphi-Version:}
  procedure MF_write( var Stream:TextFile; MA:fMatrix; ht, len:UIntSize );
{Turbo Pascal-Version:}
  procedure MF_write( var Stream:Text; MA:fMatrix; ht, len:UIntSize );
CUDA-Funktion C/C++#include <cudaMFstd.h>
int cudaMF_write( FILE *stream, fMatrix d_MA, ui ht, ui len );
int cudaMF_write_buf( FILE *stream, fMatrix d_MA, ui ht, ui len, fVector h_Wk );
CUDA-Funktion Pascal/Delphiuses MFstd;
function cudaMF_write( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize ): IntBool;
function cudaMF_write_buf( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize; h_Wk:fVector ): IntBool;
BeschreibungDie Matrix A mit len Spalten und ht Zeilen wird im ASCII Format in stream geschrieben. stream muss bereits für Schreiboperationen im Text-Format geöffnet sein.

Das Zahlenformat und die Trennzeichen zwischen den einzelnen Spalten können über MF_setWriteFormat (nur C/C++) bzw. MF_setWriteSeparate modifiziert werden.

Daten im ASCII-Format zu speichern ist sinnvoll, wenn die Daten für menschliche Augen lesbar werden sollen oder wenn sie in andere Programme zu exportieren sind, die Zahlen nicht im Maschinen-Format lesen können. Zur Zwischenspeicherung von Daten, die später einmal wieder eingelesen werden sollen, vermeide man diese Funktionen aber so weit wie möglich. Die Funktionen-Paare der MF_store / MF_recall-Familie sind hier aus den folgenden Gründen überlegen: Umwandlung in das ASCII-Format ist zeitaufwendig, führt zu Rundungsfehlern und benötigt viel mehr Speicherplatz als Zahlen im Binär-Format.

nur CUDA-Versionen: cudaM?_write_buf übernimmt einen Host-Vektor h_Wk als zusätzliches Argument. Dieser dient als Pufferspeicher und muss (mindestens) dieselbe Größe haben wie X. Hierdurch wird die interne Bereitstellung von Pufferspeicher bei cudaM?_write eingespart, so dass cudaM?_write_buf etwas schneller ist.

QuerverweisMF_setWriteFormat,   MF_setWriteSeparate,   MF_read,   MF_store,   MF_print,   Kap. 14

MatrixLib Inhaltsverzeichnis  OptiVec Home