00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "G.h"
00011
00012
00013
00014 int G__random_d_initialize_0(int fd, int nofRows, int nofCols)
00015 {
00016 struct fileinfo *fcb = &G__.fileinfo[fd];
00017 int row, col;
00018 double zeroVal, *zeroValP;
00019 register XDR *xdrs;
00020
00021 xdrs = &fcb->xdrstream;
00022 xdr_setpos(xdrs, 0);
00023
00024 zeroVal = 0;
00025 zeroValP = &zeroVal;
00026
00027 for (col = nofCols; col--;)
00028 if (!xdr_double(xdrs, zeroValP)) {
00029 G_warning
00030 ("G_random_d_initialize_0: xdr_double failed for index %d.\n",
00031 col);
00032 return -1;
00033 }
00034
00035 for (row = 0; row < nofRows; row++)
00036 if (G__write_data(fd, row, nofCols) == -1) {
00037 G_warning("G_random_d_initialize_0: write failed in row %d.\n",
00038 row);
00039 return -1;
00040 }
00041
00042 return 1;
00043 }
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 int G__random_f_initialize_0(int fd, int nofRows, int nofCols)
00055 {
00056 struct fileinfo *fcb = &G__.fileinfo[fd];
00057 int row, col;
00058 float zeroVal, *zeroValP;
00059 register XDR *xdrs;
00060
00061
00062 xdrs = &fcb->xdrstream;
00063 xdr_setpos(xdrs, 0);
00064
00065 zeroVal = 0;
00066 zeroValP = &zeroVal;
00067
00068 for (col = nofCols; col--;)
00069 if (!xdr_float(xdrs, zeroValP)) {
00070 G_warning
00071 ("G_random_f_initialize_0: xdr_float failed for index %d.\n",
00072 col);
00073 return 0;
00074 }
00075
00076 for (row = 0; row < nofRows; row++)
00077 if (G__write_data(fd, row, nofCols) == -1) {
00078 G_warning("G_random_f_initialize_0: write failed in row %d.\n",
00079 row);
00080 return 0;
00081 }
00082
00083 return 1;
00084 }
00085
00086