00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_STRING_PRIVATE_H
00019 #define MAGICKCORE_STRING_PRIVATE_H
00020
00021 #include "magick/locale_.h"
00022
00023 #if defined(__cplusplus) || defined(c_plusplus)
00024 extern "C" {
00025 #endif
00026
00027 static inline double SiPrefixToDoubleInterval(const char *string,
00028 const double interval)
00029 {
00030 char
00031 *q;
00032
00033 double
00034 value;
00035
00036 value=InterpretSiPrefixValue(string,&q);
00037 if (*q == '%')
00038 value*=interval/100.0;
00039 return(value);
00040 }
00041
00042 static inline double StringToDouble(const char *magick_restrict string,
00043 char **magick_restrict sentinal)
00044 {
00045 return(InterpretLocaleValue(string,sentinal));
00046 }
00047
00048 static inline double StringToDoubleInterval(const char *string,
00049 const double interval)
00050 {
00051 char
00052 *q;
00053
00054 double
00055 value;
00056
00057 value=InterpretLocaleValue(string,&q);
00058 if (*q == '%')
00059 value*=interval/100.0;
00060 return(value);
00061 }
00062
00063 static inline int StringToInteger(const char *magick_restrict value)
00064 {
00065 return((int) strtol(value,(char **) NULL,10));
00066 }
00067
00068 static inline long StringToLong(const char *magick_restrict value)
00069 {
00070 return(strtol(value,(char **) NULL,10));
00071 }
00072
00073 static inline unsigned long StringToUnsignedLong(
00074 const char *magick_restrict value)
00075 {
00076 return(strtoul(value,(char **) NULL,10));
00077 }
00078
00079 #if defined(__cplusplus) || defined(c_plusplus)
00080 }
00081 #endif
00082
00083 #endif