summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin Greenan <kmgreen2@gmail.com>2013-12-27 20:55:04 -0800
committerKevin Greenan <kmgreen2@gmail.com>2013-12-27 20:56:16 -0800
commit16838859dc6b4ae1e48c642f6f5e2a9502c2ad10 (patch)
treedf26005a60f3eb7e833f7f9bd946bcf93a043fc4 /src
parentc4ab254bbce42e6df9c89aee11ddb459bc86f4d0 (diff)
downloadjerasure-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.c11
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)