MF_fprint MD_fprint ME_fprint
MCF_fprint MCD_fprint MCE_fprint
MI_fprintMBI_fprintMSI_fprintMLI_fprintMQI_fprint
MU_fprintMUB_fprintMUS_fprintMUL_fprintMUQ_fprint
FunktionMatrix im ASCII-Format in einen Stream schreiben
Syntax C/C++#include <MFstd.h>
void MF_fprint( FILE *stream, fMatrix MA, ui ht, ui len, unsigned linewidth );
C++ MatObj#include <OptiVec.h>
void matrix<T>::fprint( FILE *stream, unsigned linewidth );
Pascal/Delphiuses MFstd;
{Delphi-Version:}
  procedure MF_fprint( var Stream:TextFile; MA:fMatrix; ht, len:UIntSize; linewidth:UInt );
{Turbo Pascal-Version:}
  procedure MF_fprint( var Stream:Text; MA:fMatrix; ht, len:UIntSize; linewidth:UInt );
CUDA-Funktion C/C++#include <cudaMFstd.h>
int cudaMF_fprint( FILE *stream, fMatrix d_MA, ui ht, ui len );
int cudaMF_fprint_buf( FILE *stream, fMatrix d_MA, ui ht, ui len, fVector h_Wk );
CUDA-Funktion Pascal/Delphiuses MFstd;
function cudaMF_fprint( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize ): IntBool;
function cudaMF_fprint_buf( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize; h_Wk:fVector ): IntBool;
BeschreibungDie Matrix A wird in stream geschrieben. Jede Zeile entspricht einer Zeile der Matrix. Die Zeilen werden von 0 an durchnumeriert. Falls die spezifizierte Zeilenbreite linewidth zu klein für die Ausgabe aller Spalten ist, werden die Zeilen abgeschnitten.
Die Ausgabe beginnt stets mit einer neuen Zeile. Dies kann zu einer Leerzeile zu Beginn führen. Insbesondere die erste Zeile einer Datei ist für eine mögliche Überschrift reserviert.
Cartesisch-komplexe Zahlen werden in geschweiften Klammern geschrieben mit einem Komma zwischen den Real- und dem Imaginär-Teil: {Re, Im}.

Im Unterschied zu MF_write kann das automatisch eingestellte Ausgabe-Format nicht geändert werden. Die Anzahl ausgegebener Stellen pro Element richtet sich nach dem zur Verfügung stehenden Platz, der seinerseits von den Parametern len und linewidth abhängt.

nur CUDA-Versionen: cudaM?_fprint_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?_fprint eingespart, so dass cudaM?_fprint_buf etwas schneller ist.

FehlerbehandlungFalls len die maximal mögliche Zahl von Einträgen bei der gewählten Zeilenbreite übersteigt, wird eine Fehlermeldung "Cannot use requested Format (too many entries per line)!" ausgegeben; in diesem Fall schneidet das Programm alle Zeilen nach der maximal möglichen Spaltenzahl ab.
QuerverweisMF_cprint,   Kap. 14

MatrixLib Inhaltsverzeichnis  OptiVec Home