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:20070122231731-eb44e-c67d3cc8ce1c8a3d3f81692c4b3b117350b5c9eb
stricter typing -- using unsigned char for indexes into shares

darcs-hash:20070124211751-eb44e-37229957b23f14b86e659f3f359c2c3d20c5469e
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:20070124212053-eb44e-ea6a582d227615043c682aac3647560ac0da2125
add comment

darcs-hash:20070124212145-eb44e-b6c7c9dac323a39cd72c5b0ef86cc6100d2c8786
add warning of subtle gotcha that can happen with mutable data buffers

darcs-hash:20070125212243-92b7f-38f6cc8860a66686cffaa2f4ac3fe56ec1da7c41
allow any sequence as input, not just List

darcs-hash:20070125212319-92b7f-ee8c812d4db5e0ffbd4434f96b2a0a28dbd5d127
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:20070125212401-92b7f-27942744df0e8649a69e23bf0d42e18725391b19
add utility method file_fec

darcs-hash:20070125212519-92b7f-96fa282d9bf90f4817029dc6d3f4de3f4ee5a6fb
fix tests to not require pyutil and other tweaks

darcs-hash:20070125212534-92b7f-da99d29d02fde0288d21018d09fef8edaa98dfca
add benchmark

darcs-hash:20070125233348-92b7f-17fbf0713dd2b6615dd817daba3113c5eacb0a53
add dummy function to see how fast we can read in a file and invoke a Python function on each segment

darcs-hash:20070125235026-92b7f-7d138467e7df11a8e237fc37627c8320ed50da27
add copyright notices, license, attributions

darcs-hash:20070126000216-92b7f-3aa238163248c02a29c6752e993c5946012e2d1f
pyfec: improve package metadata

darcs-hash:20070126000829-92b7f-e99970040aa74c394a448a4ef55b1cd3539490a6
add README.txt

darcs-hash:20070126004637-92b7f-688027fdbf8d8e4e3c2e691814f6052de81a64f4
pyfec: trivial formatting

darcs-hash:20070126004657-92b7f-fb30b190ef369714cf97012e5da7f739fa106e5f
pyfec: add precondition checks on the values of k and m to constructors

darcs-hash:20070126004704-92b7f-2c24684ca751b8b43c46c10e20c7cd0d41195aa5
rename the C extension from "fec" to "_fec"

darcs-hash:20070127015804-92b7f-c4669107d095d39a93642a95190449457f1a11a8
pyfec: make README.txt much more detailed and rename some internal variables and add some docstrings

darcs-hash:20070127020850-92b7f-3d1704d156adf24e7afa392159b9c7205c86928b
pyfec: remove (optimize) unused code

darcs-hash:20070127021028-92b7f-ef50814c8891014bf6c0364197b2fde37f78ae2c
pyfec: trivial formatting tweak

darcs-hash:20070127021053-92b7f-d70abcf9b6d0927f91e983cbd8f998cb02649b4d