Skip to content
Snippets Groups Projects
Commit 6df8dc0d authored by Bouillaguet Charles's avatar Bouillaguet Charles
Browse files

modified main to take input from challenge generator

parent 3be6708e
No related branches found
No related tags found
No related merge requests found
......@@ -7,3 +7,5 @@
/Cunknown/main
/Cunknown/benchmark_omp
/Cunknown/checkpoint.bin
/challenges/pcg64-challenge
/challenges/pcg64s-challenge
......@@ -13,10 +13,10 @@ typedef unsigned long long u64;
/***** Macro et Variables globales *****/
#define k 64
#define known_up 6
#define known_low 11
#define known_low 13
#define nbiter 5
#define nboutput 31
#define nbtest 4
#define nboutput (nbiter + nbtest)
extern pcg128_t a;
extern pcg128_t powA[nboutput];
......
......@@ -212,12 +212,16 @@ int main(int argc, char **argv)
/* INITIALISATION DES PARAMETRES */
init_var_globales();
/********** prepare test input ***********/
u64 X[nboutput];
pcg128_t S0 = (((pcg128_t) 5995207026785010249u) << k) + ((pcg128_t) 179350442155841024u);
pcg128_t c = ((((pcg128_t) 6364136223846793005u) << k) + 1442695040888963407u) >> 1;
pcg128_t vraiS[nboutput];
pcg(vraiS, X, S0, &c, nboutput);
u64 X[9];
X[0] = 0x47a42ee112e8afb9;
X[1] = 0xf5e7948dbc0c7e26;
X[2] = 0x91724bdca45a78a4;
X[3] = 0x1be0e7e5b398b248;
X[4] = 0x6f8b727451e185a8;
X[5] = 0x976d59bba78ef4e2;
X[6] = 0xc588c4c6c9052cba;
X[7] = 0x9cc0fc58615e1b87;
X[8] = 0xec7c5d6ee9992147;
u64 range_start, range_end, done;
restart(X, &range_start, &range_end, &done);
......@@ -234,7 +238,9 @@ int main(int argc, char **argv)
}
/* DEBUG */
range_start = (5018 << (known_low - 1)) + (335 - 1) / 2;
// W_0 = 7984
// W_c = 7673
range_start = (7984 << (known_low - 1)) + (7673 - 1) / 2;
while (range_start < range_end) {
#pragma omp parallel
......
TARGETS = pcg32-demo pcg32-global-demo pcg32x2-demo pcg64-demo
CPPFLAGS += -I.
PCG = $(HOME)/prison/pcg-c-0.94
CPPFLAGS += -I$(PCG)/include
CFLAGS += -std=c99 -Wall -Wextra
LDFLAGS += -L$(PCG)/src
LDLIBS += -lpcg_random
all: pcg64-challenge pcg64s-challenge
clean:
rm -f *.o pcg64-challenge pcg64s-challenge
......@@ -4,6 +4,8 @@
#include "pcg_variants.h"
#define DEBUG 1
int main()
{
// Seed the full-blown generator with external entropy
......@@ -26,8 +28,15 @@ int main()
pcg64_srandom_r(&rng, seeds[0], seeds[1]);
printf("Predictor input:\n");
for (int i = 0; i < 32; i++)
for (int i = 0; i < 32; i++) {
printf("X[%2d] = 0x%016" PRIx64 "\n", i, pcg64_random_r(&rng));
if (i == 0 && DEBUG) {
int known_low = 13;
printf("known_low = %d\n", known_low);
printf("W_0 = %04lld\n", (unsigned long long) (rng.state % (1 << known_low)));
printf("W_c = %04lld\n", (unsigned long long) (rng.inc % (1 << known_low)));
}
}
printf("\n");
printf("Remaining of the sequence (predictor output, in principle):\n");
for (int i = 32; i < 48; i++)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment