Jerasure as Submodule from github
authorMaximilian Quellmalz <maximilian.quellmalz@mailbox.tu-dresden.de>
Tue, 27 May 2014 10:23:26 +0000 (12:23 +0200)
committerMaximilian Quellmalz <maximilian.quellmalz@mailbox.tu-dresden.de>
Tue, 27 May 2014 10:49:00 +0000 (12:49 +0200)
166 files changed:
.gitignore [new file with mode: 0644]
.gitmodules [new file with mode: 0644]
Splitter-ng-plugin-jerasure/.gitignore [new file with mode: 0644]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java [new submodule]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/.gitignore [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/Makefile [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_01.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_02.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_03.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_04.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/decoder.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/encoder.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_01.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_02.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_03.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_04.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_05.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_06.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_07.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_08.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/liberation_01.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_01.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_02.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_03.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_04.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/License.txt [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Makefile [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.md [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.txt [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/CS-08-627.pdf [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/bc_s.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h_source.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy__best__r6_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/closed.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.css [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/files.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_0.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_1.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_2.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_3.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_4.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/formula.repository [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/galois_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/galois_8h.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/galois_8h_source.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/globals.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/globals_defs.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/globals_func.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/globals_vars.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/index.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/installdox [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/jerasure_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/jerasure_8h.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/jerasure_8h_source.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/jquery.js [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/liberation_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/liberation_8h.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/liberation_8h_source.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/nav_f.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/nav_h.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/open.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/pages.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/reed__sol_8c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/reed__sol_8h.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/reed__sol_8h_source.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_62.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_63.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_67.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_6a.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_6c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_6e.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_72.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_73.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/all_74.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/close.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/defines_6c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/defines_6e.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/defines_72.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/defines_73.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/defines_74.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/files_63.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/files_67.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/files_6a.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/files_6c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/files_72.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_62.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_63.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_67.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_6a.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_6c.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/functions_72.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/mag_sel.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/nomatches.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/search.css [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/search.js [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/search_l.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/search_m.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/search_r.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/search/variables_63.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/tab_a.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/tab_b.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/tab_h.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/tab_s.png [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/tabs.css [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/todo.html [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/Makefile [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/cauchy_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/cauchy_8h.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/cauchy__best__r6_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/doxygen.sty [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/files.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/galois_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/galois_8h.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/jerasure_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/jerasure_8h.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/liberation_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/liberation_8h.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/reed__sol_8c.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/reed__sol_8h.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/refman.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/latex/todo.tex [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doxygen.config [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/.gitignore [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/jerasure-jni-binding.iml [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/META-INF/MANIFEST.MF [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/LibraryLoader.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/jni/Cauchy.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/jni/Galois.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/jni/Jerasure.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/jni/Liberation.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/java/src/eu/vandertil/jerasure/jni/ReedSolomon.java [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JCauchy.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JCauchy.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JGalois.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JGalois.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JJerasure.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JJerasure.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JLiberation.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JLiberation.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JReedSolomon.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/JReedSolomon.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/Makefile [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/javautility.cpp [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/jni/javautility.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/Makefile [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/cauchy.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/cauchy.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/cauchy_best_r6.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/galois.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/galois.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/jerasure.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/jerasure.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/liberation.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/liberation.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/reed_sol.c [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/src/reed_sol.h [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/.gitignore [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/Jerasure.JNI/Jerasure.JNI.vcxproj [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/Jerasure.JNI/Jerasure.JNI.vcxproj.filters [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/Jerasure.Library/Jerasure.Library.vcxproj [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/Jerasure.Library/Jerasure.Library.vcxproj.filters [deleted file]
Splitter-ng-plugin-jerasure/Jerasure-1.2-java/win32/Jerasure.sln [deleted file]
build.xml

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..727bc05
--- /dev/null
@@ -0,0 +1 @@
+.directory
diff --git a/.gitmodules b/.gitmodules
new file mode 100644 (file)
index 0000000..01e1ffc
--- /dev/null
@@ -0,0 +1,3 @@
+[submodule "Splitter-ng-plugin-jerasure/Jerasure-1.2-java"]
+       path = Splitter-ng-plugin-jerasure/Jerasure-1.2-java
+       url = git@github.com:spamverdacht/Jerasure.git
diff --git a/Splitter-ng-plugin-jerasure/.gitignore b/Splitter-ng-plugin-jerasure/.gitignore
new file mode 100644 (file)
index 0000000..d3a455b
--- /dev/null
@@ -0,0 +1,5 @@
+*.o
+*.swp
+lib/
+*.org
+*.*~
\ No newline at end of file
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java
new file mode 160000 (submodule)
index 0000000..091b75f
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 091b75f1dc460e3af9bbfc213791bfd9fd50e945
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/.gitignore b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/.gitignore
deleted file mode 100644 (file)
index d3a455b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-*.o
-*.swp
-lib/
-*.org
-*.*~
\ No newline at end of file
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/Makefile b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/Makefile
deleted file mode 100644 (file)
index 179a7c2..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-# Examples/makefile
-# James S. Plank
-# 
-# JERASURE - Library for Erasure Coding
-# Copright (C) 2007 James S. Plank
-# 
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-# 
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-# 
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-# 
-# James S. Plank
-# Department of Computer Science
-# University of Tennessee
-# Knoxville, TN 37996
-# plank@cs.utk.edu
-
-# $Revision: 1.2 $
-# $Date: 2008/08/19 17:41:40 $
-
-CC = gcc
-CFLAGS = -g -I../include
-LDFLAGS = -L../lib -lJerasure
-
-ALL =  jerasure_01 \
-        jerasure_02 \
-        jerasure_03 \
-        jerasure_04 \
-        jerasure_05 \
-        jerasure_06 \
-        jerasure_07 \
-        jerasure_08 \
-        reed_sol_01 \
-        reed_sol_02 \
-        reed_sol_03 \
-        reed_sol_04 \
-        cauchy_01 \
-        cauchy_02 \
-        cauchy_03 \
-        cauchy_04 \
-        liberation_01 \
-               encoder \
-               decoder \
-
-all: $(ALL)
-
-clean:
-       rm -f core *.o $(ALL) 
-
-../lib/libJerasure.so:
-       make -C ../src/
-
-jerasure_01: jerasure_01.c ../lib/libJerasure.so
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_01 jerasure_01.c
-
-jerasure_02: jerasure_02.c ../lib/libJerasure.so
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_02 jerasure_02.c
-
-jerasure_03: jerasure_03.c 
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_03 jerasure_03.c
-
-jerasure_04: jerasure_04.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_04 jerasure_04.c
-
-jerasure_05: jerasure_05.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_05 jerasure_05.c
-
-jerasure_06: jerasure_06.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_06 jerasure_06.c
-
-jerasure_07: jerasure_07.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_07 jerasure_07.c
-
-jerasure_08: jerasure_08.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o jerasure_08 jerasure_08.c
-
-reed_sol_01: reed_sol_01.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o reed_sol_01 reed_sol_01.c
-
-reed_sol_02: reed_sol_02.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o reed_sol_02 reed_sol_02.c
-
-reed_sol_03: reed_sol_03.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o reed_sol_03 reed_sol_03.c
-
-reed_sol_04: reed_sol_04.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o reed_sol_04 reed_sol_04.c
-
-cauchy_01: cauchy_01.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o cauchy_01 cauchy_01.c
-
-cauchy_02: cauchy_02.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o cauchy_02 cauchy_02.c
-
-cauchy_03: cauchy_03.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o cauchy_03 cauchy_03.c
-
-cauchy_04: cauchy_04.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o cauchy_04 cauchy_04.c
-
-liberation_01: liberation_01.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o liberation_01 liberation_01.c
-
-encoder: encoder.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o encoder encoder.c
-
-decoder: decoder.c
-       $(CC) $(CFLAGS) $(LDFLAGS) -o decoder decoder.c
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_01.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_01.c
deleted file mode 100644 (file)
index 23e98e1..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Examples/cauchy_01.c
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: cauchy_01 n w - Prints the number of ones in the bitmatrix representation of n in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       It also prints out the bit-matrix and confirms that the number of ones is correct.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: cauchy_n_ones()\n");
-  fprintf(stderr, "                   jerasure_matrix_to_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_print_bitmatrix()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  int n, i, no, w;
-  int *bitmatrix;
-  
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &n) == 0 || n <= 0) usage("Bad n");
-  if (sscanf(argv[2], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w < 30 && n >= (1 << w)) usage("n is too big");
-
-  bitmatrix = jerasure_matrix_to_bitmatrix(1, 1, w, &n);
-  no = 0;
-  for (i = 0; i < w*w; i++) no += bitmatrix[i];
-
-  printf("# Ones: %d\n", cauchy_n_ones(n, w));
-  printf("\n");
-  printf("Bitmatrix has %d ones\n", no);
-  printf("\n");
-  jerasure_print_bitmatrix(bitmatrix, w, w, w);
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_02.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_02.c
deleted file mode 100644 (file)
index 9c218b6..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/* Examples/cauchy_02.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "cauchy.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: cauchy_02 k m w - Scheduled CRS coding example with the original matrix in  GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  It sets up a Cauchy distribution matrix using the original\n");
-  fprintf(stderr, "       Cauchy Distribution matrix construction algorithm, then it encodes\n");
-  fprintf(stderr, "       k devices of w*%zu bytes using smart bit-matrix scheduling.\n", sizeof(long));
-  fprintf(stderr, "       It decodes using bit-matrix scheduling as well.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: cauchy_original_coding_matrix()\n");
-  fprintf(stderr, "                   cauchy_xy_coding_matrix()\n");
-  fprintf(stderr, "                   cauchy_n_ones()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_lazy()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *matrix, *bitmatrix, *m2, *x, *y;
-  char **data, **coding;
-  int **smart;
-  int no;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-
-  matrix = cauchy_original_coding_matrix(k, m, w);
-  if (matrix == NULL) {
-    usage("couldn't make coding matrix");
-  }
-
-  no = 0;
-  for (i = 0; i < k*m; i++) {
-    no += cauchy_n_ones(matrix[i], w);
-  }
-  printf("Matrix has %d ones\n\n", no);
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  smart = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, smart, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Smart Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, w*sizeof(long), sizeof(long), 1);
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  x = talloc(int, m);
-  y = talloc(int, k);
-  if (x == NULL || y == NULL) { perror("malloc"); exit(1); }
-  for (i = 0; i < m; i++) x[i] = i;
-  for (i = 0; i < k; i++) y[i] = m+i;
-  m2 = cauchy_xy_coding_matrix(k, m, w, x, y);
-  if (memcmp(matrix, m2, sizeof(int)*k*m) != 0) {
-    printf("Error -- the matrices made by original and xy don't match\n");
-    exit(1);
-  } else {
-    printf("Generated the identical matrix using cauchy_xy_coding_matrix()\n");
-  }
-
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_03.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_03.c
deleted file mode 100644 (file)
index 415ee74..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-/* Examples/cauchy_03.c
- * James S. Plank
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "cauchy.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: cauchy_03 k m w - Scheduled CRS coding example with improved matrix in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  It sets up a Cauchy distribution matrix using the original\n");
-  fprintf(stderr, "       Cauchy Distribution matrix construction algorithm, then improves it\n");
-  fprintf(stderr, "       with cauchy_improve_coding_matrix().  Then it does the same encoding and\n");
-  fprintf(stderr, "       decoding as cauchy_02.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: cauchy_original_coding_matrix()\n");
-  fprintf(stderr, "                   cauchy_improve_coding_matrix()\n");
-  fprintf(stderr, "                   cauchy_n_ones()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_lazy()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *matrix, *bitmatrix;
-  char **data, **coding;
-  int **smart;
-  int no;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-
-  matrix = cauchy_original_coding_matrix(k, m, w);
-  if (matrix == NULL) {
-    usage("couldn't make coding matrix");
-  }
-
-  no = 0;
-  for (i = 0; i < k*m; i++) {
-    no += cauchy_n_ones(matrix[i], w);
-  }
-  printf("The Original Matrix has %d ones\n", no);
-  cauchy_improve_coding_matrix(k, m, w, matrix);
-  no = 0;
-  for (i = 0; i < k*m; i++) {
-    no += cauchy_n_ones(matrix[i], w);
-  }
-  printf("The Improved Matrix has %d ones\n\n", no);
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  smart = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, smart, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Smart Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, w*sizeof(long), sizeof(long), 1);
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_04.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/cauchy_04.c
deleted file mode 100644 (file)
index ae468ba..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/* Examples/cauchy_04.c
- * James S. Plank
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "cauchy.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: cauchy_04 k m w - Scheduled CRS coding example with a good matrix in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  It sets up a Cauchy distribution matrix using \n");
-  fprintf(stderr, "       cauchy_good_coding_matrix(), then it encodes\n");
-  fprintf(stderr, "       k devices of w*%zu bytes using smart bit-matrix scheduling.\n", sizeof(long));
-  fprintf(stderr, "       It decodes using bit-matrix scheduling as well.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: cauchy_original_coding_matrix()\n");
-  fprintf(stderr, "                   cauchy_n_ones()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_lazy()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *matrix, *bitmatrix;
-  char **data, **coding;
-  int **smart;
-  int no;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-
-  matrix = cauchy_good_general_coding_matrix(k, m, w);
-  if (matrix == NULL) {
-    usage("couldn't make coding matrix");
-  }
-
-  no = 0;
-  for (i = 0; i < k*m; i++) {
-    no += cauchy_n_ones(matrix[i], w);
-  }
-  printf("Matrix has %d ones\n\n", no);
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  smart = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, smart, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Smart Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random pieces of data/coding:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, w*sizeof(long), sizeof(long), 1);
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/decoder.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/decoder.c
deleted file mode 100644 (file)
index 6f40e7b..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-/* Examples/decoder.c
- * Catherine D. Schuman, James S. Plank
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
-*/
-
-/* 
-This program takes as input an inputfile, k, m, a coding
-technique, w, and packetsize.  It is the companion program
-of encoder.c, which creates k+m files.  This program assumes 
-that up to m erasures have occurred in the k+m files.  It
-reads in the k+m files or marks the file as erased. It then
-recreates the original file and creates a new file with the
-suffix "decoded" with the decoded contents of the file.
-
-This program does not error check command line arguments because 
-it is assumed that encoder.c has been called previously with the
-same arguments, and encoder.c does error check.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-#include "galois.h"
-#include "cauchy.h"
-#include "liberation.h"
-
-#define N 10
-
-enum Coding_Technique {Reed_Sol_Van, Reed_Sol_R6_Op, Cauchy_Orig, Cauchy_Good, Liberation, Blaum_Roth, Liber8tion, RDP, EVENODD, No_Coding};
-
-char *Methods[N] = {"reed_sol_van", "reed_sol_r6_op", "cauchy_orig", "cauchy_good", "liberation", "blaum_roth", "liber8tion", "rdp", "evenodd", "no_coding"};
-
-/* Global variables for signal handler */
-enum Coding_Technique method;
-int readins, n;
-
-/* Function prototype */
-void ctrl_bs_handler(int dummy);
-
-int main (int argc, char **argv) {
-       FILE *fp;                               // File pointer
-
-       /* Jerasure arguments */
-       char **data;
-       char **coding;
-       int *erasures;
-       int *erased;
-       int *matrix;
-       int *bitmatrix;
-       
-       /* Parameters */
-       int k, m, w, packetsize, buffersize;
-       enum Coding_Technique tech;
-       char *c_tech;
-       
-       int i, j;                               // loop control variables
-       int blocksize;                  // size of individual files
-       int origsize;                   // size of file before padding
-       int total;                              // used to write data, not padding to file
-       struct stat status;             // used to find size of individual files
-       int numerased;                  // number of erased files
-               
-       /* Used to recreate file names */
-       char *temp;
-       char *cs1, *cs2, *extension;
-       char *fname;
-       int md;
-       char *curdir;
-
-       /* Used to time decoding */
-       struct timeval t1, t2, t3, t4;
-       struct timezone tz;
-       double tsec;
-       double totalsec;
-
-       
-       signal(SIGQUIT, ctrl_bs_handler);
-
-       matrix = NULL;
-       bitmatrix = NULL;
-       totalsec = 0.0;
-       
-       /* Start timing */
-       gettimeofday(&t1, &tz);
-
-       /* Error checking parameters */
-       if (argc != 2) {
-               fprintf(stderr, "usage: inputfile\n");
-               exit(0);
-       }
-       curdir = (char *)malloc(sizeof(char)*100);
-       getcwd(curdir, 100);
-       
-       /* Begin recreation of file names */
-       cs1 = (char*)malloc(sizeof(char)*strlen(argv[1]));
-       cs2 = strrchr(argv[1], '/');
-       if (cs2 != NULL) {
-               cs2++;
-               strcpy(cs1, cs2);
-       }
-       else {
-               strcpy(cs1, argv[1]);
-       }
-       cs2 = strchr(cs1, '.');
-       if (cs2 != NULL) {
-                extension = strdup(cs2);
-               *cs2 = '\0';
-       } else {
-           extension = strdup("");
-        }      
-       fname = (char *)malloc(sizeof(char*)*(100+strlen(argv[1])+10));
-
-       /* Read in parameters from metadata file */
-       sprintf(fname, "%s/Coding/%s_meta.txt", curdir, cs1);
-
-       fp = fopen(fname, "rb");
-        if (fp == NULL) {
-          fprintf(stderr, "Error: no metadata file %s\n", fname);
-          exit(1);
-        }
-       temp = (char *)malloc(sizeof(char)*(strlen(argv[1])+10));
-       fscanf(fp, "%s", temp); 
-       
-       if (fscanf(fp, "%d", &origsize) != 1) {
-               fprintf(stderr, "Original size is not valid\n");
-               exit(0);
-       }
-       if (fscanf(fp, "%d %d %d %d %d", &k, &m, &w, &packetsize, &buffersize) != 5) {
-               fprintf(stderr, "Parameters are not correct\n");
-               exit(0);
-       }
-       c_tech = (char *)malloc(sizeof(char)*(strlen(argv[1])+10));
-       fscanf(fp, "%s", c_tech);
-       fscanf(fp, "%d", (int*)&tech);
-       method = tech;
-       fscanf(fp, "%d", &readins);
-       fclose(fp);     
-
-       /* Allocate memory */
-       erased = (int *)malloc(sizeof(int)*(k+m));
-       for (i = 0; i < k+m; i++)
-               erased[i] = 0;
-       erasures = (int *)malloc(sizeof(int)*(k+m));
-
-       data = (char **)malloc(sizeof(char *)*k);
-       coding = (char **)malloc(sizeof(char *)*m);
-       if (buffersize != origsize) {
-               for (i = 0; i < k; i++) {
-                       data[i] = (char *)malloc(sizeof(char)*(buffersize/k));
-               }
-               for (i = 0; i < m; i++) {
-                       coding[i] = (char *)malloc(sizeof(char)*(buffersize/k));
-               }
-               blocksize = buffersize/k;
-       }
-
-       sprintf(temp, "%d", k);
-       md = strlen(temp);
-       gettimeofday(&t3, &tz);
-
-       /* Create coding matrix or bitmatrix */
-       switch(tech) {
-               case No_Coding:
-                       break;
-               case Reed_Sol_Van:
-                       matrix = reed_sol_vandermonde_coding_matrix(k, m, w);
-                       break;
-               case Reed_Sol_R6_Op:
-                       matrix = reed_sol_r6_coding_matrix(k, w);
-                       break;
-               case Cauchy_Orig:
-                       matrix = cauchy_original_coding_matrix(k, m, w);
-                       bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-                       break;
-               case Cauchy_Good:
-                       matrix = cauchy_good_general_coding_matrix(k, m, w);
-                       bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-                       break;
-               case Liberation:
-                       bitmatrix = liberation_coding_bitmatrix(k, w);
-                       break;
-               case Blaum_Roth:
-                       bitmatrix = blaum_roth_coding_bitmatrix(k, w);
-                       break;
-               case Liber8tion:
-                       bitmatrix = liber8tion_coding_bitmatrix(k);
-               default:
-                       fprintf(stderr,  "unsupported coding technique used\n");
-                       break;
-       }
-       gettimeofday(&t4, &tz);
-       tsec = 0.0;
-       tsec += t4.tv_usec;
-       tsec -= t3.tv_usec;
-       tsec /= 1000000.0;
-       tsec += t4.tv_sec;
-       tsec -= t3.tv_sec;
-       totalsec += tsec;
-       
-       /* Begin decoding process */
-       total = 0;
-       n = 1;  
-       while (n <= readins) {
-               numerased = 0;
-               /* Open files, check for erasures, read in data/coding */       
-               for (i = 1; i <= k; i++) {
-                       sprintf(fname, "%s/Coding/%s_k%0*d%s", curdir, cs1, md, i, extension);
-                       fp = fopen(fname, "rb");
-                       if (fp == NULL) {
-                               erased[i-1] = 1;
-                               erasures[numerased] = i-1;
-                               numerased++;
-                               //printf("%s failed\n", fname);
-                       }
-                       else {
-                               if (buffersize == origsize) {
-                                       stat(fname, &status);
-                                       blocksize = status.st_size;
-                                       data[i-1] = (char *)malloc(sizeof(char)*blocksize);
-                                       fread(data[i-1], sizeof(char), blocksize, fp);
-                               }
-                               else {
-                                       fseek(fp, blocksize*(n-1), SEEK_SET); 
-                                       fread(data[i-1], sizeof(char), buffersize/k, fp);
-                               }
-                               fclose(fp);
-                       }
-               }
-               for (i = 1; i <= m; i++) {
-                       sprintf(fname, "%s/Coding/%s_m%0*d%s", curdir, cs1, md, i, extension);
-                               fp = fopen(fname, "rb");
-                       if (fp == NULL) {
-                               erased[k+(i-1)] = 1;
-                               erasures[numerased] = k+i-1;
-                               numerased++;
-                               //printf("%s failed\n", fname);
-                       }
-                       else {
-                               if (buffersize == origsize) {
-                                       stat(fname, &status);
-                                       blocksize = status.st_size;
-                                       coding[i-1] = (char *)malloc(sizeof(char)*blocksize);
-                                       fread(coding[i-1], sizeof(char), blocksize, fp);
-                               }
-                               else {
-                                       fseek(fp, blocksize*(n-1), SEEK_SET);
-                                       fread(coding[i-1], sizeof(char), blocksize, fp);
-                               }       
-                               fclose(fp);
-                       }
-               }
-               /* Finish allocating data/coding if needed */
-               if (n == 1) {
-                       for (i = 0; i < numerased; i++) {
-                               if (erasures[i] < k) {
-                                       data[erasures[i]] = (char *)malloc(sizeof(char)*blocksize);
-                               }
-                               else {
-                                       coding[erasures[i]-k] = (char *)malloc(sizeof(char)*blocksize);
-                               }
-                       }
-               }
-               
-               erasures[numerased] = -1;
-               gettimeofday(&t3, &tz);
-       
-               /* Choose proper decoding method */
-               if (tech == Reed_Sol_Van || tech == Reed_Sol_R6_Op) {
-                       i = jerasure_matrix_decode(k, m, w, matrix, 1, erasures, data, coding, blocksize);
-               }
-               else if (tech == Cauchy_Orig || tech == Cauchy_Good || tech == Liberation || tech == Blaum_Roth || tech == Liber8tion) {
-                       i = jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, blocksize, packetsize, 1);
-               }
-               else {
-                       fprintf(stderr, "Not a valid coding technique.\n");
-                       exit(0);
-               }
-               gettimeofday(&t4, &tz);
-       
-               /* Exit if decoding was unsuccessful */
-               if (i == -1) {
-                       fprintf(stderr, "Unsuccessful!\n");
-                       exit(0);
-               }
-       
-               /* Create decoded file */
-               sprintf(fname, "%s/Coding/%s_decoded%s", curdir, cs1, extension);
-               if (n == 1) {
-                       fp = fopen(fname, "wb");
-               }
-               else {
-                       fp = fopen(fname, "ab");
-               }
-               for (i = 0; i < k; i++) {
-                       if (total+blocksize <= origsize) {
-                               fwrite(data[i], sizeof(char), blocksize, fp);
-                               total+= blocksize;
-                       }
-                       else {
-                               for (j = 0; j < blocksize; j++) {
-                                       if (total < origsize) {
-                                               fprintf(fp, "%c", data[i][j]);
-                                               total++;
-                                       }
-                                       else {
-                                               break;
-                                       }
-                                       
-                               }
-                       }
-               }
-               n++;
-               fclose(fp);
-               tsec = 0.0;
-               tsec += t4.tv_usec;
-               tsec -= t3.tv_usec;
-               tsec /= 1000000.0;
-               tsec += t4.tv_sec;
-               tsec -= t3.tv_sec;
-               totalsec += tsec;
-       }
-       
-       /* Free allocated memory */
-       free(cs1);
-       free(extension);
-       free(fname);
-       free(data);
-       free(coding);
-       free(erasures);
-       free(erased);
-       
-       /* Stop timing and print time */
-       gettimeofday(&t2, &tz);
-       tsec = 0;
-       tsec += t2.tv_usec;
-       tsec -= t1.tv_usec;
-       tsec /= 1000000.0;
-       tsec += t2.tv_sec;
-       tsec -= t1.tv_sec;
-       printf("Decoding (MB/sec): %0.10f\n", (origsize/1024/1024)/totalsec);
-       printf("De_Total (MB/sec): %0.10f\n\n", (origsize/1024/1024)/tsec);
-}      
-
-void ctrl_bs_handler(int dummy) {
-       time_t mytime;
-       mytime = time(0);
-       fprintf(stderr, "\n%s\n", ctime(&mytime));
-       fprintf(stderr, "You just typed ctrl-\\ in decoder.c\n");
-       fprintf(stderr, "Total number of read ins = %d\n", readins);
-       fprintf(stderr, "Current read in: %d\n", n);
-       fprintf(stderr, "Method: %s\n\n", Methods[method]);
-       signal(SIGQUIT, ctrl_bs_handler);
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/encoder.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/encoder.c
deleted file mode 100644 (file)
index 95107cc..0000000
+++ /dev/null
@@ -1,641 +0,0 @@
-/* Examples/encoder.c
- * Catherine D. Schuman, James S. Plank
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-
-/* 
-
-This program takes as input an inputfile, k, m, a coding 
-technique, w, and packetsize.  It creates k+m files from 
-the original file so that k of these files are parts of 
-the original file and m of the files are encoded based on 
-the given coding technique. The format of the created files 
-is the file name with "_k#" or "_m#" and then the extension.  
-(For example, inputfile test.txt would yield file "test_k1.txt".)
-
- */
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <signal.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-#include "galois.h"
-#include "cauchy.h"
-#include "liberation.h"
-
-#define N 10
-
-enum Coding_Technique {Reed_Sol_Van, Reed_Sol_R6_Op, Cauchy_Orig, Cauchy_Good, Liberation, Blaum_Roth, Liber8tion, RDP, EVENODD, No_Coding};
-
-char *Methods[N] = {"reed_sol_van", "reed_sol_r6_op", "cauchy_orig", "cauchy_good", "liberation", "blaum_roth", "liber8tion", "no_coding"};
-
-/* Global variables for signal handler */
-int readins, n;
-enum Coding_Technique method;
-
-/* Function prototypes */
-int is_prime(int w);
-void ctrl_bs_handler(int dummy);
-
-int jfread(void *ptr, int size, int nmembers, FILE *stream)
-{
-  int nd;
-  int *li, i;
-  if (stream != NULL) return fread(ptr, size, nmembers, stream);
-
-  nd = size/sizeof(int);
-  li = (int *) ptr;
-  for (i = 0; i < nd; i++) li[i] = mrand48();
-  return size;
-}
-
-
-int main (int argc, char **argv) {
-       FILE *fp, *fp2;                         // file pointers
-       char *block;                            // padding file
-       int size, newsize;                      // size of file and temp size 
-       struct stat status;                     // finding file size
-
-       
-       enum Coding_Technique tech;             // coding technique (parameter)
-       int k, m, w, packetsize;                // parameters
-       int buffersize;                                 // paramter
-       int i;                                                  // loop control variables
-       int blocksize;                                  // size of k+m files
-       int total;
-       int extra;
-       
-       /* Jerasure Arguments */
-       char **data;                            
-       char **coding;
-       int *matrix;
-       int *bitmatrix;
-       int **schedule;
-       
-       /* Creation of file name variables */
-       char temp[5];
-       char *s1, *s2, *extension;
-       char *fname;
-       int md;
-       char *curdir;
-       
-       /* Timing variables */
-       struct timeval t1, t2, t3, t4;
-       struct timezone tz;
-       double tsec;
-       double totalsec;
-       struct timeval start;
-
-       /* Find buffersize */
-       int up, down;
-
-
-       signal(SIGQUIT, ctrl_bs_handler);
-
-       /* Start timing */
-       gettimeofday(&t1, &tz);
-       totalsec = 0.0;
-       matrix = NULL;
-       bitmatrix = NULL;
-       schedule = NULL;
-       
-       /* Error check Arguments*/
-       if (argc != 8) {
-               fprintf(stderr,  "usage: inputfile k m coding_technique w (packetsize) (buffersize)\n");
-               fprintf(stderr,  "\nChoose one of the following coding techniques: \nreed_sol_van, \nreed_sol_r6_op, \ncauchy_orig, \ncauchy_good, \nliberation, \nblaum_roth, \nliber8tion");
-               exit(0);
-       }
-       /* Conversion of parameters and error checking */       
-       if (sscanf(argv[2], "%d", &k) == 0 || k <= 0) {
-               fprintf(stderr,  "Invalid value for k\n");
-               exit(0);
-       }
-       if (sscanf(argv[3], "%d", &m) == 0 || m < 0) {
-               fprintf(stderr,  "Invalid value for m\n");
-               exit(0);
-       }
-       if (sscanf(argv[5],"%d", &w) == 0 || w <= 0) {
-               fprintf(stderr,  "Invalid value for w.\n");
-               exit(0);
-       }
-       if (argc == 6) {
-               packetsize = 0;
-       }
-       else {
-               if (sscanf(argv[6], "%d", &packetsize) == 0 || packetsize < 0) {
-                       fprintf(stderr,  "Invalid value for packetsize.\n");
-                       exit(0);
-               }
-       }
-       if (argc != 8) {
-               buffersize = 0;
-       }
-       else {
-               if (sscanf(argv[7], "%d", &buffersize) == 0 || buffersize < 0) {
-                       fprintf(stderr, "Invalid value for buffersize\n");
-                       exit(0);
-               }
-               
-       }
-
-       /* Determine proper buffersize by finding the closest valid buffersize to the input value  */
-       if (buffersize != 0) {
-               if (packetsize != 0 && buffersize%(sizeof(int)*w*k*packetsize) != 0) { 
-                       up = buffersize;
-                       down = buffersize;
-                       while (up%(sizeof(int)*w*k*packetsize) != 0 && (down%(sizeof(int)*w*k*packetsize) != 0)) {
-                               up++;
-                               if (down == 0) {
-                                       down--;
-                               }
-                       }
-                       if (up%(sizeof(int)*w*k*packetsize) == 0) {
-                               buffersize = up;
-                       }
-                       else {
-                               if (down != 0) {
-                                       buffersize = down;
-                               }
-                       }
-               }
-               else if (packetsize == 0 && buffersize%(sizeof(int)*w*k) != 0) {
-                       up = buffersize;
-                       down = buffersize;
-                       while (up%(sizeof(int)*w*k) != 0 && down%(sizeof(int)*w*k) != 0) {
-                               up++;
-                               down--;
-                       }
-                       if (up%(sizeof(int)*w*k) == 0) {
-                               buffersize = up;
-                       }
-                       else {
-                               buffersize = down;
-                       }
-               }
-       }
-
-       /* Setting of coding technique and error checking */
-       
-       if (strcmp(argv[4], "no_coding") == 0) {
-               tech = No_Coding;
-       }
-       else if (strcmp(argv[4], "reed_sol_van") == 0) {
-               tech = Reed_Sol_Van;
-               if (w != 8 && w != 16 && w != 32) {
-                       fprintf(stderr,  "w must be one of {8, 16, 32}\n");
-                       exit(0);
-               }
-       }
-       else if (strcmp(argv[4], "reed_sol_r6_op") == 0) {
-               if (m != 2) {
-                       fprintf(stderr,  "m must be equal to 2\n");
-                       exit(0);
-               }
-               if (w != 8 && w != 16 && w != 32) {
-                       fprintf(stderr,  "w must be one of {8, 16, 32}\n");
-                       exit(0);
-               }
-               tech = Reed_Sol_R6_Op;
-       }
-       else if (strcmp(argv[4], "cauchy_orig") == 0) {
-               tech = Cauchy_Orig;
-               if (packetsize == 0) {
-                       fprintf(stderr, "Must include packetsize.\n");
-                       exit(0);
-               }
-       }
-       else if (strcmp(argv[4], "cauchy_good") == 0) {
-               tech = Cauchy_Good;
-               if (packetsize == 0) {
-                       fprintf(stderr, "Must include packetsize.\n");
-                       exit(0);
-               }
-       }
-       else if (strcmp(argv[4], "liberation") == 0) {
-               if (k > w) {
-                       fprintf(stderr,  "k must be less than or equal to w\n");
-                       exit(0);
-               }
-               if (w <= 2 || !(w%2) || !is_prime(w)) {
-                       fprintf(stderr,  "w must be greater than two and w must be prime\n");
-                       exit(0);
-               }
-               if (packetsize == 0) {
-                       fprintf(stderr, "Must include packetsize.\n");
-                       exit(0);
-               }
-               if ((packetsize%(sizeof(int))) != 0) {
-                       fprintf(stderr,  "packetsize must be a multiple of sizeof(int)\n");
-                       exit(0);
-               }
-               tech = Liberation;
-       }
-       else if (strcmp(argv[4], "blaum_roth") == 0) {
-               if (k > w) {
-                       fprintf(stderr,  "k must be less than or equal to w\n");
-                       exit(0);
-               }
-               if (w <= 2 || !((w+1)%2) || !is_prime(w+1)) {
-                       fprintf(stderr,  "w must be greater than two and w+1 must be prime\n");
-                       exit(0);
-               }
-               if (packetsize == 0) {
-                       fprintf(stderr, "Must include packetsize.\n");
-                       exit(0);
-               }
-               if ((packetsize%(sizeof(int))) != 0) {
-                       fprintf(stderr,  "packetsize must be a multiple of sizeof(int)\n");
-                       exit(0);
-               }
-               tech = Blaum_Roth;
-       }
-       else if (strcmp(argv[4], "liber8tion") == 0) {
-               if (packetsize == 0) {
-                       fprintf(stderr, "Must include packetsize\n");
-                       exit(0);
-               }
-               if (w != 8) {
-                       fprintf(stderr, "w must equal 8\n");
-                       exit(0);
-               }
-               if (m != 2) {
-                       fprintf(stderr, "m must equal 2\n");
-                       exit(0);
-               }
-               if (k > w) {
-                       fprintf(stderr, "k must be less than or equal to w\n");
-                       exit(0);
-               }
-               tech = Liber8tion;
-       }
-       else {
-               fprintf(stderr,  "Not a valid coding technique. Choose one of the following: reed_sol_van, reed_sol_r6_op, cauchy_orig, cauchy_good, liberation, blaum_roth, liber8tion, no_coding\n");
-               exit(0);
-       }
-
-       /* Set global variable method for signal handler */
-       method = tech;
-
-       /* Get current working directory for construction of file names */
-       curdir = (char*)malloc(sizeof(char)*1000);      
-       getcwd(curdir, 1000);
-
-        if (argv[1][0] != '-') {
-
-               /* Open file and error check */
-               fp = fopen(argv[1], "rb");
-               if (fp == NULL) {
-                       fprintf(stderr,  "Unable to open file.\n");
-                       exit(0);
-               }
-       
-               /* Create Coding directory */
-               i = mkdir("Coding", S_IRWXU);
-               if (i == -1 && errno != EEXIST) {
-                       fprintf(stderr, "Unable to create Coding directory.\n");
-                       exit(0);
-               }
-       
-               /* Determine original size of file */
-               stat(argv[1], &status); 
-               size = status.st_size;
-        } else {
-               if (sscanf(argv[1]+1, "%d", &size) != 1 || size <= 0) {
-                       fprintf(stderr, "Files starting with '-' should be sizes for randomly created input\n");
-                       exit(1);
-               }
-               fp = NULL;
-               srand48(time(0));
-        }
-
-       newsize = size;
-       
-       /* Find new size by determining next closest multiple */
-       if (packetsize != 0) {
-               if (size%(k*w*packetsize*sizeof(int)) != 0) {
-                       while (newsize%(k*w*packetsize*sizeof(int)) != 0) 
-                               newsize++;
-               }
-       }
-       else {
-               if (size%(k*w*sizeof(int)) != 0) {
-                       while (newsize%(k*w*sizeof(int)) != 0) 
-                               newsize++;
-               }
-       }
-       
-       if (buffersize != 0) {
-               while (newsize%buffersize != 0) {
-                       newsize++;
-               }
-       }
-
-
-       /* Determine size of k+m files */
-       blocksize = newsize/k;
-
-       /* Allow for buffersize and determine number of read-ins */
-       if (size > buffersize && buffersize != 0) {
-               if (newsize%buffersize != 0) {
-                       readins = newsize/buffersize;
-               }
-               else {
-                       readins = newsize/buffersize;
-               }
-               block = (char *)malloc(sizeof(char)*buffersize);
-               blocksize = buffersize/k;
-       }
-       else {
-               readins = 1;
-               buffersize = size;
-               block = (char *)malloc(sizeof(char)*newsize);
-       }
-       
-       /* Break inputfile name into the filename and extension */      
-       s1 = (char*)malloc(sizeof(char)*(strlen(argv[1])+10));
-       s2 = strrchr(argv[1], '/');
-       if (s2 != NULL) {
-               s2++;
-               strcpy(s1, s2);
-       }
-       else {
-               strcpy(s1, argv[1]);
-       }
-       s2 = strchr(s1, '.');
-       if (s2 != NULL) {
-          extension = strdup(s2);
-          *s2 = '\0';
-       } else {
-          extension = strdup("");
-        }
-       
-       /* Allocate for full file name */
-       fname = (char*)malloc(sizeof(char)*(strlen(argv[1])+strlen(curdir)+10));
-       sprintf(temp, "%d", k);
-       md = strlen(temp);
-       
-       /* Allocate data and coding */
-       data = (char **)malloc(sizeof(char*)*k);
-       coding = (char **)malloc(sizeof(char*)*m);
-       for (i = 0; i < m; i++) {
-               coding[i] = (char *)malloc(sizeof(char)*blocksize);
-                if (coding[i] == NULL) { perror("malloc"); exit(1); }
-       }
-
-       
-
-       /* Create coding matrix or bitmatrix and schedule */
-       gettimeofday(&t3, &tz);
-       switch(tech) {
-               case No_Coding:
-                       break;
-               case Reed_Sol_Van:
-                       matrix = reed_sol_vandermonde_coding_matrix(k, m, w);
-                       break;
-               case Cauchy_Orig:
-                       matrix = cauchy_original_coding_matrix(k, m, w);
-                       bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-                       schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-                       break;
-               case Cauchy_Good:
-                       matrix = cauchy_good_general_coding_matrix(k, m, w);
-                       bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-                       schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-                       break;  
-               case Liberation:
-                       bitmatrix = liberation_coding_bitmatrix(k, w);
-                       schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-                       break;
-               case Blaum_Roth:
-                       bitmatrix = blaum_roth_coding_bitmatrix(k, w);
-                       schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-                       break;
-               case Liber8tion:
-                       bitmatrix = liber8tion_coding_bitmatrix(k);
-                       schedule = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-                       break;
-               default:
-                       fprintf(stderr,  "unsupported coding technique used\n");
-                       break;
-       }
-       gettimeofday(&start, &tz);      
-       gettimeofday(&t4, &tz);
-       tsec = 0.0;
-       tsec += t4.tv_usec;
-       tsec -= t3.tv_usec;
-       tsec /= 1000000.0;
-       tsec += t4.tv_sec;
-       tsec -= t3.tv_sec;
-       totalsec += tsec;
-       
-
-       /* Read in data until finished */
-       n = 1;
-       total = 0;
-
-       while (n <= readins) {
-               /* Check if padding is needed, if so, add appropriate 
-                  number of zeros */
-               if (total < size && total+buffersize <= size) {
-                       total += jfread(block, sizeof(char), buffersize, fp);
-               }
-               else if (total < size && total+buffersize > size) {
-                       extra = jfread(block, sizeof(char), buffersize, fp);
-                       for (i = extra; i < buffersize; i++) {
-                               block[i] = '0';
-                       }
-               }
-               else if (total == size) {
-                       for (i = 0; i < buffersize; i++) {
-                               block[i] = '0';
-                       }
-               }
-       
-                       
-               /* Set pointers to point to file data */
-               for (i = 0; i < k; i++) {
-                       data[i] = block+(i*blocksize);
-               }
-
-       gettimeofday(&t3, &tz);
-               /* Encode according to coding method */
-               switch(tech) {  
-                       case No_Coding:
-                               break;
-                       case Reed_Sol_Van:
-                               jerasure_matrix_encode(k, m, w, matrix, data, coding, blocksize);
-                               break;
-                       case Reed_Sol_R6_Op:
-                               reed_sol_r6_encode(k, w, data, coding, blocksize);
-                               break;
-                       case Cauchy_Orig:
-                               jerasure_schedule_encode(k, m, w, schedule, data, coding, blocksize, packetsize);
-                               break;
-                       case Cauchy_Good:
-                               jerasure_schedule_encode(k, m, w, schedule, data, coding, blocksize, packetsize);
-                               break;
-                       case Liberation:
-                               jerasure_schedule_encode(k, m, w, schedule, data, coding, blocksize, packetsize);
-                               break;
-                       case Blaum_Roth:
-                               jerasure_schedule_encode(k, m, w, schedule, data, coding, blocksize, packetsize);
-                               break;
-                       case Liber8tion:
-                               jerasure_schedule_encode(k, m, w, schedule, data, coding, blocksize, packetsize);
-                               break;
-                       default:
-                               fprintf(stderr,  "unsupported coding technique used\n");
-                               break;
-               }
-               gettimeofday(&t4, &tz);
-       
-               /* Write data and encoded data to k+m files */
-               for     (i = 1; i <= k; i++) {
-                       if (fp == NULL) {
-                               bzero(data[i-1], blocksize);
-                       } else {
-                               sprintf(fname, "%s/Coding/%s_k%0*d%s", curdir, s1, md, i, extension);
-                               if (n == 1) {
-                                       fp2 = fopen(fname, "wb");
-                               }
-                               else {
-                                       fp2 = fopen(fname, "ab");
-                               }
-                               fwrite(data[i-1], sizeof(char), blocksize, fp2);
-                               fclose(fp2);
-                       }
-                       
-               }
-               for     (i = 1; i <= m; i++) {
-                       if (fp == NULL) {
-                               bzero(data[i-1], blocksize);
-                       } else {
-                               sprintf(fname, "%s/Coding/%s_m%0*d%s", curdir, s1, md, i, extension);
-                               if (n == 1) {
-                                       fp2 = fopen(fname, "wb");
-                               }
-                               else {
-                                       fp2 = fopen(fname, "ab");
-                               }
-                               fwrite(coding[i-1], sizeof(char), blocksize, fp2);
-                               fclose(fp2);
-                       }
-               }
-               n++;
-               /* Calculate encoding time */
-               tsec = 0.0;
-               tsec += t4.tv_usec;
-               tsec -= t3.tv_usec;
-               tsec /= 1000000.0;
-               tsec += t4.tv_sec;
-               tsec -= t3.tv_sec;
-               totalsec += tsec;
-       }
-
-       /* Create metadata file */
-        if (fp != NULL) {
-               sprintf(fname, "%s/Coding/%s_meta.txt", curdir, s1);
-               fp2 = fopen(fname, "wb");
-               fprintf(fp2, "%s\n", argv[1]);
-               fprintf(fp2, "%d\n", size);
-               fprintf(fp2, "%d %d %d %d %d\n", k, m, w, packetsize, buffersize);
-               fprintf(fp2, "%s\n", argv[4]);
-               fprintf(fp2, "%d\n", tech);
-               fprintf(fp2, "%d\n", readins);
-               fclose(fp2);
-       }
-
-
-       /* Free allocated memory */
-       free(s1);
-       free(fname);
-       free(block);
-       free(curdir);
-       
-       /* Calculate rate in MB/sec and print */
-       gettimeofday(&t2, &tz);
-       tsec = 0.0;
-       tsec += t2.tv_usec;
-       tsec -= t1.tv_usec;
-       tsec /= 1000000.0;
-       tsec += t2.tv_sec;
-       tsec -= t1.tv_sec;
-       printf("Encoding (MB/sec): %0.10f\n", (size/1024/1024)/totalsec);
-       printf("En_Total (MB/sec): %0.10f\n", (size/1024/1024)/tsec);
-}
-
-/* is_prime returns 1 if number if prime, 0 if not prime */
-int is_prime(int w) {
-       int prime55[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,
-           73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,
-                   181,191,193,197,199,211,223,227,229,233,239,241,251,257};
-       int i;
-       for (i = 0; i < 55; i++) {
-               if (w%prime55[i] == 0) {
-                       if (w == prime55[i]) return 1;
-                       else { return 0; }
-               }
-       }
-       // explicit return value
-       return 0;
-}
-
-/* Handles ctrl-\ event */
-void ctrl_bs_handler(int dummy) {
-       time_t mytime;
-       mytime = time(0);
-       fprintf(stderr, "\n%s\n", ctime(&mytime));
-       fprintf(stderr, "You just typed ctrl-\\ in encoder.c.\n");
-       fprintf(stderr, "Total number of read ins = %d\n", readins);
-       fprintf(stderr, "Current read in: %d\n", n);
-       fprintf(stderr, "Method: %s\n\n", Methods[method]);     
-       signal(SIGQUIT, ctrl_bs_handler);
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_01.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_01.c
deleted file mode 100644 (file)
index 7178323..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Examples/jerasure_01.c
- * James S. Plank
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_01 r c w - creates and prints out a matrix in GF(2^w).\n\n");
-  fprintf(stderr, "       Element i,j is equal to 2^(i*c+j)\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates jerasure_print_matrix().\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  int r, c, w, i, n;
-  int *matrix;
-
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &r) == 0 || r <= 0) usage("Bad r");
-  if (sscanf(argv[2], "%d", &c) == 0 || c <= 0) usage("Bad c");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0) usage("Bad w");
-
-  matrix = talloc(int, r*c);
-
-  n = 1;
-  for (i = 0; i < r*c; i++) {
-    matrix[i] = n;
-    n = galois_single_multiply(n, 2, w);
-  }
-
-  jerasure_print_matrix(matrix, r, c, w);
-  return 0;
-}
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_02.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_02.c
deleted file mode 100644 (file)
index aad2cfa..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Examples/jerasure_02.c
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_02 r c w - Converts the matrix of jerasure_01 to a bit matrix.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates jerasure_print_bitmatrix() and jerasure_matrix_to_bitmatrix().\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  int r, c, w, i, n;
-  int *matrix;
-  int *bitmatrix;
-
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &r) == 0 || r <= 0) usage("Bad r");
-  if (sscanf(argv[2], "%d", &c) == 0 || c <= 0) usage("Bad c");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0) usage("Bad w");
-
-  matrix = talloc(int, r*c);
-
-  n = 1;
-  for (i = 0; i < r*c; i++) {
-    matrix[i] = n;
-    n = galois_single_multiply(n, 2, w);
-  }
-
-  bitmatrix = jerasure_matrix_to_bitmatrix(c, r, w, matrix);
-  jerasure_print_bitmatrix(bitmatrix, r*w, c*w, w);
-  return 0;
-}
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_03.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_03.c
deleted file mode 100644 (file)
index 5b49470..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Examples/jerasure_03.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_03 k w - Creates a kxk Cauchy matrix in GF(2^w). \n\n");
-  fprintf(stderr, "       k must be < 2^w.  Element i,j is 1/(i+(2^w-j-1)).  (If that is\n");
-  fprintf(stderr, "       1/0, then it sets it to zero).  \n");
-  fprintf(stderr, "       It then tests whether that matrix is invertible.\n");
-  fprintf(stderr, "       If it is invertible, then it prints out the inverse.\n");
-  fprintf(stderr, "       Finally, it prints the product of the matrix and its inverse.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_print_matrix()\n");
-  fprintf(stderr, "                   jerasure_invertible_matrix()\n");
-  fprintf(stderr, "                   jerasure_invert_matrix()\n");
-  fprintf(stderr, "                   jerasure_matrix_multiply().\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  unsigned int k, w, i, j, n;
-  int *matrix;
-  int *matrix_copy;
-  int *inverse;
-  int *identity;
-
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &w) == 0 || w <= 0 || w > 31) usage("Bad w");
-  if (k >= (1 << w)) usage("K too big");
-
-  matrix = talloc(int, k*k);
-  matrix_copy = talloc(int, k*k);
-  inverse = talloc(int, k*k);
-
-  for (i = 0; i < k; i++) {
-    for (j = 0; j < k; j++) {
-      n = i ^ ((1 << w)-1-j);
-      matrix[i*k+j] = (n == 0) ? 0 : galois_single_divide(1, n, w);
-    }
-  }
-
-  printf("The Cauchy Matrix:\n");
-  jerasure_print_matrix(matrix, k, k, w);
-  memcpy(matrix_copy, matrix, sizeof(int)*k*k);
-  i = jerasure_invertible_matrix(matrix_copy, k, w);
-  printf("\nInvertible: %s\n", (i == 1) ? "Yes" : "No");
-  if (i == 1) {
-    printf("\nInverse:\n");
-    memcpy(matrix_copy, matrix, sizeof(int)*k*k);
-    i = jerasure_invert_matrix(matrix_copy, inverse, k, w);
-    jerasure_print_matrix(inverse, k, k, w);
-    identity = jerasure_matrix_multiply(inverse, matrix, k, k, k, k, w);
-    printf("\nInverse times matrix (should be identity):\n");
-    jerasure_print_matrix(identity, k, k, w);
-  }
-  return 0;
-}
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_04.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_04.c
deleted file mode 100644 (file)
index b927ae0..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Examples/jerasure_04.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_04 k w - Performs the analogous bit-matrix operations to jerasure_03.\n\n");
-  fprintf(stderr, "       It converts the matrix to a kw*kw bit matrix and does the same operations.\n");
-  fprintf(stderr, "       k must be < 2^w.\n");
-  fprintf(stderr, "This demonstrates: jerasure_print_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_matrix_to_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_invertible_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_invert_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_matrix_multiply().\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  unsigned int k, w, i, j, n;
-  int *matrix;
-  int *bitmatrix;
-  int *bitmatrix_copy;
-  int *inverse;
-  int *identity;
-
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &w) == 0 || w <= 0 || w > 31) usage("Bad w");
-  if (k >= (1 << w)) usage("K too big");
-
-  matrix = talloc(int, k*k);
-  bitmatrix_copy = talloc(int, k*w*k*w);
-  inverse = talloc(int, k*w*k*w);
-
-  for (i = 0; i < k; i++) {
-    for (j = 0; j < k; j++) {
-      n = i ^ ((1 << w)-1-j);
-      matrix[i*k+j] = (n == 0) ? 0 : galois_single_divide(1, n, w);
-    }
-  }
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, k, w, matrix);
-
-  printf("The Cauchy Bit-Matrix:\n");
-  jerasure_print_bitmatrix(bitmatrix, k*w, k*w, w);
-  memcpy(bitmatrix_copy, bitmatrix, sizeof(int)*k*w*k*w);
-  i = jerasure_invertible_bitmatrix(bitmatrix_copy, k*w);
-  printf("\nInvertible: %s\n", (i == 1) ? "Yes" : "No");
-  if (i == 1) {
-    printf("\nInverse:\n");
-    memcpy(bitmatrix_copy, bitmatrix, sizeof(int)*k*w*k*w);
-    i = jerasure_invert_bitmatrix(bitmatrix_copy, inverse, k*w);
-    jerasure_print_bitmatrix(inverse, k*w, k*w, w);
-    identity = jerasure_matrix_multiply(inverse, bitmatrix, k*w, k*w, k*w, k*w, 2);
-    printf("\nInverse times matrix (should be identity):\n");
-    jerasure_print_bitmatrix(identity, k*w, k*w, w);
-  }
-  return 0;
-}
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_05.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_05.c
deleted file mode 100644 (file)
index 47b3b8b..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Examples/jerasure_05.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-    
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_05 k m w size - Does a simple Reed-Solomon coding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  w can be 8, 16 or 32.\n");
-  fprintf(stderr, "       It sets up a Cauchy distribution matrix and encodes\n");
-  fprintf(stderr, "       k devices of size %zu bytes with it.  Then it decodes.\n", sizeof(long));
-  fprintf(stderr, "       After that, it decodes device 0 by using jerasure_make_decoding_matrix()\n");
-  fprintf(stderr, "       and jerasure_matrix_dotprod().\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_matrix_encode()\n");
-  fprintf(stderr, "                   jerasure_matrix_decode()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  fprintf(stderr, "                   jerasure_make_decoding_matrix()\n");
-  fprintf(stderr, "                   jerasure_matrix_dotprod()\n");
-  if (s != NULL) fprintf(stderr, "\n%s\n\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int size, 
-               char **data, char **coding) 
-{
-  int i, j, x;
-  int n, sp;
-
-  if(k > m) n = k;
-  else n = m;
-  sp = size * 2 + size/(w/8) + 8;
-
-  printf("%-*sCoding\n", sp, "Data");
-  for(i = 0; i < n; i++) {
-         if(i < k) {
-                 printf("D%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)data[i][j+x]);
-                         }
-                 }
-                 printf("    ");
-         }
-         else printf("%*s", sp, "");
-         if(i < m) {
-                 printf("C%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)coding[i][j+x]);
-                         }
-                 }
-         }
-         printf("\n");
-  }
-       printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, m, w, size;
-  int i, j;
-  int *matrix;
-  char **data, **coding;
-  int *erasures, *erased;
-  int *decoding_matrix, *dm_ids;
-  
-  if (argc != 5) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || (w != 8 && w != 16 && w != 32))
-                 usage("Bad w");
-  if (w < 32 && k + m > (1 << w)) usage("k + m must be <= 2 ^ w");
-  if (sscanf(argv[4], "%d", &size) == 0 || size % sizeof(long) != 0) 
-               usage("size must be multiple of sizeof(long)");
-
-  matrix = talloc(int, m*k);
-  for (i = 0; i < m; i++) {
-    for (j = 0; j < k; j++) {
-      matrix[i*k+j] = galois_single_divide(1, i ^ (m + j), w);
-    }
-  }
-
-  printf("The Coding Matrix (the last m rows of the Distribution Matrix):\n\n");
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, size);
-       for(j = 0; j < size; j+=sizeof(long)) {
-               l = lrand48();
-               memcpy(data[i] + j, &l, sizeof(long));
-       }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, size);
-  }
-
-  jerasure_matrix_encode(k, m, w, matrix, data, coding, size);
-  
-  printf("Encoding Complete:\n\n");
-  print_data_and_coding(k, m, w, size, data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  l = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-         
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], size);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, size, data, coding);
-  
-  i = jerasure_matrix_decode(k, m, w, matrix, 0, erasures, data, coding, size);
-
-  printf("State of the system after decoding:\n\n");
-  print_data_and_coding(k, m, w, size, data, coding);
-  
-  decoding_matrix = talloc(int, k*k);
-  dm_ids = talloc(int, k);
-
-  for (i = 0; i < m; i++) erased[i] = 1;
-  for (; i < k+m; i++) erased[i] = 0;
-
-  jerasure_make_decoding_matrix(k, m, w, matrix, erased, decoding_matrix, dm_ids);
-
-  printf("Suppose we erase the first %d devices.  Here is the decoding matrix:\n\n", m);
-  jerasure_print_matrix(decoding_matrix, k, k, w);
-  printf("\n");
-  printf("And dm_ids:\n\n");
-  jerasure_print_matrix(dm_ids, 1, k, w);
-
-  bzero(data[0], size);
-  jerasure_matrix_dotprod(k, w, decoding_matrix, dm_ids, 0, data, coding, size);
-
-  printf("\nAfter calling jerasure_matrix_dotprod, we calculate the value of device #0 to be:\n\n");
-  printf("D0 :");
-  for(i=0;i< size; i+=(w/8)) {
-         printf(" ");
-         for(j=0;j < w/8;j++){
-               printf("%02x", (unsigned char)data[0][i+j]);
-         }
-  }
-  printf("\n\n");
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_06.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_06.c
deleted file mode 100644 (file)
index 856c480..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Examples/jerasure_06.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_06 k m w packetsize\n");
-  fprintf(stderr, "Does a simple Cauchy Reed-Solomon coding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be < 2^w.  Packetsize must be a multiple of sizeof(long)\n");
-  fprintf(stderr, "       It sets up a Cauchy distribution matrix and encodes k devices of w*packetsize bytes.\n");
-  fprintf(stderr, "       After that, it decodes device 0 by using jerasure_make_decoding_bitmatrix()\n");
-  fprintf(stderr, "       and jerasure_bitmatrix_dotprod().\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_bitmatrix_encode()\n");
-  fprintf(stderr, "                   jerasure_bitmatrix_decode()\n");
-  fprintf(stderr, "                   jerasure_print_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_make_decoding_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_bitmatrix_dotprod()\n");
-  if (s != NULL) fprintf(stderr, "\n%s\n\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m, psize, x;
-  int *matrix, *bitmatrix;
-  char **data, **coding;
-  int *erasures, *erased;
-  int *decoding_matrix, *dm_ids;
-  
-  if (argc != 5) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-  if (sscanf(argv[4], "%d", &psize) == 0 || psize <= 0) usage("Bad packetsize");
-  if(psize%sizeof(long) != 0) usage("Packetsize must be multiple of sizeof(long)");
-
-  matrix = talloc(int, m*k);
-  for (i = 0; i < m; i++) {
-    for (j = 0; j < k; j++) {
-      matrix[i*k+j] = galois_single_divide(1, i ^ (m + j), w);
-    }
-  }
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  printf("Last (m * w) rows of the Binary Distribution Matrix:\n\n");
-  jerasure_print_bitmatrix(bitmatrix, w*m, w*k, w);
-  printf("\n");
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, psize*w);
-    for (j = 0; j < w; j++) {
-               for(x = 0; x < psize; x += 4) {
-                       l = lrand48();
-                       memcpy(data[i]+j*psize+x, &l, sizeof(long));
-               }
-
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, psize*w);
-  }
-
-  jerasure_bitmatrix_encode(k, m, w, bitmatrix, data, coding, w*psize, psize);
-  
-  printf("Encoding Complete:\n\n");
-  print_data_and_coding(k, m, w, psize, data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], psize*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, psize, data, coding);
-  
-  i = jerasure_bitmatrix_decode(k, m, w, bitmatrix, 0, erasures, data, coding, 
-                 w*psize, psize);
-
-  printf("State of the system after decoding:\n\n");
-  print_data_and_coding(k, m, w, psize, data, coding);
-  
-  decoding_matrix = talloc(int, k*k*w*w);
-  dm_ids = talloc(int, k);
-
-  for (i = 0; i < m; i++) erased[i] = 1;
-  for (; i < k+m; i++) erased[i] = 0;
-
-  jerasure_make_decoding_bitmatrix(k, m, w, bitmatrix, erased, decoding_matrix, dm_ids);
-
-  printf("Suppose we erase the first %d devices.  Here is the decoding matrix:\n\n", m);
-  jerasure_print_bitmatrix(decoding_matrix, k*w, k*w, w);
-  printf("\n");
-  printf("And dm_ids:\n\n");
-  jerasure_print_matrix(dm_ids, 1, k, w);
-
-  //memcpy(&l, data[0], sizeof(long));
-  //printf("\nThe value of device #%d, word 0 is: %lx\n", 0, l);
-  bzero(data[0], w*psize);
-  jerasure_bitmatrix_dotprod(k, w, decoding_matrix, dm_ids, 0, data, coding, w*psize, psize);
-
-  printf("\nAfter calling jerasure_matrix_dotprod, we calculate the value of device #0, packet 0 to be:\n");
-       printf("\nD0  p0 :");
-       for(i = 0; i < psize; i +=sizeof(long)) {
-               memcpy(&l, data[0]+i, sizeof(long));
-               printf(" %08lx", l);
-       }
-       printf("\n\n");
-  //memcpy(&l, data[0], sizeof(long));
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_07.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_07.c
deleted file mode 100644 (file)
index 045276e..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/* Examples/jerasure_07.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
- */
-    
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_07 k m w - Scheduled Cauchy Reed-Solomon coding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  It sets up a Cauchy distribution matrix and encodes\n");
-  fprintf(stderr, "       k sets of w*%zu bytes. It uses bit-matrix scheduling, both smart and dumb.\n", sizeof(long));
-  fprintf(stderr, "       It decodes using bit-matrix scheduling, then shows an example of\n");
-  fprintf(stderr, "       using jerasure_do_scheduled_operations().\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_dumb_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_lazy()\n");
-  fprintf(stderr, "                   jerasure_do_scheduled_operations()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *matrix, *bitmatrix;
-  char **data, **coding, **ptrs;
-  int **smart, **dumb;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad m");
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-
-  matrix = talloc(int, m*k);
-  for (i = 0; i < m; i++) {
-    for (j = 0; j < k; j++) {
-      matrix[i*k+j] = galois_single_divide(1, i ^ (m + j), w);
-    }
-  }
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  printf("Last m rows of the Binary Distribution Matrix:\n\n");
-  jerasure_print_bitmatrix(bitmatrix, w*m, w*k, w);
-  printf("\n");
-  
-  dumb = jerasure_dumb_bitmatrix_to_schedule(k, m, w, bitmatrix);
-  smart = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, dumb, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Dumb Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  jerasure_schedule_encode(k, m, w, smart, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Smart Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, w*sizeof(long), sizeof(long), 1);
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  ptrs = talloc(char *, (k+m));
-  for (i = 0; i < k; i++) ptrs[i] = data[i];
-  for (i = 0; i < m; i++) ptrs[k+i] = coding[i];
-
-  for (j = 0; j < m; j++) bzero(coding[j], sizeof(long)*w);
-  jerasure_do_scheduled_operations(ptrs, smart, sizeof(long));
-  printf("State of the system after deleting the coding devices and\n");
-  printf("using jerasure_do_scheduled_operations(): %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_08.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/jerasure_08.c
deleted file mode 100644 (file)
index b9f9c8e..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/* Examples/jerasure_08.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: jerasure_08 k w - Example schedule cache usage with RAID-6\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       m=2.  k+m must be <= 2^w.  It sets up a RAID-6 distribution matrix and encodes\n");
-  fprintf(stderr, "       k sets of w*%zu bytes. It creates a schedule cache for decoding.\n", sizeof(long));
-  fprintf(stderr, "       It demonstrates using the schedule cache for both encoding and decoding.\n");
-  fprintf(stderr, "       Then it demonstrates using jerasure_do_parity() to re-encode the first.\n");
-  fprintf(stderr, "       coding device\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_generate_schedule_cache()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_cache()\n");
-  fprintf(stderr, "                   jerasure_free_schedule()\n");
-  fprintf(stderr, "                   jerasure_free_schedule_cache()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  fprintf(stderr, "                   jerasure_do_parity()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *matrix, *bitmatrix;
-  char **data, **coding;
-  int **smart, ***cache;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad m");
-  m = 2;
-  if (w < 30 && (k+m) > (1 << w)) usage("k + m is too big");
-
-  matrix = talloc(int, m*k);
-  for (j = 0; j < k; j++) matrix[j] = 1;
-  i = 1;
-  for (j = 0; j < k; j++) {
-    matrix[k+j] = i;
-    i = galois_single_multiply(i, 2, w);
-  }
-  bitmatrix = jerasure_matrix_to_bitmatrix(k, m, w, matrix);
-
-  smart = jerasure_smart_bitmatrix_to_schedule(k, m, w, bitmatrix);
-  cache = jerasure_generate_schedule_cache(k, m, w, bitmatrix, 1);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, smart, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erasures[0] = k;
-  erasures[1] = k+1;
-  erasures[2] = -1;
-  for (j = 0; j < m; j++) bzero(coding[j], sizeof(long)*w);
-
-  jerasure_schedule_decode_cache(k, m, w, cache, erasures, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Encoding Using the Schedule Cache: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_cache(k, m, w, cache, erasures, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  bzero(coding[0], sizeof(long)*w);
-  jerasure_do_parity(k, data, coding[0], sizeof(long)*w);
-  printf("State of the system after deleting coding device 0 and using\n");
-  printf("jerasure_do_parity to re-encode it:\n\n");
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_free_schedule(smart);
-  jerasure_free_schedule_cache(k, m, cache);
-  
-  printf("Smart schedule and cache freed\n\n");
-
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/liberation_01.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/liberation_01.c
deleted file mode 100644 (file)
index 7914abe..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Examples/liberation_01.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "liberation.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: liberation_01 k w - Liberation RAID-6 coding/decoding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       w must be prime and k <= w.  It sets up a Liberation bit-matrix\n");
-  fprintf(stderr, "       then it encodes k devices of w*%zu bytes using dumb bit-matrix scheduling.\n", sizeof(long));
-  fprintf(stderr, "       It decodes using smart bit-matrix scheduling.\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: liberation_coding_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_smart_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_dumb_bitmatrix_to_schedule()\n");
-  fprintf(stderr, "                   jerasure_schedule_encode()\n");
-  fprintf(stderr, "                   jerasure_schedule_decode_lazy()\n");
-  fprintf(stderr, "                   jerasure_print_bitmatrix()\n");
-  fprintf(stderr, "                   jerasure_get_stats()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-
-static void print_data_and_coding(int k, int m, int w, int psize, 
-               char **data, char **coding) 
-{
-       int i, j, x, n, sp;
-       long l;
-
-       if(k > m) n = k;
-       else n = m;
-       sp = psize * 2 + (psize/4) + 12;
-
-       printf("%-*sCoding\n", sp, "Data");
-       for(i = 0; i < n; i++) {
-               for (j = 0; j < w; j++) {
-                       if(i < k) {
-
-                               if(j==0) printf("D%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, data[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                               printf("    ");
-                       }
-                       else printf("%*s", sp, "");
-                       if(i < m) {
-                               if(j==0) printf("C%-2d p%-2d:", i,j);
-                               else printf("    p%-2d:", j);
-                               for(x = 0; x < psize; x +=4) {
-                                       memcpy(&l, coding[i]+j*psize+x, sizeof(long));
-                                       printf(" %08lx", l);
-                               }
-                       }
-                       printf("\n");
-               }
-       }
-
-    printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, j, m;
-  int *bitmatrix;
-  char **data, **coding;
-  int **dumb;
-  int *erasures, *erased;
-  double stats[3];
-  
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  m = 2;
-  if (w < k) usage("k is too big");
-
-  bitmatrix = liberation_coding_bitmatrix(k, w);
-  if (bitmatrix == NULL) {
-    usage("couldn't make coding matrix");
-  }
-
-  printf("Coding Bit-Matrix:\n\n");
-  jerasure_print_bitmatrix(bitmatrix, w*m, w*k, w);
-  printf("\n");
-
-  dumb = jerasure_dumb_bitmatrix_to_schedule(k, m, w, bitmatrix);
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long)*w);
-    for (j = 0; j < w; j++) {
-      l = lrand48();
-      memcpy(data[i]+j*sizeof(long), &l, sizeof(long));
-    }
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long)*w);
-  }
-
-  jerasure_schedule_encode(k, m, w, dumb, data, coding, w*sizeof(long), sizeof(long));
-  jerasure_get_stats(stats);
-  printf("Smart Encoding Complete: - %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      bzero((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], sizeof(long)*w);
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  jerasure_schedule_decode_lazy(k, m, w, bitmatrix, erasures, data, coding, w*sizeof(long), sizeof(long), 1);
-  jerasure_get_stats(stats);
-
-  printf("State of the system after decoding: %.0lf XOR'd bytes\n\n", stats[0]);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_01.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_01.c
deleted file mode 100644 (file)
index 309808d..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/* Examples/reed_sol_01.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-    
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: reed_sol_01 k m w - Does a simple Reed-Solomon coding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       w must be 8, 16 or 32.  k+m must be <= 2^w.  It sets up a classic\n");
-  fprintf(stderr, "       Vandermonde-based distribution matrix and encodes k devices of\n");
-  fprintf(stderr, "       %zu bytes each with it.  Then it decodes.\n", sizeof(long));
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: jerasure_matrix_encode()\n");
-  fprintf(stderr, "                   jerasure_matrix_decode()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  fprintf(stderr, "                   reed_sol_vandermonde_coding_matrix()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-static void print_data_and_coding(int k, int m, int w, int size, 
-               char **data, char **coding) 
-{
-  int i, j, x;
-  int n, sp;
-
-  if(k > m) n = k;
-  else n = m;
-  sp = size * 2 + size/(w/8) + 8;
-
-  printf("%-*sCoding\n", sp, "Data");
-  for(i = 0; i < n; i++) {
-         if(i < k) {
-                 printf("D%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)data[i][j+x]);
-                         }
-                 }
-                 printf("    ");
-         }
-         else printf("%*s", sp, "");
-         if(i < m) {
-                 printf("C%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)coding[i][j+x]);
-                         }
-                 }
-         }
-         printf("\n");
-  }
-       printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, m;
-  int *matrix;
-  char **data, **coding;
-  int *erasures, *erased;
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || (w != 8 && w != 16 && w != 32)) usage("Bad w");
-  if (w <= 16 && k + m > (1 << w)) usage("k + m is too big");
-
-  matrix = reed_sol_vandermonde_coding_matrix(k, m, w);
-
-  printf("Last m rows of the Distribution Matrix:\n\n");
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long));
-    l = lrand48();
-    memcpy(data[i], &l, sizeof(long));
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long));
-  }
-
-  jerasure_matrix_encode(k, m, w, matrix, data, coding, sizeof(long));
-  
-  printf("Encoding Complete:\n\n");
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  l = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      memcpy((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], &l, sizeof(long));
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  i = jerasure_matrix_decode(k, m, w, matrix, 1, erasures, data, coding, sizeof(long));
-
-  printf("State of the system after decoding:\n\n");
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_02.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_02.c
deleted file mode 100644 (file)
index e614880..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Examples/reed_sol_02.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: reed_sol_02 k m w - Vandermonde matrices in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       k+m must be <= 2^w.  This simply prints out the \n");
-  fprintf(stderr, "       Vandermonde matrix in GF(2^w), and then the distribution\n");
-  fprintf(stderr, "       matrix that is constructed from it.  See [Plank-Ding-05] for\n");
-  fprintf(stderr, "       information on how this construction proceeds\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: reed_sol_extended_vandermonde_matrix()\n");
-  fprintf(stderr, "                   reed_sol_big_vandermonde_coding_matrix()\n");
-  fprintf(stderr, "                   reed_sol_vandermonde_coding_matrix()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  int k, w, m;
-  int *matrix;
-  
-  if (argc != 4) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &m) == 0 || m <= 0) usage("Bad m");
-  if (sscanf(argv[3], "%d", &w) == 0 || w <= 0 || w > 32) usage("Bad w");
-  if (w <= 30 && k + m > (1 << w)) usage("k + m is too big");
-
-  matrix = reed_sol_extended_vandermonde_matrix(k+m, k, w);
-  printf("Extended Vandermonde Matrix:\n\n");
-  jerasure_print_matrix(matrix, k+m, k, w);
-  printf("\n");
-
-  matrix = reed_sol_big_vandermonde_distribution_matrix(k+m, k, w);
-  printf("Vandermonde Distribution Matrix:\n\n");
-  jerasure_print_matrix(matrix, k+m, k, w);
-  printf("\n");
-
-  matrix = reed_sol_vandermonde_coding_matrix(k, m, w);
-  printf("Vandermonde Coding Matrix:\n\n");
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-
-  
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_03.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_03.c
deleted file mode 100644 (file)
index 84b0c45..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Examples/reed_sol_03.c
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-
-
-/*
-       revised by S. Simmerman
-       2/25/08  
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: reed_sol_03 k w - Does a simple RAID-6 coding example in GF(2^w).\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       w must be 8, 16 or 32.  k+2 must be <= 2^w.  It sets up a classic\n");
-  fprintf(stderr, "       RAID-6 coding matrix based on Anvin's optimization and encodes\n");
-  fprintf(stderr, "       %zu-byte devices with it.  Then it decodes.\n", sizeof(long));
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: reed_sol_r6_encode()\n");
-  fprintf(stderr, "                   reed_sol_r6_coding_matrix()\n");
-  fprintf(stderr, "                   jerasure_matrix_decode()\n");
-  fprintf(stderr, "                   jerasure_print_matrix()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-
-static void print_data_and_coding(int k, int m, int w, int size, 
-               char **data, char **coding) 
-{
-  int i, j, x;
-  int n, sp;
-
-  if(k > m) n = k;
-  else n = m;
-  sp = size * 2 + size/(w/8) + 8;
-
-  printf("%-*sCoding\n", sp, "Data");
-  for(i = 0; i < n; i++) {
-         if(i < k) {
-                 printf("D%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)data[i][j+x]);
-                         }
-                 }
-                 printf("    ");
-         }
-         else printf("%*s", sp, "");
-         if(i < m) {
-                 printf("C%-2d:", i);
-                 for(j=0;j< size; j+=(w/8)) { 
-                         printf(" ");
-                         for(x=0;x < w/8;x++){
-                               printf("%02x", (unsigned char)coding[i][j+x]);
-                         }
-                 }
-         }
-         printf("\n");
-  }
-       printf("\n");
-}
-
-int main(int argc, char **argv)
-{
-  long l;
-  int k, w, i, m;
-  int *matrix;
-  char **data, **coding;
-  int *erasures, *erased;
-  
-  if (argc != 3) usage(NULL);
-  if (sscanf(argv[1], "%d", &k) == 0 || k <= 0) usage("Bad k");
-  if (sscanf(argv[2], "%d", &w) == 0 || (w != 8 && w != 16 && w != 32)) usage("Bad w");
-  m = 2;
-  if (w <= 16 && k + m > (1 << w)) usage("k + m is too big");
-
-  matrix = reed_sol_r6_coding_matrix(k, w);
-
-  printf("Last 2 rows of the Distribution Matrix:\n\n");
-  jerasure_print_matrix(matrix, m, k, w);
-  printf("\n");
-
-  srand48(0);
-  data = talloc(char *, k);
-  for (i = 0; i < k; i++) {
-    data[i] = talloc(char, sizeof(long));
-    l = lrand48();
-    memcpy(data[i], &l, sizeof(long));
-  }
-
-  coding = talloc(char *, m);
-  for (i = 0; i < m; i++) {
-    coding[i] = talloc(char, sizeof(long));
-  }
-
-  reed_sol_r6_encode(k, w, data, coding, sizeof(long));
-  
-  printf("Encoding Complete:\n\n");
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-
-  erasures = talloc(int, (m+1));
-  erased = talloc(int, (k+m));
-  for (i = 0; i < m+k; i++) erased[i] = 0;
-  l = 0;
-  for (i = 0; i < m; ) {
-    erasures[i] = lrand48()%(k+m);
-    if (erased[erasures[i]] == 0) {
-      erased[erasures[i]] = 1;
-      memcpy((erasures[i] < k) ? data[erasures[i]] : coding[erasures[i]-k], &l, sizeof(long));
-      i++;
-    }
-  }
-  erasures[i] = -1;
-
-  printf("Erased %d random devices:\n\n", m);
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  i = jerasure_matrix_decode(k, m, w, matrix, 1, erasures, data, coding, sizeof(long));
-
-  printf("State of the system after decoding:\n\n");
-  print_data_and_coding(k, m, w, sizeof(long), data, coding);
-  
-  return 0;
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_04.c b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Examples/reed_sol_04.c
deleted file mode 100644 (file)
index 5b91ab0..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Examples/reed_sol_04.c
-
-Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques
-
-Revision 1.2A
-May 24, 2011
-
-James S. Plank
-Department of Electrical Engineering and Computer Science
-University of Tennessee
-Knoxville, TN 37996
-plank@cs.utk.edu
-
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "jerasure.h"
-#include "reed_sol.h"
-
-#define talloc(type, num) (type *) malloc(sizeof(type)*(num))
-
-void usage(char *s)
-{
-  fprintf(stderr, "usage: reed_sol_04 w - Shows reed_sol_galois_wXX_region_multby_2\n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "       w must be 8, 16 or 32.  Sets up an array of 4 random words in\n");
-  fprintf(stderr, "       GF(2^w) and multiplies them by two.  \n");
-  fprintf(stderr, "       \n");
-  fprintf(stderr, "This demonstrates: reed_sol_galois_w08_region_multby_2()\n");
-  fprintf(stderr, "                   reed_sol_galois_w16_region_multby_2()\n");
-  fprintf(stderr, "                   reed_sol_galois_w32_region_multby_2()\n");
-  if (s != NULL) fprintf(stderr, "%s\n", s);
-  exit(1);
-}
-
-int main(int argc, char **argv)
-{
-  unsigned char *x, *y;
-  unsigned short *xs, *ys;
-  unsigned int *xi, *yi;
-  int *a32, *copy;
-  int i;
-  int w;
-  
-  if (argc != 2) usage(NULL);
-  if (sscanf(argv[1], "%d", &w) == 0 || (w != 8 && w != 16 && w != 32)) usage("Bad w");
-
-  srand48(time(0));
-  a32 = talloc(int, 4);
-  copy = talloc(int, 4);
-  y = (unsigned char *) a32;
-  for (i = 0; i < 4*sizeof(int); i++) y[i] = lrand48()%255;
-  memcpy(copy, a32, sizeof(int)*4);
-
-  if (w == 8) {
-    x = (unsigned char *) copy;
-    y = (unsigned char *) a32;
-    reed_sol_galois_w08_region_multby_2((char *) a32, sizeof(int)*4);
-    for (i = 0; i < 4*sizeof(int)/sizeof(char); i++) {
-       printf("Char %2d: %3u *2 = %3u\n", i, x[i], y[i]);
-    }
-  } else if (w == 16) {
-    xs = (unsigned short *) copy;
-    ys = (unsigned short *) a32;
-    reed_sol_galois_w16_region_multby_2((char *) a32, sizeof(int)*4);
-    for (i = 0; i < 4*sizeof(int)/sizeof(short); i++) {
-       printf("Short %2d: %5u *2 = %5u\n", i, xs[i], ys[i]);
-    }
-  } else if (w == 32) {
-    xi = (unsigned int *) copy;
-    yi = (unsigned int *) a32;
-    reed_sol_galois_w16_region_multby_2((char *) a32, sizeof(int)*4);
-    for (i = 0; i < 4*sizeof(int)/sizeof(int); i++) {
-       printf("Int %2d: %10u *2 = %10u\n", i, xi[i], yi[i]);
-    }
-  } 
-}
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/License.txt b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/License.txt
deleted file mode 100644 (file)
index 3653847..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-Copyright (c) 2011, James S. Plank
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- - Neither the name of the University of Tennessee nor the names of its
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Makefile b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/Makefile
deleted file mode 100644 (file)
index 95b7938..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-PREFIX=${HOME}/local
-BINDIR=${PREFIX}/bin
-LIBDIR=${PREFIX}/lib
-INCDIR=${PREFIX}/include
-
-all: lib/libJerasure.so lib/libJerasure.jni.so
-#make -C Examples
-
-clean:
-       make -C jni clean
-       make -C src clean
-       make -C Examples clean
-       rm -rf include
-
-install: lib/libJerasure.so
-       cp -P lib/libJerasure.so* ${LIBDIR}
-       mkdir -p ${INCDIR}/jerasure
-       cp include/* ${INCDIR}/jerasure
-
-jni: lib/libJerasure.jni.so
-
-lib/libJerasure.so:
-       make -C src
-
-lib/libJerasure.jni.so: lib/libJerasure.so
-       make -C jni
\ No newline at end of file
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.md b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.md
deleted file mode 100644 (file)
index 361e7dd..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# About #
-This is the Jerasure project, by James S. Plank, Scott Simmerman, and
-Catherine D. Schuman.  More details can be found at
-[http://web.eecs.utk.edu/~plank/plank/papers/CS-08-627.html](http://web.eecs.utk.edu/~plank/plank/papers/CS-08-627.html)
-
-See technical report CS-08-627 for a description of the code.  
-
-The directories are as follows:
-
-* The src directory contains the jerasure code.
-* The Examples directory contains the example programs. 
-* The jni folder contains the native (C++) part of the JNI coupling (added by jvandertil)
-* The java directory contains the Java sources for the JNI coupling (added by jvandertil)
-* The win32 directory contains a Visual Studio 2012 solution for building on Windows. (added by jvandertil)
-
-## Hints ##
-* It is assumed that GNU make is being used.
-* When using the JNI coupling, be sure to include the JAR file in your java.library.path. 
-  * You can also set the library path using: java -Djava.library.path={path}
-* Make sure the path to the Java headers is correct, the path can be found in jni/Makefile and the properties page of JErasure.JNI in the Visual Studio solution.
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.txt b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/README.txt
deleted file mode 100644 (file)
index ea5316f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-This is revision 1.2A of Jerasure.  It is basically equivalent to revision 1.2
-except it is released under the New BSD license.
-
-See technical report CS-08-627 for a description of the code.  
-
-There are two directories:
-
-The home directory contains the jerasure code.
-
-The Examples directory contains the example programs.  
-
-The makefile assumes that Examples is a subdirectory of the home directory.
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/CS-08-627.pdf b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/CS-08-627.pdf
deleted file mode 100644 (file)
index d3a1805..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/CS-08-627.pdf and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/bc_s.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/bc_s.png
deleted file mode 100644 (file)
index e401862..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/bc_s.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8c.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8c.html
deleted file mode 100644 (file)
index 319a641..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: cauchy.c File Reference</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Defines</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">cauchy.c File Reference</div>  </div>
-</div>
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="galois_8h_source.html">galois.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="jerasure_8h_source.html">jerasure.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="cauchy_8h_source.html">cauchy.h</a>&quot;</code><br/>
-</div><table class="memberdecls">
-<tr><td colspan="2"><h2><a name="define-members"></a>
-Defines</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a952a72cead1356661549e3e8c699d699">talloc</a>(type, num)&#160;&#160;&#160;(type *) malloc(sizeof(type)*(num))</td></tr>
-<tr><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#aa537d9bfeffad82b25aa15377630a615">cauchy_n_ones</a> (int n, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a1e0c1fdadd7b4015f470239dd481e9ef">cauchy_original_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a978ff1db48230df60e2e8022d1421770">cauchy_xy_coding_matrix</a> (int k, int m, int w, int *X, int *Y)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a8862557e48ccbf72061233c038ce1820">cauchy_improve_coding_matrix</a> (int k, int m, int w, int *matrix)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a7838894acdb1fecc0930e9416851625a">cauchy_good_general_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td colspan="2"><h2><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a3679729f9f176df6cf67a349bdc788d0">cbest_13</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#aca8a66c8cd95f0ad0a45c71ec35a3390">cbest_14</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a09af27f995b0e91110a78af85371f542">cbest_15</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a40d9e940cbd9a16f7bfc62427e50b8c8">cbest_16</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a0dfc3114f0426007153f371d35a2d9cb">cbest_17</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a225922052e254e0ae7044afd5cda28dd">cbest_18</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a5d8c64e81b0af5fa627ebf0efb3a1b91">cbest_19</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a379bb0e4271001d0eec42ca4b4ec2f5d">cbest_20</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a457eb204af8be20482905399953aba98">cbest_21</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a26cd5cf57643f99b41559a12cc38e3e1">cbest_22</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a41262540d9e02edc208285530deeb44c">cbest_23</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a0dd5e4022320d345307bac2745200d83">cbest_24</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a92f8698fde81de2b5ba0e77f69898d65">cbest_25</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a0ede4f7be77976ca23aa85f115c4128c">cbest_26</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a3d3f3dec3e4f71fafccc6bbfee8f0e62">cbest_27</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#a9c74db62db88ebfd5e870d49963b0219">cbest_28</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#abaf7611d4d413f2882a13e0db485f863">cbest_29</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#abe82a517ebe7618a5b30707a396935ff">cbest_30</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#ad7f78aa4d8971e87ef12b83276443ec3">cbest_31</a></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8c.html#ae030a6397fc4afd8b1c3c08961a7d72d">cbest_32</a></td></tr>
-</table>
-<hr/><h2>Define Documentation</h2>
-<a class="anchor" id="a952a72cead1356661549e3e8c699d699"></a><!-- doxytag: member="cauchy.c::talloc" ref="a952a72cead1356661549e3e8c699d699" args="(type, num)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define talloc</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">type, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(type *) malloc(sizeof(type)*(num))</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a7838894acdb1fecc0930e9416851625a"></a><!-- doxytag: member="cauchy.c::cauchy_good_general_coding_matrix" ref="a7838894acdb1fecc0930e9416851625a" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_good_general_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8862557e48ccbf72061233c038ce1820"></a><!-- doxytag: member="cauchy.c::cauchy_improve_coding_matrix" ref="a8862557e48ccbf72061233c038ce1820" args="(int k, int m, int w, int *matrix)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void cauchy_improve_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>matrix</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa537d9bfeffad82b25aa15377630a615"></a><!-- doxytag: member="cauchy.c::cauchy_n_ones" ref="aa537d9bfeffad82b25aa15377630a615" args="(int n, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int cauchy_n_ones </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1e0c1fdadd7b4015f470239dd481e9ef"></a><!-- doxytag: member="cauchy.c::cauchy_original_coding_matrix" ref="a1e0c1fdadd7b4015f470239dd481e9ef" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_original_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a978ff1db48230df60e2e8022d1421770"></a><!-- doxytag: member="cauchy.c::cauchy_xy_coding_matrix" ref="a978ff1db48230df60e2e8022d1421770" args="(int k, int m, int w, int *X, int *Y)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_xy_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>X</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>Y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a3679729f9f176df6cf67a349bdc788d0"></a><!-- doxytag: member="cauchy.c::cbest_13" ref="a3679729f9f176df6cf67a349bdc788d0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a798971d3692916d6be992b899f64ebd1">cbest_13</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aca8a66c8cd95f0ad0a45c71ec35a3390"></a><!-- doxytag: member="cauchy.c::cbest_14" ref="aca8a66c8cd95f0ad0a45c71ec35a3390" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#abf1d8d5fcbeac3a071067ef0005bf206">cbest_14</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a09af27f995b0e91110a78af85371f542"></a><!-- doxytag: member="cauchy.c::cbest_15" ref="a09af27f995b0e91110a78af85371f542" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#afb3ffbda01e411549a1d9403d168f923">cbest_15</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a40d9e940cbd9a16f7bfc62427e50b8c8"></a><!-- doxytag: member="cauchy.c::cbest_16" ref="a40d9e940cbd9a16f7bfc62427e50b8c8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a4d289afbaf13971a8d942f23f673435d">cbest_16</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0dfc3114f0426007153f371d35a2d9cb"></a><!-- doxytag: member="cauchy.c::cbest_17" ref="a0dfc3114f0426007153f371d35a2d9cb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a4726d8520029b9018619c984a8168172">cbest_17</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a225922052e254e0ae7044afd5cda28dd"></a><!-- doxytag: member="cauchy.c::cbest_18" ref="a225922052e254e0ae7044afd5cda28dd" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#ac34bbd470c7ee76699c32c274c0d370e">cbest_18</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a5d8c64e81b0af5fa627ebf0efb3a1b91"></a><!-- doxytag: member="cauchy.c::cbest_19" ref="a5d8c64e81b0af5fa627ebf0efb3a1b91" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#aeedfc977cfb067afc049d58426015bea">cbest_19</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a379bb0e4271001d0eec42ca4b4ec2f5d"></a><!-- doxytag: member="cauchy.c::cbest_20" ref="a379bb0e4271001d0eec42ca4b4ec2f5d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#ac0729385369806ad0fa8d52b8910e9c8">cbest_20</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a457eb204af8be20482905399953aba98"></a><!-- doxytag: member="cauchy.c::cbest_21" ref="a457eb204af8be20482905399953aba98" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a5ea632822d52d30d72372d2245db0656">cbest_21</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a26cd5cf57643f99b41559a12cc38e3e1"></a><!-- doxytag: member="cauchy.c::cbest_22" ref="a26cd5cf57643f99b41559a12cc38e3e1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#aa9a117e027dca367d4d57762b5179e6f">cbest_22</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a41262540d9e02edc208285530deeb44c"></a><!-- doxytag: member="cauchy.c::cbest_23" ref="a41262540d9e02edc208285530deeb44c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#ac6eca918546b705a329a1fb8e8a59fef">cbest_23</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0dd5e4022320d345307bac2745200d83"></a><!-- doxytag: member="cauchy.c::cbest_24" ref="a0dd5e4022320d345307bac2745200d83" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a4074c81c96d8cc0191c1222c92f524b5">cbest_24</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a92f8698fde81de2b5ba0e77f69898d65"></a><!-- doxytag: member="cauchy.c::cbest_25" ref="a92f8698fde81de2b5ba0e77f69898d65" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a0bd22c0adfd4040ba6efe18d12cc62c3">cbest_25</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0ede4f7be77976ca23aa85f115c4128c"></a><!-- doxytag: member="cauchy.c::cbest_26" ref="a0ede4f7be77976ca23aa85f115c4128c" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a2c5a98817930656d0f58c91af7a1eaf0">cbest_26</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a3d3f3dec3e4f71fafccc6bbfee8f0e62"></a><!-- doxytag: member="cauchy.c::cbest_27" ref="a3d3f3dec3e4f71fafccc6bbfee8f0e62" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#abe13ab1e4659b804bff262d9f97c3dde">cbest_27</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9c74db62db88ebfd5e870d49963b0219"></a><!-- doxytag: member="cauchy.c::cbest_28" ref="a9c74db62db88ebfd5e870d49963b0219" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a915f13885ff6d4c5e18f5ae0164b2e5b">cbest_28</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abaf7611d4d413f2882a13e0db485f863"></a><!-- doxytag: member="cauchy.c::cbest_29" ref="abaf7611d4d413f2882a13e0db485f863" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#a8629acfe0ab7e82c8d7729a2b4201c09">cbest_29</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abe82a517ebe7618a5b30707a396935ff"></a><!-- doxytag: member="cauchy.c::cbest_30" ref="abe82a517ebe7618a5b30707a396935ff" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#afef6bfa78f0df75952d2cbc2f7bb9b81">cbest_30</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ad7f78aa4d8971e87ef12b83276443ec3"></a><!-- doxytag: member="cauchy.c::cbest_31" ref="ad7f78aa4d8971e87ef12b83276443ec3" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static int <a class="el" href="cauchy__best__r6_8c.html#ab7d83259a0c4ce86446cdefb3126bb4b">cbest_31</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae030a6397fc4afd8b1c3c08961a7d72d"></a><!-- doxytag: member="cauchy.c::cbest_32" ref="ae030a6397fc4afd8b1c3c08961a7d72d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static unsigned int <a class="el" href="cauchy_8c.html#ae030a6397fc4afd8b1c3c08961a7d72d">cbest_32</a></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-</div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Defines</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-
-
-<hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 27 2011 16:23:45 for Jerasure by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.7.5.1
-</small></address>
-
-</body>
-</html>
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h.html
deleted file mode 100644 (file)
index fc444d1..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: cauchy.h File Reference</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="header">
-  <div class="summary">
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">cauchy.h File Reference</div>  </div>
-</div>
-<div class="contents">
-
-<p><a href="cauchy_8h_source.html">Go to the source code of this file.</a></p>
-<table class="memberdecls">
-<tr><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8h.html#a1e0c1fdadd7b4015f470239dd481e9ef">cauchy_original_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8h.html#ac790e0428bcbcffe5f331ea03c9be47b">cauchy_xy_coding_matrix</a> (int k, int m, int w, int *x, int *y)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8h.html#a8862557e48ccbf72061233c038ce1820">cauchy_improve_coding_matrix</a> (int k, int m, int w, int *matrix)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8h.html#a7838894acdb1fecc0930e9416851625a">cauchy_good_general_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy_8h.html#aa537d9bfeffad82b25aa15377630a615">cauchy_n_ones</a> (int n, int w)</td></tr>
-</table>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a7838894acdb1fecc0930e9416851625a"></a><!-- doxytag: member="cauchy.h::cauchy_good_general_coding_matrix" ref="a7838894acdb1fecc0930e9416851625a" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_good_general_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8862557e48ccbf72061233c038ce1820"></a><!-- doxytag: member="cauchy.h::cauchy_improve_coding_matrix" ref="a8862557e48ccbf72061233c038ce1820" args="(int k, int m, int w, int *matrix)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void cauchy_improve_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>matrix</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa537d9bfeffad82b25aa15377630a615"></a><!-- doxytag: member="cauchy.h::cauchy_n_ones" ref="aa537d9bfeffad82b25aa15377630a615" args="(int n, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int cauchy_n_ones </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1e0c1fdadd7b4015f470239dd481e9ef"></a><!-- doxytag: member="cauchy.h::cauchy_original_coding_matrix" ref="a1e0c1fdadd7b4015f470239dd481e9ef" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_original_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac790e0428bcbcffe5f331ea03c9be47b"></a><!-- doxytag: member="cauchy.h::cauchy_xy_coding_matrix" ref="ac790e0428bcbcffe5f331ea03c9be47b" args="(int k, int m, int w, int *x, int *y)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_xy_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-</div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Defines</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-
-
-<hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 27 2011 16:23:45 for Jerasure by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.7.5.1
-</small></address>
-
-</body>
-</html>
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h_source.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy_8h_source.html
deleted file mode 100644 (file)
index 281fa70..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: cauchy.h Source File</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-<div class="header">
-  <div class="headertitle">
-<div class="title">cauchy.h</div>  </div>
-</div>
-<div class="contents">
-<a href="cauchy_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* cauchy.h</span>
-<a name="l00002"></a>00002 <span class="comment"> * James S. Plank</span>
-<a name="l00003"></a>00003 <span class="comment"></span>
-<a name="l00004"></a>00004 <span class="comment">Jerasure - A C/C++ Library for a Variety of Reed-Solomon and RAID-6 Erasure Coding Techniques</span>
-<a name="l00005"></a>00005 <span class="comment"></span>
-<a name="l00006"></a>00006 <span class="comment">Revision 1.2A</span>
-<a name="l00007"></a>00007 <span class="comment">May 24, 2011</span>
-<a name="l00008"></a>00008 <span class="comment"></span>
-<a name="l00009"></a>00009 <span class="comment">James S. Plank</span>
-<a name="l00010"></a>00010 <span class="comment">Department of Electrical Engineering and Computer Science</span>
-<a name="l00011"></a>00011 <span class="comment">University of Tennessee</span>
-<a name="l00012"></a>00012 <span class="comment">Knoxville, TN 37996</span>
-<a name="l00013"></a>00013 <span class="comment">plank@cs.utk.edu</span>
-<a name="l00014"></a>00014 <span class="comment"></span>
-<a name="l00015"></a>00015 <span class="comment">Copyright (c) 2011, James S. Plank</span>
-<a name="l00016"></a>00016 <span class="comment">All rights reserved.</span>
-<a name="l00017"></a>00017 <span class="comment"></span>
-<a name="l00018"></a>00018 <span class="comment">Redistribution and use in source and binary forms, with or without</span>
-<a name="l00019"></a>00019 <span class="comment">modification, are permitted provided that the following conditions</span>
-<a name="l00020"></a>00020 <span class="comment">are met:</span>
-<a name="l00021"></a>00021 <span class="comment"></span>
-<a name="l00022"></a>00022 <span class="comment"> - Redistributions of source code must retain the above copyright</span>
-<a name="l00023"></a>00023 <span class="comment">   notice, this list of conditions and the following disclaimer.</span>
-<a name="l00024"></a>00024 <span class="comment"></span>
-<a name="l00025"></a>00025 <span class="comment"> - Redistributions in binary form must reproduce the above copyright</span>
-<a name="l00026"></a>00026 <span class="comment">   notice, this list of conditions and the following disclaimer in</span>
-<a name="l00027"></a>00027 <span class="comment">   the documentation and/or other materials provided with the</span>
-<a name="l00028"></a>00028 <span class="comment">   distribution.</span>
-<a name="l00029"></a>00029 <span class="comment"></span>
-<a name="l00030"></a>00030 <span class="comment"> - Neither the name of the University of Tennessee nor the names of its</span>
-<a name="l00031"></a>00031 <span class="comment">   contributors may be used to endorse or promote products derived</span>
-<a name="l00032"></a>00032 <span class="comment">   from this software without specific prior written permission.</span>
-<a name="l00033"></a>00033 <span class="comment"></span>
-<a name="l00034"></a>00034 <span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
-<a name="l00035"></a>00035 <span class="comment">&quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
-<a name="l00036"></a>00036 <span class="comment">LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
-<a name="l00037"></a>00037 <span class="comment">A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span>
-<a name="l00038"></a>00038 <span class="comment">HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span>
-<a name="l00039"></a>00039 <span class="comment">INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span>
-<a name="l00040"></a>00040 <span class="comment">BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS</span>
-<a name="l00041"></a>00041 <span class="comment">OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED</span>
-<a name="l00042"></a>00042 <span class="comment">AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
-<a name="l00043"></a>00043 <span class="comment">LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY</span>
-<a name="l00044"></a>00044 <span class="comment">WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span>
-<a name="l00045"></a>00045 <span class="comment">POSSIBILITY OF SUCH DAMAGE.</span>
-<a name="l00046"></a>00046 <span class="comment"></span>
-<a name="l00047"></a>00047 <span class="comment">*/</span>
-<a name="l00048"></a>00048 
-<a name="l00049"></a>00049 <span class="keyword">extern</span> <span class="keywordtype">int</span> *<a class="code" href="cauchy_8c.html#a1e0c1fdadd7b4015f470239dd481e9ef">cauchy_original_coding_matrix</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> m, <span class="keywordtype">int</span> w);
-<a name="l00050"></a>00050 <span class="keyword">extern</span> <span class="keywordtype">int</span> *<a class="code" href="cauchy_8c.html#a978ff1db48230df60e2e8022d1421770">cauchy_xy_coding_matrix</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> m, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> *x, <span class="keywordtype">int</span> *y);
-<a name="l00051"></a>00051 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="cauchy_8c.html#a8862557e48ccbf72061233c038ce1820">cauchy_improve_coding_matrix</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> m, <span class="keywordtype">int</span> w, <span class="keywordtype">int</span> *matrix);
-<a name="l00052"></a>00052 <span class="keyword">extern</span> <span class="keywordtype">int</span> *<a class="code" href="cauchy_8c.html#a7838894acdb1fecc0930e9416851625a">cauchy_good_general_coding_matrix</a>(<span class="keywordtype">int</span> k, <span class="keywordtype">int</span> m, <span class="keywordtype">int</span> w);
-<a name="l00053"></a>00053 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="cauchy_8c.html#aa537d9bfeffad82b25aa15377630a615">cauchy_n_ones</a>(<span class="keywordtype">int</span> n, <span class="keywordtype">int</span> w);
-</pre></div></div>
-</div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Defines</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-
-
-<hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 27 2011 16:23:45 for Jerasure by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.7.5.1
-</small></address>
-
-</body>
-</html>
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy__best__r6_8c.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/cauchy__best__r6_8c.html
deleted file mode 100644 (file)
index 2471531..0000000
+++ /dev/null
@@ -1,602 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: cauchy_best_r6.c File Reference</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Defines</a> &#124;
-<a href="#func-members">Functions</a> &#124;
-<a href="#var-members">Variables</a>  </div>
-  <div class="headertitle">
-<div class="title">cauchy_best_r6.c File Reference</div>  </div>
-</div>
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="galois_8h_source.html">galois.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="jerasure_8h_source.html">jerasure.h</a>&quot;</code><br/>
-<code>#include &quot;<a class="el" href="cauchy_8h_source.html">cauchy.h</a>&quot;</code><br/>
-</div><table class="memberdecls">
-<tr><td colspan="2"><h2><a name="define-members"></a>
-Defines</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a952a72cead1356661549e3e8c699d699">talloc</a>(type, num)&#160;&#160;&#160;(type *) malloc(sizeof(type)*(num))</td></tr>
-<tr><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#aa537d9bfeffad82b25aa15377630a615">cauchy_n_ones</a> (int n, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a1e0c1fdadd7b4015f470239dd481e9ef">cauchy_original_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a978ff1db48230df60e2e8022d1421770">cauchy_xy_coding_matrix</a> (int k, int m, int w, int *X, int *Y)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a8862557e48ccbf72061233c038ce1820">cauchy_improve_coding_matrix</a> (int k, int m, int w, int *matrix)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a7838894acdb1fecc0930e9416851625a">cauchy_good_general_coding_matrix</a> (int k, int m, int w)</td></tr>
-<tr><td colspan="2"><h2><a name="var-members"></a>
-Variables</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a798971d3692916d6be992b899f64ebd1">cbest_13</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#abf1d8d5fcbeac3a071067ef0005bf206">cbest_14</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#afb3ffbda01e411549a1d9403d168f923">cbest_15</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a4d289afbaf13971a8d942f23f673435d">cbest_16</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a4726d8520029b9018619c984a8168172">cbest_17</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#ac34bbd470c7ee76699c32c274c0d370e">cbest_18</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#aeedfc977cfb067afc049d58426015bea">cbest_19</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#ac0729385369806ad0fa8d52b8910e9c8">cbest_20</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a5ea632822d52d30d72372d2245db0656">cbest_21</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#aa9a117e027dca367d4d57762b5179e6f">cbest_22</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#ac6eca918546b705a329a1fb8e8a59fef">cbest_23</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a4074c81c96d8cc0191c1222c92f524b5">cbest_24</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a0bd22c0adfd4040ba6efe18d12cc62c3">cbest_25</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a2c5a98817930656d0f58c91af7a1eaf0">cbest_26</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#abe13ab1e4659b804bff262d9f97c3dde">cbest_27</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a915f13885ff6d4c5e18f5ae0164b2e5b">cbest_28</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#a8629acfe0ab7e82c8d7729a2b4201c09">cbest_29</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#afef6bfa78f0df75952d2cbc2f7bb9b81">cbest_30</a> [1023]</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cauchy__best__r6_8c.html#ab7d83259a0c4ce86446cdefb3126bb4b">cbest_31</a> [1023]</td></tr>
-</table>
-<hr/><h2>Define Documentation</h2>
-<a class="anchor" id="a952a72cead1356661549e3e8c699d699"></a><!-- doxytag: member="cauchy_best_r6.c::talloc" ref="a952a72cead1356661549e3e8c699d699" args="(type, num)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define talloc</td>
-          <td>(</td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">type, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&#160;</td>
-          <td class="paramname">num&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td>&#160;&#160;&#160;(type *) malloc(sizeof(type)*(num))</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="a7838894acdb1fecc0930e9416851625a"></a><!-- doxytag: member="cauchy_best_r6.c::cauchy_good_general_coding_matrix" ref="a7838894acdb1fecc0930e9416851625a" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_good_general_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8862557e48ccbf72061233c038ce1820"></a><!-- doxytag: member="cauchy_best_r6.c::cauchy_improve_coding_matrix" ref="a8862557e48ccbf72061233c038ce1820" args="(int k, int m, int w, int *matrix)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void cauchy_improve_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>matrix</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa537d9bfeffad82b25aa15377630a615"></a><!-- doxytag: member="cauchy_best_r6.c::cauchy_n_ones" ref="aa537d9bfeffad82b25aa15377630a615" args="(int n, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int cauchy_n_ones </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>n</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a1e0c1fdadd7b4015f470239dd481e9ef"></a><!-- doxytag: member="cauchy_best_r6.c::cauchy_original_coding_matrix" ref="a1e0c1fdadd7b4015f470239dd481e9ef" args="(int k, int m, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_original_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a978ff1db48230df60e2e8022d1421770"></a><!-- doxytag: member="cauchy_best_r6.c::cauchy_xy_coding_matrix" ref="a978ff1db48230df60e2e8022d1421770" args="(int k, int m, int w, int *X, int *Y)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* cauchy_xy_coding_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>k</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>m</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>X</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>Y</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Variable Documentation</h2>
-<a class="anchor" id="a798971d3692916d6be992b899f64ebd1"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_13" ref="a798971d3692916d6be992b899f64ebd1" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a798971d3692916d6be992b899f64ebd1">cbest_13</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abf1d8d5fcbeac3a071067ef0005bf206"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_14" ref="abf1d8d5fcbeac3a071067ef0005bf206" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#abf1d8d5fcbeac3a071067ef0005bf206">cbest_14</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afb3ffbda01e411549a1d9403d168f923"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_15" ref="afb3ffbda01e411549a1d9403d168f923" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#afb3ffbda01e411549a1d9403d168f923">cbest_15</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4d289afbaf13971a8d942f23f673435d"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_16" ref="a4d289afbaf13971a8d942f23f673435d" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a4d289afbaf13971a8d942f23f673435d">cbest_16</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4726d8520029b9018619c984a8168172"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_17" ref="a4726d8520029b9018619c984a8168172" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a4726d8520029b9018619c984a8168172">cbest_17</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac34bbd470c7ee76699c32c274c0d370e"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_18" ref="ac34bbd470c7ee76699c32c274c0d370e" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#ac34bbd470c7ee76699c32c274c0d370e">cbest_18</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aeedfc977cfb067afc049d58426015bea"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_19" ref="aeedfc977cfb067afc049d58426015bea" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#aeedfc977cfb067afc049d58426015bea">cbest_19</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac0729385369806ad0fa8d52b8910e9c8"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_20" ref="ac0729385369806ad0fa8d52b8910e9c8" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#ac0729385369806ad0fa8d52b8910e9c8">cbest_20</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a5ea632822d52d30d72372d2245db0656"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_21" ref="a5ea632822d52d30d72372d2245db0656" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a5ea632822d52d30d72372d2245db0656">cbest_21</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aa9a117e027dca367d4d57762b5179e6f"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_22" ref="aa9a117e027dca367d4d57762b5179e6f" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#aa9a117e027dca367d4d57762b5179e6f">cbest_22</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac6eca918546b705a329a1fb8e8a59fef"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_23" ref="ac6eca918546b705a329a1fb8e8a59fef" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#ac6eca918546b705a329a1fb8e8a59fef">cbest_23</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4074c81c96d8cc0191c1222c92f524b5"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_24" ref="a4074c81c96d8cc0191c1222c92f524b5" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a4074c81c96d8cc0191c1222c92f524b5">cbest_24</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0bd22c0adfd4040ba6efe18d12cc62c3"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_25" ref="a0bd22c0adfd4040ba6efe18d12cc62c3" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a0bd22c0adfd4040ba6efe18d12cc62c3">cbest_25</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a2c5a98817930656d0f58c91af7a1eaf0"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_26" ref="a2c5a98817930656d0f58c91af7a1eaf0" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a2c5a98817930656d0f58c91af7a1eaf0">cbest_26</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="abe13ab1e4659b804bff262d9f97c3dde"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_27" ref="abe13ab1e4659b804bff262d9f97c3dde" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#abe13ab1e4659b804bff262d9f97c3dde">cbest_27</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a915f13885ff6d4c5e18f5ae0164b2e5b"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_28" ref="a915f13885ff6d4c5e18f5ae0164b2e5b" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a915f13885ff6d4c5e18f5ae0164b2e5b">cbest_28</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8629acfe0ab7e82c8d7729a2b4201c09"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_29" ref="a8629acfe0ab7e82c8d7729a2b4201c09" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#a8629acfe0ab7e82c8d7729a2b4201c09">cbest_29</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="afef6bfa78f0df75952d2cbc2f7bb9b81"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_30" ref="afef6bfa78f0df75952d2cbc2f7bb9b81" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#afef6bfa78f0df75952d2cbc2f7bb9b81">cbest_30</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab7d83259a0c4ce86446cdefb3126bb4b"></a><!-- doxytag: member="cauchy_best_r6.c::cbest_31" ref="ab7d83259a0c4ce86446cdefb3126bb4b" args="[1023]" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int <a class="el" href="cauchy__best__r6_8c.html#ab7d83259a0c4ce86446cdefb3126bb4b">cbest_31</a>[1023]</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-</div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Defines</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-
-
-<hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 27 2011 16:23:45 for Jerasure by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.7.5.1
-</small></address>
-
-</body>
-</html>
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/closed.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/closed.png
deleted file mode 100644 (file)
index b7d4bd9..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/closed.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.css b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.css
deleted file mode 100644 (file)
index 22c7b5c..0000000
+++ /dev/null
@@ -1,946 +0,0 @@
-/* The standard CSS for doxygen */
-
-body, table, div, p, dl {
-       font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
-       font-size: 12px;
-}
-
-/* @group Heading Levels */
-
-h1 {
-       font-size: 150%;
-}
-
-.title {
-       font-size: 150%;
-       font-weight: bold;
-       margin: 10px 2px;
-}
-
-h2 {
-       font-size: 120%;
-}
-
-h3 {
-       font-size: 100%;
-}
-
-dt {
-       font-weight: bold;
-}
-
-div.multicol {
-       -moz-column-gap: 1em;
-       -webkit-column-gap: 1em;
-       -moz-column-count: 3;
-       -webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
-       margin-top: 2px;
-}
-
-p.endli {
-       margin-bottom: 0px;
-}
-
-p.enddd {
-       margin-bottom: 4px;
-}
-
-p.endtd {
-       margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
-       font-weight: bold;
-}
-
-span.legend {
-        font-size: 70%;
-        text-align: center;
-}
-
-h3.version {
-        font-size: 90%;
-        text-align: center;
-}
-
-div.qindex, div.navtab{
-       background-color: #EBEFF6;
-       border: 1px solid #A3B4D7;
-       text-align: center;
-}
-
-div.qindex, div.navpath {
-       width: 100%;
-       line-height: 140%;
-}
-
-div.navtab {
-       margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-       color: #3D578C;
-       font-weight: normal;
-       text-decoration: none;
-}
-
-.contents a:visited {
-       color: #4665A2;
-}
-
-a:hover {
-       text-decoration: underline;
-}
-
-a.qindex {
-       font-weight: bold;
-}
-
-a.qindexHL {
-       font-weight: bold;
-       background-color: #9CAFD4;
-       color: #ffffff;
-       border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-       font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
-       color: #4665A2;
-}
-
-a.codeRef {
-       color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
-       margin-left: -1cm;
-}
-
-.fragment {
-       font-family: monospace, fixed;
-       font-size: 105%;
-}
-
-pre.fragment {
-       border: 1px solid #C4CFE5;
-       background-color: #FBFCFD;
-       padding: 4px 6px;
-       margin: 4px 8px 4px 2px;
-       overflow: auto;
-       word-wrap: break-word;
-       font-size:  9pt;
-       line-height: 125%;
-}
-
-div.ah {
-       background-color: black;
-       font-weight: bold;
-       color: #ffffff;
-       margin-bottom: 3px;
-       margin-top: 3px;
-       padding: 0.2em;
-       border: solid thin #333;
-       border-radius: 0.5em;
-       -webkit-border-radius: .5em;
-       -moz-border-radius: .5em;
-       box-shadow: 2px 2px 3px #999;
-       -webkit-box-shadow: 2px 2px 3px #999;
-       -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-       background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
-       background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
-       margin-left: 16px;
-       margin-top: 12px;
-       font-weight: bold;
-}
-
-div.groupText {
-       margin-left: 16px;
-       font-style: italic;
-}
-
-body {
-       background-color: white;
-       color: black;
-        margin: 0;
-}
-
-div.contents {
-       margin-top: 10px;
-       margin-left: 8px;
-       margin-right: 8px;
-}
-
-td.indexkey {
-       background-color: #EBEFF6;
-       font-weight: bold;
-       border: 1px solid #C4CFE5;
-       margin: 2px 0px 2px 0;
-       padding: 2px 10px;
-}
-
-td.indexvalue {
-       background-color: #EBEFF6;
-       border: 1px solid #C4CFE5;
-       padding: 2px 10px;
-       margin: 2px 0px;
-}
-
-tr.memlist {
-       background-color: #EEF1F7;
-}
-
-p.formulaDsp {
-       text-align: center;
-}
-
-img.formulaDsp {
-       
-}
-
-img.formulaInl {
-       vertical-align: middle;
-}
-
-div.center {
-       text-align: center;
-        margin-top: 0px;
-        margin-bottom: 0px;
-        padding: 0px;
-}
-
-div.center img {
-       border: 0px;
-}
-
-address.footer {
-       text-align: right;
-       padding-right: 12px;
-}
-
-img.footer {
-       border: 0px;
-       vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-       color: #008000
-}
-
-span.keywordtype {
-       color: #604020
-}
-
-span.keywordflow {
-       color: #e08000
-}
-
-span.comment {
-       color: #800000
-}
-
-span.preprocessor {
-       color: #806020
-}
-
-span.stringliteral {
-       color: #002080
-}
-
-span.charliteral {
-       color: #008080
-}
-
-span.vhdldigit { 
-       color: #ff00ff 
-}
-
-span.vhdlchar { 
-       color: #000000 
-}
-
-span.vhdlkeyword { 
-       color: #700070 
-}
-
-span.vhdllogic { 
-       color: #ff0000 
-}
-
-/* @end */
-
-/*
-.search {
-       color: #003399;
-       font-weight: bold;
-}
-
-form.search {
-       margin-bottom: 0px;
-       margin-top: 0px;
-}
-
-input.search {
-       font-size: 75%;
-       color: #000080;
-       font-weight: normal;
-       background-color: #e8eef2;
-}
-*/
-
-td.tiny {
-       font-size: 75%;
-}
-
-.dirtab {
-       padding: 4px;
-       border-collapse: collapse;
-       border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
-       background: #EBEFF6;
-       font-weight: bold;
-}
-
-hr {
-       height: 0px;
-       border: none;
-       border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
-       height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
-       border-spacing: 0px;
-       padding: 0px;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-       background-color: #F9FAFC;
-       border: none;
-       margin: 4px;
-       padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-       padding: 0px 8px 4px 8px;
-       color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
-       border-top: 1px solid #C4CFE5;
-}
-
-.memItemLeft, .memTemplItemLeft {
-        white-space: nowrap;
-}
-
-.memItemRight {
-       width: 100%;
-}
-
-.memTemplParams {
-       color: #4665A2;
-        white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-       font-size: 80%;
-       color: #4665A2;
-       font-weight: normal;
-       margin-left: 9px;
-}
-
-.memnav {
-       background-color: #EBEFF6;
-       border: 1px solid #A3B4D7;
-       text-align: center;
-       margin: 2px;
-       margin-right: 15px;
-       padding: 2px;
-}
-
-.mempage {
-       width: 100%;
-}
-
-.memitem {
-       padding: 0;
-       margin-bottom: 10px;
-       margin-right: 5px;
-}
-
-.memname {
-        white-space: nowrap;
-        font-weight: bold;
-        margin-left: 6px;
-}
-
-.memproto, dl.reflist dt {
-        border-top: 1px solid #A8B8D9;
-        border-left: 1px solid #A8B8D9;
-        border-right: 1px solid #A8B8D9;
-        padding: 6px 0px 6px 0px;
-        color: #253555;
-        font-weight: bold;
-        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
-        /* opera specific markup */
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        border-top-right-radius: 8px;
-        border-top-left-radius: 8px;
-        /* firefox specific markup */
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        -moz-border-radius-topright: 8px;
-        -moz-border-radius-topleft: 8px;
-        /* webkit specific markup */
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        -webkit-border-top-right-radius: 8px;
-        -webkit-border-top-left-radius: 8px;
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E2E8F2;
-
-}
-
-.memdoc, dl.reflist dd {
-        border-bottom: 1px solid #A8B8D9;      
-        border-left: 1px solid #A8B8D9;      
-        border-right: 1px solid #A8B8D9; 
-        padding: 2px 5px;
-        background-color: #FBFCFD;
-        border-top-width: 0;
-        /* opera specific markup */
-        border-bottom-left-radius: 8px;
-        border-bottom-right-radius: 8px;
-        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        /* firefox specific markup */
-        -moz-border-radius-bottomleft: 8px;
-        -moz-border-radius-bottomright: 8px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
-        background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
-        /* webkit specific markup */
-        -webkit-border-bottom-left-radius: 8px;
-        -webkit-border-bottom-right-radius: 8px;
-        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-        background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
-}
-
-dl.reflist dt {
-        padding: 5px;
-}
-
-dl.reflist dd {
-        margin: 0px 0px 10px 0px;
-        padding: 5px;
-}
-
-.paramkey {
-       text-align: right;
-}
-
-.paramtype {
-       white-space: nowrap;
-}
-
-.paramname {
-       color: #602020;
-       white-space: nowrap;
-}
-.paramname em {
-       font-style: normal;
-}
-
-.params, .retval, .exception, .tparams {
-        border-spacing: 6px 2px;
-}       
-
-.params .paramname, .retval .paramname {
-        font-weight: bold;
-        vertical-align: top;
-}
-        
-.params .paramtype {
-        font-style: italic;
-        vertical-align: top;
-}       
-        
-.params .paramdir {
-        font-family: "courier new",courier,monospace;
-        vertical-align: top;
-}
-
-
-
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view */
-
-.ftvtree {
-       font-family: sans-serif;
-       margin: 0px;
-}
-
-/* these are for tree view when used as main index */
-
-.directory {
-       font-size: 9pt;
-       font-weight: bold;
-       margin: 5px;
-}
-
-.directory h3 {
-       margin: 0px;
-       margin-top: 1em;
-       font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice.  Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
-       height: 61px;
-       background-repeat: no-repeat;
-       background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
-       display: none;
-}
-*/
-
-.directory > h3 {
-       margin-top: 0;
-}
-
-.directory p {
-       margin: 0px;
-       white-space: nowrap;
-}
-
-.directory div {
-       display: none;
-       margin: 0px;
-}
-
-.directory img {
-       vertical-align: -30%;
-}
-
-/* these are for tree view when not used as main index */
-
-.directory-alt {
-       font-size: 100%;
-       font-weight: bold;
-}
-
-.directory-alt h3 {
-       margin: 0px;
-       margin-top: 1em;
-       font-size: 11pt;
-}
-
-.directory-alt > h3 {
-       margin-top: 0;
-}
-
-.directory-alt p {
-       margin: 0px;
-       white-space: nowrap;
-}
-
-.directory-alt div {
-       display: none;
-       margin: 0px;
-}
-
-.directory-alt img {
-       vertical-align: -30%;
-}
-
-/* @end */
-
-div.dynheader {
-        margin-top: 8px;
-}
-
-address {
-       font-style: normal;
-       color: #2A3D61;
-}
-
-table.doxtable {
-       border-collapse:collapse;
-}
-
-table.doxtable td, table.doxtable th {
-       border: 1px solid #2D4068;
-       padding: 3px 7px 2px;
-}
-
-table.doxtable th {
-       background-color: #374F7F;
-       color: #FFFFFF;
-       font-size: 110%;
-       padding-bottom: 4px;
-       padding-top: 5px;
-       text-align:left;
-}
-
-table.fieldtable {
-        width: 100%;
-        margin-bottom: 10px;
-        border: 1px solid #A8B8D9;
-        border-spacing: 0px;
-        -moz-border-radius: 4px;
-        -webkit-border-radius: 4px;
-        border-radius: 4px;
-        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
-        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
-        padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
-        white-space: nowrap;
-        border-right: 1px solid #A8B8D9;
-        border-bottom: 1px solid #A8B8D9;
-        vertical-align: top;
-}
-
-.fieldtable td.fielddoc {
-        border-bottom: 1px solid #A8B8D9;
-        width: 100%;
-}
-
-.fieldtable tr:last-child td {
-        border-bottom: none;
-}
-
-.fieldtable th {
-        background-image:url('nav_f.png');
-        background-repeat:repeat-x;
-        background-color: #E2E8F2;
-        font-size: 90%;
-        color: #253555;
-        padding-bottom: 4px;
-        padding-top: 5px;
-        text-align:left;
-        -moz-border-radius-topleft: 4px;
-        -moz-border-radius-topright: 4px;
-        -webkit-border-top-left-radius: 4px;
-        -webkit-border-top-right-radius: 4px;
-        border-top-left-radius: 4px;
-        border-top-right-radius: 4px;
-        border-bottom: 1px solid #A8B8D9;
-}
-
-
-.tabsearch {
-       top: 0px;
-       left: 10px;
-       height: 36px;
-       background-image: url('tab_b.png');
-       z-index: 101;
-       overflow: hidden;
-       font-size: 13px;
-}
-
-.navpath ul
-{
-       font-size: 11px;
-       background-image:url('tab_b.png');
-       background-repeat:repeat-x;
-       height:30px;
-       line-height:30px;
-       color:#8AA0CC;
-       border:solid 1px #C2CDE4;
-       overflow:hidden;
-       margin:0px;
-       padding:0px;
-}
-
-.navpath li
-{
-       list-style-type:none;
-       float:left;
-       padding-left:10px;
-       padding-right:15px;
-       background-image:url('bc_s.png');
-       background-repeat:no-repeat;
-       background-position:right;
-       color:#364D7C;
-}
-
-.navpath li.navelem a
-{
-       height:32px;
-       display:block;
-       text-decoration: none;
-       outline: none;
-}
-
-.navpath li.navelem a:hover
-{
-       color:#6884BD;
-}
-
-.navpath li.footer
-{
-        list-style-type:none;
-        float:right;
-        padding-left:10px;
-        padding-right:15px;
-        background-image:none;
-        background-repeat:no-repeat;
-        background-position:right;
-        color:#364D7C;
-        font-size: 8pt;
-}
-
-
-div.summary
-{
-       float: right;
-       font-size: 8pt;
-       padding-right: 5px;
-       width: 50%;
-       text-align: right;
-}       
-
-div.summary a
-{
-       white-space: nowrap;
-}
-
-div.ingroups
-{
-       margin-left: 5px;
-       font-size: 8pt;
-       padding-left: 5px;
-       width: 50%;
-       text-align: left;
-}
-
-div.ingroups a
-{
-       white-space: nowrap;
-}
-
-div.header
-{
-        background-image:url('nav_h.png');
-        background-repeat:repeat-x;
-       background-color: #F9FAFC;
-       margin:  0px;
-       border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
-       padding: 5px 5px 5px 7px;
-}
-
-dl
-{
-        padding: 0 0 0 10px;
-}
-
-dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
-{
-        border-left:4px solid;
-        padding: 0 0 0 6px;
-}
-
-dl.note
-{
-        border-color: #D0C000;
-}
-
-dl.warning, dl.attention
-{
-        border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant
-{
-        border-color: #00D000;
-}
-
-dl.deprecated
-{
-        border-color: #505050;
-}
-
-dl.todo
-{
-        border-color: #00C0E0;
-}
-
-dl.test
-{
-        border-color: #3030E0;
-}
-
-dl.bug
-{
-        border-color: #C08050;
-}
-
-#projectlogo
-{
-       text-align: center;
-       vertical-align: bottom;
-       border-collapse: separate;
-}
-#projectlogo img
-{ 
-       border: 0px none;
-}
-#projectname
-{
-       font: 300% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 2px 0px;
-}
-    
-#projectbrief
-{
-       font: 120% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 0px;
-}
-
-#projectnumber
-{
-       font: 50% Tahoma, Arial,sans-serif;
-       margin: 0px;
-       padding: 0px;
-}
-
-#titlearea
-{
-       padding: 0px;
-       margin: 0px;
-       width: 100%;
-       border-bottom: 1px solid #5373B4;
-}
-
-.image
-{
-        text-align: center;
-}
-
-.dotgraph
-{
-        text-align: center;
-}
-
-.mscgraph
-{
-        text-align: center;
-}
-
-.caption
-{
-       font-weight: bold;
-}
-
-div.zoom
-{
-       border: 1px solid #90A5CE;
-}
-
-dl.citelist {
-        margin-bottom:50px;
-}
-
-dl.citelist dt {
-        color:#334975;
-        float:left;
-        font-weight:bold;
-        margin-right:10px;
-        padding:5px;
-}
-
-dl.citelist dd {
-        margin:2px 0;
-        padding:5px 0;
-}
-
-@media print
-{
-  #top { display: none; }
-  #side-nav { display: none; }
-  #nav-path { display: none; }
-  body { overflow:visible; }
-  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
-  .summary { display: none; }
-  .memitem { page-break-inside: avoid; }
-  #doc-content
-  {
-    margin-left:0 !important;
-    height:auto !important;
-    width:auto !important;
-    overflow:inherit;
-    display:inline;
-  }
-  pre.fragment
-  {
-    overflow: visible;
-    text-wrap: unrestricted;
-    white-space: -moz-pre-wrap; /* Moz */
-    white-space: -pre-wrap; /* Opera 4-6 */
-    white-space: -o-pre-wrap; /* Opera 7 */
-    white-space: pre-wrap; /* CSS3  */
-    word-wrap: break-word; /* IE 5.5+ */
-  }
-}
-
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.png
deleted file mode 100644 (file)
index 635ed52..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/doxygen.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/files.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/files.html
deleted file mode 100644 (file)
index bfacd02..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: File List</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="header">
-  <div class="headertitle">
-<div class="title">File List</div>  </div>
-</div>
-<div class="contents">
-<div class="textblock">Here is a list of all files with brief descriptions:</div><table>
-  <tr><td class="indexkey"><a class="el" href="cauchy_8c.html">cauchy.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="cauchy_8h.html">cauchy.h</a> <a href="cauchy_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="cauchy__best__r6_8c.html">cauchy_best_r6.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="galois_8c.html">galois.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="galois_8h.html">galois.h</a> <a href="galois_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="jerasure_8c.html">jerasure.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="jerasure_8h.html">jerasure.h</a> <a href="jerasure_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="liberation_8c.html">liberation.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="liberation_8h.html">liberation.h</a> <a href="liberation_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="reed__sol_8c.html">reed_sol.c</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="reed__sol_8h.html">reed_sol.h</a> <a href="reed__sol_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-</table>
-</div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Defines</a></div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-
-
-<hr class="footer"/><address class="footer"><small>
-Generated on Sun Nov 27 2011 16:23:46 for Jerasure by &#160;<a href="http://www.doxygen.org/index.html">
-<img class="footer" src="doxygen.png" alt="doxygen"/>
-</a> 1.7.5.1
-</small></address>
-
-</body>
-</html>
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_0.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_0.png
deleted file mode 100644 (file)
index cd0e636..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_0.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_1.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_1.png
deleted file mode 100644 (file)
index 8334ebe..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_1.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_2.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_2.png
deleted file mode 100644 (file)
index 0741ef7..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_2.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_3.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_3.png
deleted file mode 100644 (file)
index bf7a9ee..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_3.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_4.png b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_4.png
deleted file mode 100644 (file)
index 840a68c..0000000
Binary files a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/form_4.png and /dev/null differ
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/formula.repository b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/formula.repository
deleted file mode 100644 (file)
index 1b44977..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\form#0:$GF(2^w)$
-\form#1:$GF(2)$
-\form#2:$m \times k$
-\form#3:$wm \times wk$
-\form#4:$w$
diff --git a/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/galois_8c.html b/Splitter-ng-plugin-jerasure/Jerasure-1.2-java/doc/html/galois_8c.html
deleted file mode 100644 (file)
index 64af457..0000000
+++ /dev/null
@@ -1,939 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<title>Jerasure: galois.c File Reference</title>
-
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<script type="text/javascript">
-  $(document).ready(function() { searchBox.OnSelectItem(0); });
-</script>
-
-</head>
-<body>
-<div id="top"><!-- do not remove this div! -->
-
-
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  
-  
-  <td style="padding-left: 0.5em;">
-   <div id="projectname">Jerasure
-   &#160;<span id="projectnumber">1.2</span>
-   </div>
-   <div id="projectbrief">A Library in C/C++ Facilitating Erasure Coding for Storage Applications</div>
-  </td>
-  
-  
-  
- </tr>
- </tbody>
-</table>
-</div>
-
-<!-- Generated by Doxygen 1.7.5.1 -->
-<script type="text/javascript">
-var searchBox = new SearchBox("searchBox", "search",false,'Search');
-</script>
-  <div id="navrow1" class="tabs">
-    <ul class="tablist">
-      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
-      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li>
-        <div id="MSearchBox" class="MSearchBoxInactive">
-        <span class="left">
-          <img id="MSearchSelect" src="search/mag_sel.png"
-               onmouseover="return searchBox.OnSearchSelectShow()"
-               onmouseout="return searchBox.OnSearchSelectHide()"
-               alt=""/>
-          <input type="text" id="MSearchField" value="Search" accesskey="S"
-               onfocus="searchBox.OnSearchFieldFocus(true)" 
-               onblur="searchBox.OnSearchFieldFocus(false)" 
-               onkeyup="searchBox.OnSearchFieldChange(event)"/>
-          </span><span class="right">
-            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
-          </span>
-        </div>
-      </li>
-    </ul>
-  </div>
-  <div id="navrow2" class="tabs2">
-    <ul class="tablist">
-      <li><a href="files.html"><span>File&#160;List</span></a></li>
-      <li><a href="globals.html"><span>Globals</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="header">
-  <div class="summary">
-<a href="#define-members">Defines</a> &#124;
-<a href="#func-members">Functions</a>  </div>
-  <div class="headertitle">
-<div class="title">galois.c File Reference</div>  </div>
-</div>
-<div class="contents">
-<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
-<code>#include &lt;stdlib.h&gt;</code><br/>
-<code>#include &lt;string.h&gt;</code><br/>
-<code>#include &quot;<a class="el" href="galois_8h_source.html">galois.h</a>&quot;</code><br/>
-</div><table class="memberdecls">
-<tr><td colspan="2"><h2><a name="define-members"></a>
-Defines</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a655c84af1b0034986ff56e12e84f983d">NONE</a>&#160;&#160;&#160;(10)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#acadaccd8321f8569f31a11bdad1829da">TABLE</a>&#160;&#160;&#160;(11)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ac179eef68bcc694aa0ef8dd1eb09950b">SHIFT</a>&#160;&#160;&#160;(12)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a11b913242029687af09171c20ae788eb">LOGS</a>&#160;&#160;&#160;(13)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a28c8995d79543472b94a434b69ec10d0">SPLITW8</a>&#160;&#160;&#160;(14)</td></tr>
-<tr><td colspan="2"><h2><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#aa71b61c7f61ad6e7d0b0a468ea0406d7">galois_create_log_tables</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ab938d0ddd07f5d5016ee88af3cb7e283">galois_logtable_multiply</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a8bae6b9c54ddd375bde4b8f466b262ee">galois_logtable_divide</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a9e9051a1b5b9556adb0cec98752c953b">galois_create_mult_tables</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a32c15697aea2856f419cad7aec9382e6">galois_ilog</a> (int value, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#aabe574c47be1de16435f9f88065f2820">galois_log</a> (int value, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a80f45181015d3aeee7b26a6e1781ca72">galois_shift_multiply</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ae9dcde01baf26c4fe4859fb0dbdfca95">galois_single_multiply</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ae4bccc0e8c3c4f2ff3d6207e02534202">galois_multtable_multiply</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a9ccbbf5999f106f9b37e21f821405b87">galois_single_divide</a> (int a, int b, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a37a4e9b41ead6ea710f661b808f64c7f">galois_shift_divide</a> (int a, int b, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a4374e81741bcad09c23d152bbe97d147">galois_multtable_divide</a> (int x, int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a1325adfdd6ff4c10fe72d271b2ab2d71">galois_w08_region_multiply</a> (char *region, int multby, int nbytes, char *r2, int add)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a6d319cb970af33cd6aa7820630bc4b3d">galois_w16_region_multiply</a> (char *region, int multby, int nbytes, char *r2, int add)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#add05a677922c7e17ebec4c3255b6a339">galois_invert_binary_matrix</a> (int *mat, int *inv, int rows)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ac6aff6d7a1e0b42b3e4bc880be52489c">galois_inverse</a> (int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#ab224f1040a4d4ad954b753411e14e2bf">galois_shift_inverse</a> (int y, int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a69283cce20e324582fa6bf8d5b2298e9">galois_get_mult_table</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a39ecd371a4cbec52d11d1d77425399c7">galois_get_div_table</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a9faaa2d889ad4d2fcb16afba4c548d98">galois_get_log_table</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a214c33bb4c1e8b0999e51420df803694">galois_get_ilog_table</a> (int w)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a000ca1ddead60ede26b34891128d9573">galois_w32_region_multiply</a> (char *region, int multby, int nbytes, char *r2, int add)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a0227afc578ca49a616fca5b345ec9eca">galois_region_xor</a> (char *r1, char *r2, char *r3, int nbytes)</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#acb113be9c4fa4525592a42d980f07066">galois_create_split_w8_tables</a> ()</td></tr>
-<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="galois_8c.html#a148ef566e662c54660109a639e9d4a7e">galois_split_w8_multiply</a> (int x, int y)</td></tr>
-</table>
-<hr/><h2>Define Documentation</h2>
-<a class="anchor" id="a11b913242029687af09171c20ae788eb"></a><!-- doxytag: member="galois.c::LOGS" ref="a11b913242029687af09171c20ae788eb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define LOGS&#160;&#160;&#160;(13)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a655c84af1b0034986ff56e12e84f983d"></a><!-- doxytag: member="galois.c::NONE" ref="a655c84af1b0034986ff56e12e84f983d" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define NONE&#160;&#160;&#160;(10)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac179eef68bcc694aa0ef8dd1eb09950b"></a><!-- doxytag: member="galois.c::SHIFT" ref="ac179eef68bcc694aa0ef8dd1eb09950b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define SHIFT&#160;&#160;&#160;(12)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a28c8995d79543472b94a434b69ec10d0"></a><!-- doxytag: member="galois.c::SPLITW8" ref="a28c8995d79543472b94a434b69ec10d0" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define SPLITW8&#160;&#160;&#160;(14)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="acadaccd8321f8569f31a11bdad1829da"></a><!-- doxytag: member="galois.c::TABLE" ref="acadaccd8321f8569f31a11bdad1829da" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">#define TABLE&#160;&#160;&#160;(11)</td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<hr/><h2>Function Documentation</h2>
-<a class="anchor" id="aa71b61c7f61ad6e7d0b0a468ea0406d7"></a><!-- doxytag: member="galois.c::galois_create_log_tables" ref="aa71b61c7f61ad6e7d0b0a468ea0406d7" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_create_log_tables </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9e9051a1b5b9556adb0cec98752c953b"></a><!-- doxytag: member="galois.c::galois_create_mult_tables" ref="a9e9051a1b5b9556adb0cec98752c953b" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_create_mult_tables </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="acb113be9c4fa4525592a42d980f07066"></a><!-- doxytag: member="galois.c::galois_create_split_w8_tables" ref="acb113be9c4fa4525592a42d980f07066" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_create_split_w8_tables </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a39ecd371a4cbec52d11d1d77425399c7"></a><!-- doxytag: member="galois.c::galois_get_div_table" ref="a39ecd371a4cbec52d11d1d77425399c7" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* galois_get_div_table </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a214c33bb4c1e8b0999e51420df803694"></a><!-- doxytag: member="galois.c::galois_get_ilog_table" ref="a214c33bb4c1e8b0999e51420df803694" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* galois_get_ilog_table </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9faaa2d889ad4d2fcb16afba4c548d98"></a><!-- doxytag: member="galois.c::galois_get_log_table" ref="a9faaa2d889ad4d2fcb16afba4c548d98" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* galois_get_log_table </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a69283cce20e324582fa6bf8d5b2298e9"></a><!-- doxytag: member="galois.c::galois_get_mult_table" ref="a69283cce20e324582fa6bf8d5b2298e9" args="(int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int* galois_get_mult_table </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a32c15697aea2856f419cad7aec9382e6"></a><!-- doxytag: member="galois.c::galois_ilog" ref="a32c15697aea2856f419cad7aec9382e6" args="(int value, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_ilog </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ac6aff6d7a1e0b42b3e4bc880be52489c"></a><!-- doxytag: member="galois.c::galois_inverse" ref="ac6aff6d7a1e0b42b3e4bc880be52489c" args="(int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_inverse </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="add05a677922c7e17ebec4c3255b6a339"></a><!-- doxytag: member="galois.c::galois_invert_binary_matrix" ref="add05a677922c7e17ebec4c3255b6a339" args="(int *mat, int *inv, int rows)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void galois_invert_binary_matrix </td>
-          <td>(</td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>mat</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int *&#160;</td>
-          <td class="paramname"><em>inv</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>rows</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aabe574c47be1de16435f9f88065f2820"></a><!-- doxytag: member="galois.c::galois_log" ref="aabe574c47be1de16435f9f88065f2820" args="(int value, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_log </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a8bae6b9c54ddd375bde4b8f466b262ee"></a><!-- doxytag: member="galois.c::galois_logtable_divide" ref="a8bae6b9c54ddd375bde4b8f466b262ee" args="(int x, int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_logtable_divide </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab938d0ddd07f5d5016ee88af3cb7e283"></a><!-- doxytag: member="galois.c::galois_logtable_multiply" ref="ab938d0ddd07f5d5016ee88af3cb7e283" args="(int x, int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_logtable_multiply </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a4374e81741bcad09c23d152bbe97d147"></a><!-- doxytag: member="galois.c::galois_multtable_divide" ref="a4374e81741bcad09c23d152bbe97d147" args="(int x, int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_multtable_divide </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ae4bccc0e8c3c4f2ff3d6207e02534202"></a><!-- doxytag: member="galois.c::galois_multtable_multiply" ref="ae4bccc0e8c3c4f2ff3d6207e02534202" args="(int x, int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_multtable_multiply </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a0227afc578ca49a616fca5b345ec9eca"></a><!-- doxytag: member="galois.c::galois_region_xor" ref="a0227afc578ca49a616fca5b345ec9eca" args="(char *r1, char *r2, char *r3, int nbytes)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void galois_region_xor </td>
-          <td>(</td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>r1</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>r2</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">char *&#160;</td>
-          <td class="paramname"><em>r3</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>nbytes</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a37a4e9b41ead6ea710f661b808f64c7f"></a><!-- doxytag: member="galois.c::galois_shift_divide" ref="a37a4e9b41ead6ea710f661b808f64c7f" args="(int a, int b, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_shift_divide </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="ab224f1040a4d4ad954b753411e14e2bf"></a><!-- doxytag: member="galois.c::galois_shift_inverse" ref="ab224f1040a4d4ad954b753411e14e2bf" args="(int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_shift_inverse </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a80f45181015d3aeee7b26a6e1781ca72"></a><!-- doxytag: member="galois.c::galois_shift_multiply" ref="a80f45181015d3aeee7b26a6e1781ca72" args="(int x, int y, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_shift_multiply </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>x</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>y</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="a9ccbbf5999f106f9b37e21f821405b87"></a><!-- doxytag: member="galois.c::galois_single_divide" ref="a9ccbbf5999f106f9b37e21f821405b87" args="(int a, int b, int w)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int galois_single_divide </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>a</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>b</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>w</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>