|
GRASS 8 Programmer's Manual 8.6.0dev(2026)-f6f2c534ea
|
GIS Library - percentage progress functions. More...

Go to the source code of this file.
Functions | |
| void | G_percent (long n, long d, int s) |
| Print percent complete messages. | |
| void | G_percent_reset (void) |
| Reset G_percent() to 0%; do not add newline. | |
| void | G_progress (long n, int s) |
| Print progress info messages. | |
| void | G_set_percent_routine (int(*percent_routine)(int)) |
| Establishes percent_routine as the routine that will handle the printing of percentage progress messages. | |
| void | G_unset_percent_routine (void) |
| After this call subsequent percentage progress messages will be handled in the default method. | |
GIS Library - percentage progress functions.
(C) 2001-2009, 2011 by the GRASS Development Team
This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.
Definition in file percent.c.
Print percent complete messages.
This routine prints a percentage complete message to stderr. The percentage complete is (n/d)*100, and these are printed only for each s percentage. This is perhaps best explained by example:
This example code will print completion messages at 10% increments; i.e., 0%, 10%, 20%, 30%, etc., up to 100%. Each message does not appear on a new line, but rather erases the previous message.
Note that to prevent the illusion of the module stalling, the G_percent() call is placed before the time consuming part of the for loop, and an additional call is generally needed after the loop to "finish it off" at 100%.
| n | current element |
| d | total number of elements |
| s | increment size |
Definition at line 61 of file percent.c.
References G_info_format(), G_INFO_FORMAT_PLAIN, G_INFO_FORMAT_SILENT, G_INFO_FORMAT_STANDARD, G_verbose(), st, and x.
Referenced by G_math_cholesky_sband_decomposition(), Gs_loadmap_as_char(), Gs_loadmap_as_float(), Gs_loadmap_as_int(), Gs_loadmap_as_short(), Gs_pack_colors(), Gs_pack_colors_float(), IL_interp_segments_2d(), IL_interp_segments_2d_parallel(), IL_resample_interp_segments_2d(), N_gwflow_2d_calc_water_budget(), N_gwflow_3d_calc_water_budget(), N_read_rast3d_to_array_3d(), N_read_rast_to_array_2d(), N_write_array_2d_to_rast(), N_write_array_3d_to_rast3d(), NetA_betweenness_closeness(), NetA_spanning_tree(), P_Aux_to_Raster(), Rast3d_retile(), Vect__copy_areas(), Vect_break_polygons_file(), Vect_break_polygons_mem(), Vect_build_nat(), Vect_clean_small_angles_at_nodes(), Vect_merge_lines(), Vect_net_build_graph(), Vect_net_ttb_build_graph(), Vect_remove_duplicates(), Vect_remove_small_areas_ext(), and Vect_remove_small_areas_nat().
Reset G_percent() to 0%; do not add newline.
Definition at line 117 of file percent.c.
References st.
Referenced by NetA_betweenness_closeness(), and NetA_spanning_tree().
Print progress info messages.
Use G_percent() when number of elements is defined.
This routine prints a progress info message to stderr. The value n is printed only for each s. This is perhaps best explained by example:
This example code will print progress in messages at 1000 increments; i.e., 1000, 2000, 3000, 4000, etc., up to number of features for given vector map. Each message does not appear on a new line, but rather erases the previous message.
| n | current element |
| s | increment size |
Definition at line 158 of file percent.c.
References G_info_format(), G_INFO_FORMAT_GUI, G_INFO_FORMAT_PLAIN, G_INFO_FORMAT_SILENT, and G_verbose().
Referenced by Vect_build_nat().