123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- * funcs.c
- */
-
- #include <stdio.h>
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
- #include <sys/time.h>
-
- #include "funcs.h"
-
- extern int verbosity;
-
- /* --------------------------------------------------------------- */
- int seed_my_rand(int foo)
- {
- long v1, v2;
-
- v1 = getpid(); v2 = time(NULL);
-
- return v1 ^ v2;
- }
- /* --------------------------------------------------------------- */
-
- int random1000(int type)
- {
- int value;
- if (verbosity)
- fprintf(stderr, ">>> %s(%d)\n", __func__, type);
-
- switch (type) {
- case 0:
- value = rand() % 1000;
- break;
- case 1:
- value = (rand()%1000 + rand()%1000) / 2;
- break;
- default:
- value = -1;
- break;
- }
-
- return value;
- }
-
- /* --------------------------------------------------------------- */
-
- double dtime(void)
- {
- struct timeval tv;
- int foo;
-
- foo = gettimeofday(&tv, NULL);
- if (foo) fprintf(stderr, "got %d in %s\n", foo, __func__);
-
- return (double)tv.tv_sec + (double)tv.tv_usec / 1e6;
- }
-
- /* --------------------------------------------------------------- */
-
- int get_loadavg(double *where)
- {
- FILE *fp;
- double loads[3];
- int foo;
-
- if ( ! (fp=fopen("/proc/loadavg", "r")) ) {
- perror("read loadavg");
- return -1;
- }
-
- foo = fscanf(fp, "%lf %lf %lf", loads, loads+1, loads+2);
- if (3 != foo) fprintf(stderr, "%s : read %d vals\n", __func__, foo);
-
- memcpy(where, loads, 3 * sizeof(double));
-
- fclose(fp);
-
- return 0;
- }
-
- /* --------------------------------------------------------------- */
|