stardis-output.h (3421B)
1 /* Copyright (C) 2018-2025 |Méso|Star> (contact@meso-star.com) 2 * 3 * This program is free software: you can redistribute it and/or modify 4 * it under the terms of the GNU General Public License as published by 5 * the Free Software Foundation, either version 3 of the License, or 6 * (at your option) any later version. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. */ 15 16 #ifndef SDIS_OUTPUT_H 17 #define SDIS_OUTPUT_H 18 19 #include <rsys/rsys.h> 20 #include <stdio.h> 21 22 struct sdis_green_path; 23 struct sdis_heat_path; 24 struct sdis_estimator_buffer; 25 struct sdis_green_function; 26 struct sdis_mc; 27 struct counts; 28 struct description; 29 struct mem_allocator; 30 struct sdis_estimator; 31 struct stardis; 32 struct stardis_probe_boundary; 33 struct geometry; 34 struct vertex; 35 struct darray_estimators; 36 struct time; 37 struct ssp_rng; 38 39 struct dump_path_context { 40 unsigned long rank; 41 struct stardis* stardis; 42 }; 43 #define DUMP_PATH_CONTEXT_NULL__ {0,NULL} 44 static const struct dump_path_context DUMP_PATH_CONTEXT_NULL = 45 DUMP_PATH_CONTEXT_NULL__; 46 47 extern LOCAL_SYM res_T 48 dump_path 49 (const struct sdis_heat_path* path, 50 void* context); 51 52 extern LOCAL_SYM res_T 53 print_sample 54 (struct sdis_green_path* path, 55 void* ctx); 56 57 extern LOCAL_SYM res_T 58 dump_vtk_image 59 (const struct sdis_estimator_buffer* buf, 60 FILE* stream); 61 62 extern LOCAL_SYM res_T 63 dump_ht_image 64 (const struct sdis_estimator_buffer* buf, 65 FILE* stream); 66 67 extern LOCAL_SYM res_T 68 dump_green_ascii 69 (struct sdis_green_function* green, 70 const struct stardis* stardis, 71 FILE* stream); 72 73 extern LOCAL_SYM res_T 74 dump_green_bin 75 (struct sdis_green_function* green, 76 const struct stardis* stardis, 77 FILE* stream); 78 79 extern LOCAL_SYM res_T 80 dump_paths_end 81 (struct sdis_green_function* green, 82 const struct stardis* stardis, 83 FILE* stream); 84 85 extern LOCAL_SYM res_T 86 dump_enclosure_related_stuff_at_the_end_of_vtk 87 (struct stardis* stardis, 88 FILE* stream); 89 90 extern LOCAL_SYM res_T 91 print_computation_time 92 (struct sdis_mc* time_per_realisation, /* Can be NULL */ 93 struct stardis* stardis, 94 struct time* start, 95 struct time* computation_start, 96 struct time* computation_end, 97 struct time* output_end); /* Can be NULL */ 98 99 extern LOCAL_SYM res_T 100 print_single_MC_result 101 (struct sdis_estimator* estimator, 102 struct stardis* stardis, 103 FILE* stream); 104 105 extern LOCAL_SYM res_T 106 print_single_MC_result_probe_boundary 107 (struct stardis* stardis, 108 const struct stardis_probe_boundary* probe, 109 const struct sdis_estimator* estimator, 110 FILE* stream); 111 112 extern LOCAL_SYM res_T 113 dump_map 114 (const struct stardis* stardis, 115 const struct darray_estimators* estimators, 116 FILE* stream); 117 118 extern LOCAL_SYM res_T 119 dump_boundaries_at_the_end_of_vtk 120 (const struct stardis* stardis, 121 FILE* stream); 122 123 res_T 124 dump_compute_region_at_the_end_of_vtk 125 (struct stardis* stardis, 126 FILE* stream); 127 128 res_T 129 dump_model_as_c_chunks 130 (struct stardis* stardis, 131 FILE* stream); 132 133 res_T 134 write_random_generator_state 135 (struct sdis_estimator* estimator, 136 FILE* stream); 137 138 res_T 139 read_random_generator_state 140 (struct ssp_rng* state, 141 FILE* stream); 142 143 #endif