MF_cprint MD_cprint ME_cprint
MCF_cprint MCD_cprint MCE_cprint
MI_cprintMBI_cprintMSI_cprintMLI_cprintMQI_cprint
MU_cprintMUB_cprintMUS_cprintMUL_cprintMUQ_cprint
FunktionMatrix auf dem Bildschirm ausgeben (nur für Konsolen-Anwendungen)
Syntax C/C++#include <MFstd.h>
void MF_cprint( fMatrix MA, ui ht, ui len );
C++ MatObj#include <OptiVec.h>
void matrix<T>::cprint();
Pascal/Delphiuses MFstd;
procedure MF_cprint( MA:fMatrix; ht, len:UIntSize );
CUDA-Funktion C/C++#include <cudaMFstd.h>
int cudaMF_cprint( fMatrix d_MA, ui ht, ui len );
int cudaMF_cprint_buf( fMatrix d_MA, ui ht, ui len, fVector h_Wk );
CUDA-Funktion Pascal/Delphiuses MFstd;
function cudaMF_cprint( d_MA:fMatrix; ht, len:UIntSize ): IntBool;
function cudaMF_cprint_buf( d_MA:fMatrix; ht, len:UIntSize; h_Wk:fVector ): IntBool;
BeschreibungDie Matrix A wird auf dem Bildschirm ausgegeben. Jede Bildschirm-Zeile entspricht einer Zeile der Matrix. Die Zeilen werden von 0 and numeriert. Falls nötig, werden die Zeilen am Bildschirmrand abgeschnitten. Falls mehr Zeilen auszugeben sind, als auf den Bildschirm passen, wird die Matrix in mehrere Seiten aufgespalten.
Cartesisch-komplexe Zahlen werden in geschweiften Klammern mit einem Komma zwischen dem Real- und dem Imaginärteil geschrieben: {Re, Im}.

Im Gegensatz zu MF_write kann die automatische Wahl des Ausgabeformats nicht verändert werden. Die Anzahl der pro Element ausgegebenen Stellen richtet sich nach dem zur Verfügung stehenden Platz, der wiederum durch die Spaltenzahl len und die Zeilenbreite des Bildschirms bestimmt wird.

Diese Familie von Funktionen ist nur für Konsolenanwendungen verwendbar.
 

nur CUDA-Versionen: cudaM?_cprint_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?_cprint eingespart, so dass cudaM?_cprint_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 M?_cprint nach MF_print umgeleitet.
Dieselbe Umleitung erfolgt auch für Visual C++ mit statischer Laufzeitbibliothek, hier wegen Inkompatibilitäten zwischen den verschiedenen Visual C++-Versionen.
 
 
GCC-Windows-spezifisch:Zwar unterstützt GCC auch in der Windows-Portierung den 80-bit-Fließkomma-Typ long double. Die I/O-Routinen verwenden aber die Laufzeitbibliothek von Visual C++, wo 80-bit-long doubles schon seit langem nicht mehr vorkommen. Dies bedeutet, dass ME_cprint und MCE_cprint bei GCC nur mit double-Genauigkeit und innerhalb des für doubles möglichen Größenbereiches arbeiten (also Eingabewerte ggf. auf diesen abgeschnitten werden). Um wenigstens eine Ausgabe im Hexadezimal-Format in voller Genauigkeit zu erhalten, rufe man ME_chexprint etc.
FehlerbehandlungWenn die Zahl der Spalten die maximal im derzeitigen Text-Modus mögliche Zahl der Einträge übersteigt, wird eine Fehlermeldung "Cannot use requested format (too many entries per line)!" ausgegeben; in diesem Fall, werden die Zeilen abgeschnitten und das Programm danach fortgesetzt.
QuerverweisMF_fprint,   MF_chexprint,   VF_cprint,   Kap. 14

MatrixLib Inhaltsverzeichnis  OptiVec Home