Browse Source

use boolean macros to aid readability, only show memory use when it is interesting

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@52226 15284696-431f-4ddb-bdfa-cd5b030d7da7
Hamish Bowman 13 years ago
parent
commit
0fae7d11d4
1 changed files with 19 additions and 26 deletions
  1. 19 26
      raster/r.cost/main.c

+ 19 - 26
raster/r.cost/main.c

@@ -104,7 +104,7 @@ int main(int argc, char *argv[])
     int maxmem;
     int segments_in_memory;
     int cost_fd, cum_fd, dir_fd, nearest_fd;
-    int have_stop_points = 0, dir = 0;
+    int have_stop_points = FALSE, dir = FALSE;
     double my_cost, nearest;
     double null_cost, dnullval;
     int srows, scols;
@@ -130,6 +130,7 @@ int main(int argc, char *argv[])
     struct History history;
     double peak = 0.0;
     int dsize, nearest_size;
+    double disk_mb, mem_mb;
 
     G_gisinit(argv[0]);
 
@@ -392,27 +393,22 @@ int main(int argc, char *argv[])
 	segments_in_memory = 1;
 
     /* report disk space and memory requirements */
-    G_message("--------------------------------------------");
-    if (dir == 1) {
-	double disk_mb, mem_mb;
-
+    if (dir == TRUE) {
 	disk_mb = (double) nrows * ncols * 32. / 1048576.;
 	mem_mb  = (double) srows * scols * 32. / 1048576. * segments_in_memory;
 	mem_mb += nrows * ncols * 0.05 * 20. / 1048576.;    /* for Dijkstra search */
-	G_message(_("Will need at least %.2f MB of disk space"), disk_mb);
-	G_message(_("Will need at least %.2f MB of memory"), mem_mb);
-	
     }
     else {
-	double disk_mb, mem_mb;
-
 	disk_mb = (double) nrows * ncols * 24. / 1048576.;
 	mem_mb  = (double) srows * scols * 24. / 1048576. * segments_in_memory;
 	mem_mb += nrows * ncols * 0.05 * 20. / 1048576.;    /* for Dijkstra search */
+    }
+    if (disk_mb > 200 || mem_mb > 200 || G_verbose() > G_verbose_std()) {
+	G_message("--------------------------------------------");
 	G_message(_("Will need at least %.2f MB of disk space"), disk_mb);
 	G_message(_("Will need at least %.2f MB of memory"), mem_mb);
-    }
-    G_message("--------------------------------------------");
+	G_message("--------------------------------------------");
+    }	
     
     if (flag5->answer) {
 	Rast_close(cost_fd);
@@ -426,7 +422,7 @@ int main(int argc, char *argv[])
 		     sizeof(struct cc), segments_in_memory) != 1)
 	G_fatal_error(_("Can not create temporary file"));
 
-    if (dir == 1) {
+    if (dir == TRUE) {
 	if (segment_open(&dir_seg, G_tempfile(), nrows, ncols, srows, scols,
 		         sizeof(double), segments_in_memory) != 1)
 	    G_fatal_error(_("Can not create temporary file"));
@@ -487,7 +483,7 @@ int main(int argc, char *argv[])
 	G_percent(1, 1, 1);
     }
 
-    if (dir == 1) {
+    if (dir == TRUE) {
 	int i;
 
 	G_message(_("Initializing directional output "));
@@ -610,7 +606,7 @@ int main(int argc, char *argv[])
 	    }
 	    if (!Vect_point_in_box(Points->x[0], Points->y[0], 0, &box))
 		continue;
-	    have_stop_points = 1;
+	    have_stop_points = TRUE;
 
 	    col = (int)Rast_easting_to_col(Points->x[0], &window);
 	    row = (int)Rast_northing_to_row(Points->y[0], &window);
@@ -961,7 +957,7 @@ int main(int argc, char *argv[])
 		costs.nearest = nearest;
 		segment_put(&cost_seg, &costs, row, col);
 		new_cell = insert(min_cost, row, col);
-		if (dir == 1) {
+		if (dir == TRUE) {
 		    segment_put(&dir_seg, &cur_dir, row, col);
 		}
 	    }
@@ -971,7 +967,7 @@ int main(int argc, char *argv[])
 		costs.nearest = nearest;
 		segment_put(&cost_seg, &costs, row, col);
 		new_cell = insert(min_cost, row, col);
-		if (dir == 1) {
+		if (dir == TRUE) {
 		    segment_put(&dir_seg, &cur_dir, row, col);
 		}
 	    }
@@ -1098,7 +1094,7 @@ int main(int argc, char *argv[])
 	    G_free(nearest_cell);
     }
 
-    if (dir == 1) {
+    if (dir == TRUE) {
 	double *p;
 
 	dir_fd = Rast_open_new(move_dir_layer, dir_data_type);
@@ -1119,24 +1115,21 @@ int main(int argc, char *argv[])
     }
 
     segment_close(&cost_seg);	/* release memory  */
-    if (dir == 1) {
+    if (dir == TRUE)
 	segment_close(&dir_seg);
-    }
-    Rast_close(cost_fd);
+     Rast_close(cost_fd);
     Rast_close(cum_fd);
-    if (dir == 1) {
+    if (dir == TRUE)
 	Rast_close(dir_fd);
-    }
-    if (nearest_layer) {
+    if (nearest_layer)
 	Rast_close(nearest_fd);
-    }
 
     /* writing history file */
     Rast_short_history(cum_cost_layer, "raster", &history);
     Rast_command_history(&history);
     Rast_write_history(cum_cost_layer, &history);
 
-    if (dir == 1) {
+    if (dir == TRUE) {
 	Rast_short_history(move_dir_layer, "raster", &history);
 	Rast_command_history(&history);
 	Rast_write_history(move_dir_layer, &history);