output to a file or stream

SYNOPSIS

#include "matrix.h"
void    iv_foutput(FILE *fp, IVEC *v)
void     m_foutput(FILE *fp, MAT  *A)
void    px_foutput(FILE *fp, PERM *pi)
void     v_foutput(FILE *fp, VEC  *v)
#include "zmatrix.h"
void     z_foutput(FILE *fp, complex z)
void    zm_foutput(FILE *fp, ZMAT *A)
void    zv_foutput(FILE *fp, ZVEC *v)

DESCRIPTION

These output is a representation of the respective objects to the file (or device, or pipe etc.) designated by the file pointer fp. The format in which data is printed out is meant to be both human and machine readable; that is, there is sufficient information for people to understand what is printed out, and furthermore, the format can be read in by the .._finput() and .._input() routines. An example of the format for matrices is given in the entry for the .._finput() routines. There are also the routines m_output(A), px_output(pi) and v_output(x) which are equivalent to m_foutput(stdout,A), px_foutput(stdout,pi) and v_foutput(stdout,x) respectively. Note that the .._output() routines are in fact just macros which translate into calls of these .._foutput() routines with ``fp = stdin''. In addition there are a number of routines for dumping the data structures in their entirety for debugging purposes. These routines are m_dump(fp,A), px_dump(fp,px), v_dump(fp,x), zm_dump(fp,zA) and zv_dump(fp,zv) where fp is a FILE *, A is a MAT *, px is a PERM * and x is a VEC *, zA is a ZMAT *, and zv is a ZVEC *. These print out pointers (as hex numbers), the maximum values of various quantities (such as max_dim for a vector), as well as all the quantities normally printed out. The output from these routines is not machine readable, and can be quite verbose. \strut

EXAMPLE

/* output A to stdout */
m_output(A);
/* ...or to file junk.out */
if ( (fp = fopen("junk.out","w")) == NULL )
    error(E_EOF,"my_function");
m_foutput(fp,A);
/* ...but for debugging, you may need... */
m_dump(stdout,A);

SEE ALSO: .._finput(), .._input()

SOURCE FILE: matrixio.c, zmatio.c