pyfec: make unit test failures print out a few useful bytes instead of kibibytes
darcs-hash:
d3186518018a7db37e0fc2e73e59ebe66fb52a27
pyfec: add variant of randomized test which happens to match the interface to benchutil
darcs-hash:
e5d2cdc31a52bf4de918a01ef872ff63e974e975
pyfec: make randomized unit tests more comprehensive
darcs-hash:
3443d15b6a3c1e99cc4d98addb731f56ce4eebe0
pyfec: fix precondition checks on k and m to actually check the value before coercing it into a smaller type (oops)
darcs-hash:
21df35e9c35aabba96d79ce0a08ed44061320811
pyfec: loosen preconditions -- you can have up to 256 total shares, not up to 255 total shares
darcs-hash:
e3fd6ce669c3b6b821c44151162ef37a6f713a5b
pyfec: trial-ize the unit tests, making sure to keep working if trial is unavailable
darcs-hash:
1ecc98aff234407f323d691b557608df9105673b
pyfec: rename and clarify -- "blocks" are the units of input/output of the codec, "shares" are sequences of blocks (used to process arbitrary-length files)
darcs-hash:
8125140adbe753ca182fb227049b264c344f1719
pyfec: fix another error path, combine the type-level docstring with the (hitherto unlinked) init docstring
darcs-hash:
83f33f0355dc95847462ff9fbf9151ebfaca96ea
pyfec: fix some error-checking, add more unit tests
darcs-hash:
6cb92d225fd5ebd7d1e00d5942ae03dc39b2672f
pyfec: correctly handle wrongly typed input by raising exception
darcs-hash:
a264294247306af6ca2577668fcda8df5e34551f
pyfec: add easyfec wrapper which takes a single string and splits it into input shares and pads, then passes it on to the inner fec object
darcs-hash:
ff2a8043e87d06451b910f760316aa8967062f69
pyfec: add documentation, assertion, licence information
darcs-hash:
3f117bc64875732e7cc80b5788147a6c23bb161f
pyfec: add benchmark measurement on my cool new MacBook Pro
darcs-hash:
c0ac0c193c88584f7363f09e236d28a70dd4e9de
pyfec repository description of how to download the code via darcs
darcs-hash:
51766f437382b77d3bd43cb2843f55d356fe700d
pyfec: fix preconditions and typing, remove unused error-checking, tidy-up naming and documentation
darcs-hash:
8c487c77471db12b73c52bb80a9cc71e8c5968da
pyfec: make it compatible with Python 2.4 as well as Python 2.5
darcs-hash:
e7fbe6da45db3d221ff833c7b316407de439c889
pyfec: silence compiler warnings, add -Wall to debugmode compilation
darcs-hash:
8d2007c42d05e9412339c3d44389f4596378781b
pyfec: fix preconditions, tighten internal C types, fix bugs in the file-encoding and benchmarking utility functions
darcs-hash:
bad6972889e6779e8331ed4249dc419415d56753
pyfec: add fec/__init__.py to import all the right names into the fec module namespace
darcs-hash:
aa2e21bcd474c4dab378958a9089d901760ee9a4
pyfec: delete m-k of the tempfiles at random in the benchmark of the to/from files
darcs-hash:
52d315e7bb09d35534379b5130898a4547d7cdf6
pyfec: execute tests on import of test_pyfec.py only if it is the __main__
darcs-hash:
83c9116fa21d29b701a52bf8033dce3f95bde461
pyfec: weaken preconditions -- you can have up to 256 shares, and you don't have to pad the individual shares except to make them all the same length
darcs-hash:
406d3fb88b63ef151abe5d312ef729e576cd0f2d
pyfec: move benchmark code from test_pyfec.py into the new bench_pyfec.py and add more benchmark code
darcs-hash:
9f6c7663a2c127170c07aedb3317d42b6eaae6aa
pyfec: add utility functions to encode into a bunch of temp files and to decode from a bunch of tempfiles
darcs-hash:
d0d09ae6a9577539a94b3d5ba475db543bd025d0
pyfec: make README.txt much more detailed and rename some internal variables and add some docstrings
darcs-hash:
3d1704d156adf24e7afa392159b9c7205c86928b
pyfec: add precondition checks on the values of k and m to constructors
darcs-hash:
2c24684ca751b8b43c46c10e20c7cd0d41195aa5
add copyright notices, license, attributions
darcs-hash:
3aa238163248c02a29c6752e993c5946012e2d1f
add dummy function to see how fast we can read in a file and invoke a Python function on each segment
darcs-hash:
7d138467e7df11a8e237fc37627c8320ed50da27
use buffers as generic "read" buffers instead of char buffers
This is a typing kludge -- if your buffers have elements of size > 1 then we will be processing only a subset of the elements and treating each byte of the element as a separate entry.
Oh well.
darcs-hash:
27942744df0e8649a69e23bf0d42e18725391b19
add warning of subtle gotcha that can happen with mutable data buffers
darcs-hash:
38f6cc8860a66686cffaa2f4ac3fe56ec1da7c41
nicer API -- you don't have to shuffle the shares into place before calling decode_all()
Instead it does that shuffling in C inside fecmodule.
darcs-hash:
ea6a582d227615043c682aac3647560ac0da2125
stricter typing -- using unsigned char for indexes into shares
darcs-hash:
37229957b23f14b86e659f3f359c2c3d20c5469e
pyfec v0.9
Here is the change history from the first darcs era, in reverse chronological
order:
Mon Jan 22 16:12:56 MST 2007 "Zooko O'Whielacronx <zooko@zooko.com>"
* move everything into a subdirectory so that I can merge this darcs repo with the tahoe darcs repo
./fec -> ./pyfec/fec
./setup.py -> ./pyfec/setup.py
A ./pyfec/
Mon Jan 22 16:10:17 MST 2007 "Zooko O'Whielacronx <zooko@zooko.com>"
* clean up and minimize fec.c
* strip out unused code
* hard-code GF_BITS to 8
* reindent and reformat curly bracket placement
M ./fec/fec.c -655 +324
M ./fec/fec.h -25
Mon Jan 22 14:24:32 MST 2007 "Zooko O'Whielacronx <zooko@zooko.com>"
* change API to allow a subset of the shares to be produced, and to just pass back pointers to primary shares instead of copying them
M ./fec/fec.c -24 +40
M ./fec/fec.h -5 +17
M ./fec/fecmodule.c -63 +144
M ./fec/test/test_pyfec.py -16 +25
M ./setup.py -2 +27
Tue Jan 16 23:01:44 MST 2007 "Zooko O'Whielacronx <zooko@zooko.com>"
* split encoder from decoder
M ./fec/fecmodule.c -48 +161
M ./fec/test/test_pyfec.py -3 +4
Tue Jan 16 14:35:25 MST 2007 "Zooko O'Whielacronx <zooko@zooko.com>"
* it compiles now!
./fec.c -> ./pyfec/fec.c
./fec.h -> ./pyfec/fec.h
./fecmodule.c -> ./pyfec/fecmodule.c
./pyfec -> ./fec
M ./fec/fec.c -109 +85 r13
M ./fec/fec.h -3 +2 r13
M ./fec/fecmodule.c -23 +241 r13
A ./fec/test/
A ./fec/test/test_pyfec.py
A ./pyfec/
A ./setup.py
Tue Jan 9 10:47:58 MST 2007 zooko@zooko.com
* start of new fecmodule.c
A ./fecmodule.c
Mon Jan 1 15:00:04 MST 2007 zooko@zooko.com
* tidy up error handling
M ./fec.c -26 +16
Mon Jan 1 14:06:30 MST 2007 zooko@zooko.com
* remove the on-the-fly encoding option
We don't currently need it.
M ./fec.c -68
M ./fec.h -22
Mon Jan 1 13:53:28 MST 2007 zooko@zooko.com
* original import from Mnet project
A ./fec.c
A ./fec.h
darcs-hash:
c67d3cc8ce1c8a3d3f81692c4b3b117350b5c9eb