From 5c9577172c9ba29890c821692dd4a9f9790b20d8 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Wed, 9 Apr 2014 00:05:18 +0200 Subject: [PATCH] make galois_init_default_field(int w) extern So that the application can initialize gfp_array and gfp_is_composite instead of relying on initialization happening implicitly when the multiply or xor functions are called. The init function can be called once when the application guarantees thread safety. And the multiply and xor functions can be called from multiple threads without risking races. Signed-off-by: Loic Dachary --- include/galois.h | 1 + src/galois.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/galois.h b/include/galois.h index 4a2715e..9d815ab 100644 --- a/include/galois.h +++ b/include/galois.h @@ -46,6 +46,7 @@ extern "C" { #endif +extern void galois_init_default_field(int w); extern void galois_change_technique(gf_t *gf, int w); extern int galois_single_multiply(int a, int b, int w); diff --git a/src/galois.c b/src/galois.c index 398a649..5d4282e 100644 --- a/src/galois.c +++ b/src/galois.c @@ -168,7 +168,7 @@ gf_t* galois_init_composite_field(int w, return gfp; } -static void galois_init_default_field(int w) +void galois_init_default_field(int w) { if (w <= 0 || w > 32) { fprintf(stderr, "ERROR -- cannot init default Galois field for w=%d\n", w); -- 2.47.3