MF_fhexprint MD_fhexprint ME_fhexprint
MCF_fhexprint MCD_fhexprint MCE_fhexprint
MI_fhexprintMBI_fhexprintMSI_fhexprintMLI_fhexprintMQI_fhexprint
MU_fhexprintMUB_fhexprintMUS_fhexprintMUL_fhexprintMUQ_fhexprint
FunktionMatrix im Hexadezimal-Format in einen Stream schreiben
Syntax C/C++#include <MFstd.h>
void MF_fhexprint( FILE *stream, fMatrix MA, ui ht, ui len, unsigned linewidth );
C++ MatObj#include <OptiVec.h>
void matrix<T>::fhexprint( FILE *stream, unsigned linewidth );
Pascal/Delphiuses MFstd;
{Delphi-Version:}
  procedure MF_fhexprint( var Stream:TextFile; MA:fMatrix; ht, len:UIntSize; linewidth:UInt );
{Turbo Pascal-Version:}
  procedure MF_fhexprint( var Stream:Text; MA:fMatrix; ht, len:UIntSize; linewidth:UInt );
CUDA-Funktion C/C++#include <cudaMFstd.h>
int cudaMF_fhexprint( FILE *stream, fMatrix d_MA, ui ht, ui len );
int cudaMF_fhexprint_buf( FILE *stream, fMatrix d_MA, ui ht, ui len, fVector h_Wk );
CUDA-Funktion Pascal/Delphiuses MFstd;
function cudaMF_fhexprint( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize ): IntBool;
function cudaMF_fhexprint_buf( var Stream:TextFile; d_MA:fMatrix; ht, len:UIntSize; h_Wk:fVector ): IntBool;
BeschreibungDie Matrix A wird im Hexadezimal-Format 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?_fhexprint_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?_fhexprint eingespart, so dass cudaM?_fhexprint_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,   MF_fprint,   Kap. 14

MatrixLib Inhaltsverzeichnis  OptiVec Home