/* Librairie C contenant plusieurs fonctions utilitaires pour MODULA-2 */ /* Solaris 2.3 , Benoit Martin, Octobre 95 */ #include #include #include #include #include /* fonction retournant le temps de CPU consomme par un programme depuis le debut de son execution. */ void heure ( tsec, tusec) long *tsec, *tusec; { clock_t ret_value; struct tms us; ret_value = times (&us); /* fonction du systeme retournant de l'information sur les ressources utilisees */ *tusec = us.tms_utime + us.tms_stime; *tsec = *tusec / CLK_TCK; *tusec = (*tusec % CLK_TCK) * 1000000 / CLK_TCK; /* CPU time = user time + system time */ } /* Fonctions de conversion de LONGREAL a STRING et vice-versa */ void stolreal (str, lreal) char *str; double *lreal; { *lreal = atof (str); } void lrealtos (lreal, i, str) /* i represente la precision decimale */ double lreal; int i; char *str; { char format[10]; if (i > 20) /* maximum de 20 caracteres -> MYINOUT */ { printf("CLIB Error: LRealToStr (i = %d > 20)!\n", i); abort(); } if (i < 0) { i = abs (i); sprintf (format, "%%.%dlE", i); } else sprintf(format, "%%.%dlf", i); sprintf(str, format, lreal); }