grasp_settings_validators.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 CNRS & Universite Lille 1. All rights reserved.
3  *
4  * Licensed under the GRASP Open Source License V1.0 (see LICENSE file)
5  */
6 
16 #ifndef GRASP_SETTINGS_VALIDATORS_H
17 #define GRASP_SETTINGS_VALIDATORS_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 
24 #include "yamlsettings/yamlsettings_dictionary.h"
25 
26 
27 // The parameter is a directory and it must be exist (stored like fortran string)
28 int grasp_settings_validator_directory_fortran(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
29 
30 // This function call to grasp_output_stream_filename_validation to know if the stream is well formed
31 int grasp_settings_validator_stream(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
32 
33 // This validator checks if the input driver is compiled within current framework compilation
34 int grasp_settings_validator_input_driver(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
35 
36 // This validator checks if the input transformer name is available in the data transformers compiled with the system.
37 int grasp_settings_validator_input_transformer(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
38 
39 // This validator checks if output segment function is compiled within current framework compilation
40 int grasp_settings_validator_output_segment_function(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
41 
42 // This validator checks that bins have to be defined only in one way, or bin bins or by min and max
43 int graspsettings_validator_bins (int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
44 
45 // This validator check if output tile function is compiled within current framework compilation
46 int grasp_settings_validator_output_tile_function(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
47 
48 // This validator checks if output current function is compiled within current framework compilation
49 int grasp_settings_validator_output_current_function(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
50 
51 // This validator checks that all not retrieved characteristics are at the end of NDIM arrays (iguess).
52 int graspsettings_validator_characteristic_retrieved(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
53 
54 // This validator checks mandatory parameters depending on characteristic types defined
55 int graspsettings_validator_characteristic_type(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
56 
57 // This validator checks if two single (not an array) parameters readed are divisibles (mod=0)
58 int graspsettings_validator_divisible(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
59 
60 // This validator checks that product.fitting is true when the user wants to dump the simulated sdata file
61 int grasp_settings_validator_simulated_file(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
62 
63 // It check if a wevalength index is defined between 1 and the bigest of wavelength indexes
64 int graspsettings_validator_indexes_of_wavelengths(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
65 
66 // It checks that if the measurement type with cut off (from 51 to 55) is present, this is mandatory
67 int graspsettings_validator_cut_off(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
68 
69 // The parameter has the same number of elements that other element or 0 (don't defined). Argument 1=name of second element
70 int graspsettings_validator_same_nelements_or_zero(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
71 
72 // The parameter has the same number of elements than the wavelengths in the settings file
73 int graspsettings_validator_all_wavelengths_defined(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
74 
75 // This validator is specific for the number of elements stimates and weigths, which has to be 0 or the same than the initial guess minus difference_order
76 int graspsettings_validator_estimates_and_weights(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
77 
78 // To validate if kernels_folder is a folder which exists
79 int graspsettings_validator_kernelpath(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
80 
81 // To validate the option to add (or not) random noise to the measurements
82 //int graspsettings_validator_rnoise(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
83 
84 // The parameter does not contain twice the same value different than 0
85 int graspsettings_validator_int_not_repeated_or_one(int param_index,yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE]);
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
91 #endif /* GRASP_SETTINGS_VALIDATORS_H */
int graspsettings_validator_bins(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:300
int grasp_settings_validator_input_transformer(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:516
int graspsettings_validator_estimates_and_weights(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:1103
int graspsettings_validator_characteristic_retrieved(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:564
int graspsettings_validator_characteristic_type(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:589
int graspsettings_validator_divisible(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:245
int grasp_settings_validator_stream(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:136
int grasp_settings_validator_output_tile_function(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:421
int grasp_settings_validator_directory_fortran(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:21
int graspsettings_validator_all_wavelengths_defined(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:77
int graspsettings_validator_indexes_of_wavelengths(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:52
int grasp_settings_validator_output_segment_function(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:374
int grasp_settings_validator_simulated_file(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:272
int grasp_settings_validator_input_driver(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:197
int graspsettings_validator_cut_off(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:105
int graspsettings_validator_int_not_repeated_or_one(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:1206
int graspsettings_validator_kernelpath(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:1144
int grasp_settings_validator_output_current_function(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:468
int graspsettings_validator_same_nelements_or_zero(int param_index, yamlsettings_dictionary_t *dictionary, char arguments[YAMLSETTINGS_VALIDATOR_MAX_ARGUMENTS][YAMLSETTINGS_VALIDATOR_MAX_ARGUMENT_SIZE])
Definition: grasp_settings_validators.c:1071