1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
/*--------------------------------------------------------------------------*/
/* inititializes the random file with descriptor "fd" with "nofRows" rows
of zero values columns. each row consists of "nofCols" columns.
assumes that the file is rewound and empty.
returns 1 if successful and 0 for any kind of error. */
#include "G.h"
#define FCB G__.fileinfo[fd]
/*--------------------------------------------------------------------------*/
int
G__random_d_initialize_0 (fd, nofRows, nofCols)
int fd;
int nofRows, nofCols;
{
int row, col;
double zeroVal, *zeroValP;
register XDR* xdrs;
xdrs = &FCB.xdrstream; /* xdr stream is initialized to write into */
xdr_setpos (xdrs, 0); /* G__.work_buf in 'opencell.c' */
zeroVal = 0;
zeroValP = &zeroVal;
for (col = nofCols; col--;)
if (! xdr_double (xdrs, zeroValP)) {
G_warning( "G_random_d_initialize_0: xdr_double failed for index %d.\n",
col);
return -1;
}
for (row = 0; row < nofRows; row++)
if (G__write_data (fd, row, nofCols) == -1) {
G_warning( "G_random_d_initialize_0: write failed in row %d.\n", row);
return -1;
}
return 1;
}
/*--------------------------------------------------------------------------*/
/* inititializes the random file with descriptor "fd" with "nofRows" rows
of zero values columns. each row consists of "nofCols" columns.
assumes that the file is rewound and empty.
returns 1 if successful and 0 for any kind of error. */
int
G__random_f_initialize_0 (fd, nofRows, nofCols)
int fd;
int nofRows, nofCols;
{
int row, col;
float zeroVal, *zeroValP;
register XDR* xdrs;
xdrs = &FCB.xdrstream; /* xdr stream is initialized to write into */
xdr_setpos (xdrs, 0); /* G__.work_buf in 'opencell.c' */
zeroVal = 0;
zeroValP = &zeroVal;
for (col = nofCols; col--;)
if (! xdr_float (xdrs, zeroValP)) {
G_warning("G_random_f_initialize_0: xdr_float failed for index %d.\n",
col);
return 0;
}
for (row = 0; row < nofRows; row++)
if (G__write_data (fd, row, nofCols) == -1) {
G_warning( "G_random_f_initialize_0: write failed in row %d.\n", row);
return 0;
}
return 1;
}
/*--------------------------------------------------------------------------*/
|