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
|
/*--------------------------------------------------------------------------*/
/* 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"
/*--------------------------------------------------------------------------*/
int G__random_d_initialize_0(int fd, int nofRows, int nofCols)
{
struct fileinfo *fcb = &G__.fileinfo[fd];
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(int fd, int nofRows, int nofCols)
{
struct fileinfo *fcb = &G__.fileinfo[fd];
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;
}
/*--------------------------------------------------------------------------*/
|