3 static struct timeval Add_Int_Timeval(int inc, struct timeval t){
\r
5 r.tv_usec = t.tv_usec + (inc % 1000);
\r
6 r.tv_sec = t.tv_sec + inc / 1000;
\r
15 static struct timeval Add_Timeval_Int(struct timeval t, int inc){
\r
17 r.tv_usec = t.tv_usec + (inc % 1000);
\r
18 r.tv_sec = t.tv_sec + inc / 1000;
\r
19 if(r.tv_usec > 999){
\r
26 Subtract_Timeval_Int
\r
27 static struct timeval Subtract_Timeval_Int(struct timeval t, int inc){
\r
29 r.tv_usec = t.tv_usec - (inc % 1000);
\r
30 r.tv_sec = t.tv_sec - inc / 1000;
\r
39 static struct timeval Divide_Timeval_Int(struct timeval t, int d){
\r
41 r.tv_sec = t.tv_sec / d;
\r
42 r.tv_usec = (t.tv_usec + 1000*( t.tv_sec % d )) / d;
\r
47 Subtract_Timeval_Timeval
\r
48 static int Subtract_Timeval_Timeval(struct timeval t1, struct timeval t2){
\r
49 return(1000*(t1.tv_sec - t2.tv_sec) + (t1.tv_usec - t2.tv_usec) );
\r
53 static int Compare_Timeval(struct timeval t1, struct timeval t2){
\r
54 return( t1.tv_sec != t2.tv_sec ? t1.tv_sec - t2.tv_sec : t1.tv_usec - t2.tv_usec );
\r
58 static struct timeval Timeval_Constructor(int s, int m){
\r
66 static struct gs_string String_Constructor(char *l){
\r
71 while(l[s.length] != '\0') s.length++;
\r
77 str_assign_with_copy
\r
79 str_assign_with_copy_in_tuple
\r