File: init_map.c

package info (click to toggle)
grass 6.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 40,044 kB
  • ctags: 31,303
  • sloc: ansic: 321,125; tcl: 25,676; sh: 11,176; cpp: 10,098; makefile: 5,025; fortran: 1,846; yacc: 493; lex: 462; perl: 133; sed: 1
file content (90 lines) | stat: -rw-r--r-- 2,349 bytes parent folder | download | duplicates (2)
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;
}

/*--------------------------------------------------------------------------*/