MF_fhexprint
| MD_fhexprint |
ME_fhexprint |
MCF_fhexprint |
MCD_fhexprint |
MCE_fhexprint |
MI_fhexprint | MBI_fhexprint | MSI_fhexprint | MLI_fhexprint | MQI_fhexprint |
MU_fhexprint | MUB_fhexprint | MUS_fhexprint | MUL_fhexprint | MUQ_fhexprint |
|
Funktion | Matrix 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/Delphi | uses 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/Delphi | uses 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;
|
|
Beschreibung | Die 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.
|
|
Fehlerbehandlung | Falls 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. |
|
|