VF_fhexprint | VD_fhexprint | VE_fhexprint |
VCF_fhexprint | VCD_fhexprint | VCE_fhexprint |
VPF_fhexprint | VPD_fhexprint | VPE_fhexprint |
VI_fhexprint | VBI_fhexprint | VSI_fhexprint | VLI_fhexprint | VQI_fhexprint | |
VU_fhexprint | VUB_fhexprint | VUS_fhexprint | VUL_fhexprint | VUQ_fhexprint | VUI_fhexprint |
|
Funktion | Ausgabe eines Vektors im Hexadezimal-Format in einen Stream |
|
Syntax C/C++ | #include <VFstd.h>
void VF_fhexprint( FILE *stream, fVector X, ui size, unsigned nperline, unsigned linewidth ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::fhexprint( FILE *stream, unsigned nperline, unsigned linewidth ); |
Pascal/Delphi | uses VFstd;
procedure VF_fhexprint( var Stream:Text; X:fVector; size:UIntSize; nperline, linewidth:UInt ); |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
int cudaVF_fhexprint( FILE *stream, fVector d_X, ui size, unsigned nperline, unsigned linewidth );
int cudaVF_fhexprint_buf( FILE *stream, fVector d_X, ui size, unsigned nperline, unsigned linewidth, fVector h_Wk );
|
CUDA-Funktion Pascal/Delphi | uses VFstd;
function cudaVF_fhexprint( var Stream:Text; d_X:fVector; size:UIntSize; nperline, linewidth:UInt ): IntBool;
function cudaVF_fhexprint_buf( var Stream:Text; d_X:fVector; size:UIntSize; nperline, linewidth:UInt; h_Wk:fVector ): IntBool;
|
|
Beschreibung | size Elemente von X werden im Hexadezimal-Format in stream geschrieben, wobei nperline Einträge in jede Zeile der Breite linewidth aufgenommen werden.
Die Ausgabe beginnt immer mit einer neuen Zeile. Man beachte, dass hierdurch Leerzeilen entstehen können. Insbesondere bleibt die erste Zeile einer Datei für eine eventuelle Überschrift reserviert.
Zu Beginn jeder Zeile steht der Index des ersten in diese Zeile geschriebenen Elementes. Danach folgen ein Doppelpunkt und die verlangten nperline Elemente des Vectors X.
Cartesisch-komplexe Zahlen werden in geschweifte Klammern gefaßt, wobei der Imaginärteil durch ein Komma vom Realteil getrennt wird: {Re, Im}. Polar-komplexe Zahlen werden ebenfalls in geschweifte Klammern gefaßt und der Mag- vom Arg-Teil durch ein at-Zeichen getrennt: {Mag @ Arg}.
|
nur CUDA-Versionen: | cudaV?_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 cudaV?_fhexprint eingespart, so dass cudaV?_fhexprint_buf etwas schneller ist. |
|
Fehlerbehandlung | Wenn linewidth nicht für die geforderten nperline Einträge pro Zeile ausreicht, wird eine Fehlermeldung "Cannot use requested format (too many entries per line)." ausgegeben und die Ausgabe mit der maximal möglichen Anzahl von Einträgen pro Zeile durchgeführt. |
|
|
|