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>
(cherry picked from commit
5c9577172c9ba29890c821692dd4a9f9790b20d8)
#include <stdlib.h>
#include <gf_complete.h>
+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);
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);