summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Dachary <loic@dachary.org>2014-04-09 00:05:18 +0200
committerLoic Dachary <loic@dachary.org>2014-04-09 00:05:18 +0200
commit5c9577172c9ba29890c821692dd4a9f9790b20d8 (patch)
tree00df13beab5297886d7252ab58d631e1c7e0d766
parent80fc5d1d95f06ea4732717b06b42177099cc93c9 (diff)
downloadjerasure-5c9577172c9ba29890c821692dd4a9f9790b20d8.tar.gz
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 <loic@dachary.org>
-rw-r--r--include/galois.h1
-rw-r--r--src/galois.c2
2 files changed, 2 insertions, 1 deletions
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);