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 }