Geant4 Cross Reference |
1 /* 1 /* 2 # <<BEGIN-copyright>> 2 # <<BEGIN-copyright>> 3 # <<END-copyright>> 3 # <<END-copyright>> 4 */ 4 */ 5 5 6 #ifndef nf_utilities_h_included 6 #ifndef nf_utilities_h_included 7 #define nf_utilities_h_included 7 #define nf_utilities_h_included 8 8 9 #include <stdio.h> 9 #include <stdio.h> 10 #include <stdint.h> 10 #include <stdint.h> 11 #include <string.h> 11 #include <string.h> 12 #include <stdarg.h> 12 #include <stdarg.h> 13 13 14 #define NUMERICALFUNCTIONS_SVN_VERSION 110+ 14 #define NUMERICALFUNCTIONS_SVN_VERSION 110+ 15 15 16 #define nf_floatToShortestString_trimZeros ( 16 #define nf_floatToShortestString_trimZeros ( 1 << 0 ) 17 #define nf_floatToShortestString_keepPeriod ( 17 #define nf_floatToShortestString_keepPeriod ( 1 << 1 ) 18 #define nf_floatToShortestString_includeSign ( 18 #define nf_floatToShortestString_includeSign ( 1 << 2 ) 19 19 20 #if defined __cplusplus 20 #if defined __cplusplus 21 extern "C" { 21 extern "C" { 22 namespace GIDI { 22 namespace GIDI { 23 #endif 23 #endif 24 24 25 typedef enum nfu_status_e { nfu_Okay, 25 typedef enum nfu_status_e { nfu_Okay, nfu_mallocError, nfu_insufficientMemory, 26 nfu_badIndex, nfu_XNotAs 26 nfu_badIndex, nfu_XNotAscending, nfu_badIndexForX, nfu_XOutsideDomain, 27 nfu_invalidInterpolation, nfu_badSel 27 nfu_invalidInterpolation, nfu_badSelf, nfu_divByZero, nfu_unsupportedInterpolationConversion, 28 nfu_unsupportedInterpolation, nfu_empty, 28 nfu_unsupportedInterpolation, nfu_empty, nfu_tooFewPoints, nfu_domainsNotMutual, 29 nfu_badInput, nfu_badNor 29 nfu_badInput, nfu_badNorm, nfu_badIntegrationInput, nfu_otherInterpolation, 30 nfu_failedToConverge, nfu_oddNum 30 nfu_failedToConverge, nfu_oddNumberOfValues } nfu_status; 31 31 32 /* 32 /* 33 * Functions in nf_utilities.c 33 * Functions in nf_utilities.c 34 */ 34 */ 35 double nfu_getNAN( void ); 35 double nfu_getNAN( void ); 36 int nfu_isNAN( double d ); 36 int nfu_isNAN( double d ); 37 double nfu_getInfinity( double sign ); 37 double nfu_getInfinity( double sign ); 38 const char *nfu_statusMessage( nfu_status stat 38 const char *nfu_statusMessage( nfu_status status ); 39 void nfu_setMemoryDebugMode( int mode ); 39 void nfu_setMemoryDebugMode( int mode ); 40 void *nfu_malloc( size_t size ); 40 void *nfu_malloc( size_t size ); 41 void *nfu_calloc( size_t size, size_t n ); 41 void *nfu_calloc( size_t size, size_t n ); 42 void *nfu_realloc( size_t size, void *old ); 42 void *nfu_realloc( size_t size, void *old ); 43 void *nfu_free( void *p ); 43 void *nfu_free( void *p ); 44 void nfu_printMsg( char *fmt, ... ); 44 void nfu_printMsg( char *fmt, ... ); 45 void nfu_printErrorMsg( char *fmt, ... ); 45 void nfu_printErrorMsg( char *fmt, ... ); 46 46 47 /* 47 /* 48 * Functions in nf_stringToDoubles.c 48 * Functions in nf_stringToDoubles.c 49 */ 49 */ 50 nfu_status nfu_stringToListOfDoubles( char con 50 nfu_status nfu_stringToListOfDoubles( char const *str, int64_t *numberConverted, double **doublePtr, char **endCharacter ); 51 char *nf_floatToShortestString( double value, 51 char *nf_floatToShortestString( double value, int significantDigits, int favorEFormBy, int flags ); 52 52 53 #if defined __cplusplus 53 #if defined __cplusplus 54 } 54 } 55 } 55 } 56 #endif 56 #endif 57 57 58 #endif /* End of nf_utilities_h_inclu 58 #endif /* End of nf_utilities_h_included. */ 59 59