00001 #include "util.h" 00002 00003 #include <assert.h> 00004 00005 00006 bs_bool streq(const char *s1, const char *s2) 00007 { 00008 register unsigned i = 0; 00009 assert(s1 && s2); 00010 00011 while (s1[i] != '\0') { 00012 if (s1[i] != s2[i]) return FALSE; 00013 i++; 00014 } 00015 if (s2[i] != '\0') return FALSE; 00016 return TRUE; 00017 } 00018 00019 00020 inline unsigned len(const char *s) 00021 { 00022 register unsigned i = 0; 00023 while (s[i] != '\0') i++; 00024 return i; 00025 } 00026 00027 00028 bs_bool decision_to_bool(const char *s) 00029 { 00030 if (streq(s, "1")) return TRUE; 00031 else if (streq(s, "TRUE")) return TRUE; 00032 else if (streq(s, "ACCEPTED")) return TRUE; 00033 else if (streq(s, "ACCEPT")) return TRUE; 00034 else if (streq(s, "accepted")) return TRUE; 00035 else if (streq(s, "accept")) return TRUE; 00036 else return FALSE; 00037 } 00038 00039 00040 double min(double s1, double s2, double s3) 00041 { 00042 if (s1 <= s2 && s1 <= s3) return s1; 00043 if (s2 <= s1 && s1 <= s3) return s2; 00044 return s3; 00045 } 00046 00047 00048 double max(double s1, double s2, double s3) 00049 { 00050 if (s1 >= s2 && s1 >= s3) return s1; 00051 if (s2 >= s1 && s1 >= s3) return s2; 00052 return s3; 00053 }