VF_chexprint | VD_chexprint | VE_chexprint |
VCF_chexprint | VCD_chexprint | VCE_chexprint |
VPF_chexprint | VPD_chexprint | VPE_chexprint |
VI_chexprint | VBI_chexprint | VSI_chexprint | VLI_chexprint | VQI_chexprint |
VU_chexprint | VUB_chexprint | VUS_chexprint | VUL_chexprint | VUI_chexprint |
|
Funktion | einen Vektor im Hexadezimal-Format auf dem Bildschirm ausgeben. Nur für Konsolenanwendungen. |
|
Syntax C/C++ | #include <VFstd.h>
void VF_chexprint( fVector X, ui size, unsigned nperline ); |
C++ VecObj | #include <OptiVec.h>
void vector<T>::chexprint( unsigned nperline ); |
Pascal/Delphi | uses VFstd;
procedure VF_chexprint( X:fVector; size:UIntSize; nperline:UInt ); |
|
CUDA-Funktion C/C++ | #include <cudaVFstd.h>
int cudaVF_chexprint( fVector d_X, ui size, unsigned nperline );
int cudaVF_chexprint_buf( fVector d_X, ui size, unsigned nperline, fVector h_Wk );
|
CUDA-Funktion Pascal/Delphi | uses VFstd;
function cudaVF_chexprint( d_X:fVector; size:UIntSize; nperline:UInt ): IntBool;
function cudaVF_chexprint_buf( d_X:fVector; size:UIntSize; nperline:UInt; h_Wk:fVector ): IntBool;
|
|
Beschreibung | Nur Windows mit MS Visual C++ oder Borland / Embarcadero−Compilern:
size Elemente von X werden im Hexadezimal-Format auf dem Bildschirm (der "Console"; daher das "c" im Funktionsnamen) ausgegeben.
Die Ausgabe beginnt stets mit einer neuen Zeile. Dies kann zu einer Leerzeile zu Beginn führen.
Zu Beginn jeder Zeile steht der Index des ersten in diese Zeile geschriebenen Elementes. Danach folgen ein Doppelpunkt und die verlangten nperline Elemente des Vektors X.
Cartesisch-komplexe Zahlen werden in geschweifte Klammern gefasst, wobei der Imaginärteil durch ein Komma vom Realteil getrennt wird: {Re, Im}. Polar-komplexe Zahlen werden ebenfalls in geschweifte Klammern gefaßt, wobei der Mag- vom Arg-Teil durch ein at-Zeichen getrennt wird: {Mag @ Arg}.
Die Ausgabe erfolgt in das aktuelle Textfenster unter automatischer Anpassung an die Bildschirm-Daten des aktuellen Text-Modus. Sind mehr Zeilen erforderlich als auf einer Bildschirmseite Platz finden, wird ein Seitenumbruch durchgeführt und der Benutzer vor jeder neuen Seite aufgefordert, eine beliebige Taste zu drücken.
Die Anzahl pro Element ausgegebener Stellen richtet sich nach dem zur Verfügung stehenden Platz, also nach der Zeilenlänge und dem Parameter nperline.
Diese Familie von Funktionen ist nur für Konsolenanwendungen verwendbar. |
nur CUDA-Versionen: | cudaV?_chexprint_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?_chexprint eingespart, so dass cudaV?_chexprint_buf etwas schneller ist. |
Andere Windows−Compiler sowie Linux: |
Da hier die Textfenster-Breite und Höhe nicht ohne weiteres verfügbar sind, werden Aufrufe von V?_chexprint nach VF_hexprint umgeleitet. |
GCC-Windows-spezifisch: | Anders als VE_cprint, VCE_cprint, VPE_cprint, wo long doubles auf double abgeschnitten erscheinen, geben VE_chexprint, VCE_chexprint und VPE_chexprint alle Werte in voller 80-bit-Genauigkeit aus. |
|
Fehlerbehandlung | Wenn nperline die im aktuellen Text-Modus maximal mögliche Anzahl von Einträgen übersteigt, wird eine Fehlermeldung "Cannot use requested format (too many entries per line)." ausgegeben und die Ausgabe mit so vielen Einträgen pro Zeile durchgeführt wie möglich. |
|
|
|