diff options
author | Kevin Greenan <kmgreen2@gmail.com> | 2013-12-27 20:55:04 -0800 |
---|---|---|
committer | Kevin Greenan <kmgreen2@gmail.com> | 2013-12-27 20:56:16 -0800 |
commit | 16838859dc6b4ae1e48c642f6f5e2a9502c2ad10 (patch) | |
tree | df26005a60f3eb7e833f7f9bd946bcf93a043fc4 /src | |
parent | c4ab254bbce42e6df9c89aee11ddb459bc86f4d0 (diff) | |
download | jerasure-16838859dc6b4ae1e48c642f6f5e2a9502c2ad10.tar.gz |
Added code to not use gf-complete mult_by_one if region size is small (less than 16 bytes).
Diffstat (limited to 'src')
-rw-r--r-- | src/galois.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/galois.c b/src/galois.c index 2382a2b..ca30dcf 100644 --- a/src/galois.c +++ b/src/galois.c @@ -326,7 +326,16 @@ void galois_w32_region_xor(void *src, void *dest, int nbytes) void galois_region_xor(char *src, char *dest, int nbytes) { - galois_w32_region_xor(src, dest, nbytes); + if (nbytes >= 16) { + galois_w32_region_xor(src, dest, nbytes); + } else { + int i = 0; + for (i = 0; i < nbytes; i++) { + *dest ^= *src; + dest++; + src++; + } + } } int galois_inverse(int y, int w) |