extraction dans un repo distant
parent
490982ae5b
commit
eed690240a
@ -1,12 +0,0 @@
|
||||
BIN:=random
|
||||
OUT?=path_if_not_defined
|
||||
|
||||
all: build
|
||||
|
||||
build: $(BIN)
|
||||
cp -v $(BIN) $(OUT)/
|
||||
|
||||
install: $(BIN)
|
||||
|
||||
$(BIN): main.c
|
||||
gcc main.c -Wall -lm -o $@
|
@ -1,68 +0,0 @@
|
||||
#define _POSIX_C_SOURCE 200809L
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <math.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/**
|
||||
* Return a random number between 0 and limit inclusive.
|
||||
*
|
||||
*/
|
||||
int rand_lim(int limit) {
|
||||
|
||||
int divisor = RAND_MAX/(limit+1);
|
||||
int retval;
|
||||
|
||||
do {
|
||||
retval = rand() / divisor;
|
||||
} while (retval > limit);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
void print_current_time_with_ms (void) {
|
||||
long ms; // Milliseconds
|
||||
time_t s; // Seconds
|
||||
struct timespec spec;
|
||||
|
||||
clock_gettime(CLOCK_REALTIME, &spec);
|
||||
|
||||
s = spec.tv_sec;
|
||||
ms = round(spec.tv_nsec / 1.0e6); // Convert nanoseconds to milliseconds
|
||||
|
||||
printf ( "Current time: %ld.%03ld seconds since the Epoch\n"
|
||||
, (intmax_t)s
|
||||
, ms
|
||||
);
|
||||
}
|
||||
|
||||
long int get_current_time_ms_part (void) {
|
||||
long milliseconds;
|
||||
time_t seconds;
|
||||
struct timespec spec;
|
||||
|
||||
clock_gettime(CLOCK_REALTIME, &spec);
|
||||
|
||||
seconds = spec.tv_sec;
|
||||
milliseconds = round(spec.tv_nsec / 1.0e6); // Convert nanoseconds to milliseconds
|
||||
return spec.tv_nsec;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
/**
|
||||
* time precision is 1 second. 2+ calls in same second return same value
|
||||
*/
|
||||
//srand(time(NULL));
|
||||
srand(get_current_time_ms_part());
|
||||
|
||||
int random_value = rand_lim(1);
|
||||
|
||||
//printf("value: %d\n", random_value);
|
||||
printf("%d", random_value);
|
||||
|
||||
//return rand_lim(1);
|
||||
return random_value;
|
||||
};
|
||||
|
Loading…
Reference in New Issue