summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-01-03Remove debugging statementsThomas Jespersen
And more importantly, free allocated memory!
2014-12-31Change erroneous free()'s to mpz_clears()Thomas Jespersen
2014-12-31Implement encoding functionality in examples/soleg.cThomas Jespersen
Add stream_stat() to sole-gmp.c for debugging
2014-12-31Make it compileThomas Jespersen
2014-12-31Fix small mistakesThomas Jespersen
2014-12-31Fix alignment for soleg_encode()Thomas Jespersen
2014-12-31Fix soleg_encode_end()Thomas Jespersen
2014-12-31For now, remove decoding from sole-gmpThomas Jespersen
2014-12-31Major overhaul to use GMPThomas Jespersen
2014-12-30Add beginning sole-gmp implThomas Jespersen
2014-12-29Check for zero-length input (do nothing)Thomas Jespersen
2014-12-21Remove lots of debugging statementsThomas Jespersen
2014-12-10Breaking changeThomas Jespersen
2014-12-09Rename r to r_nextThomas Jespersen
Clarifies that this is the next remainder we're extracting
2014-12-09Fix an obvious mistake and compiler warningsThomas Jespersen
The u64() macro is now for _casting_ as uint64_t, whereas the u64c() macro is for declaring a uint64_t constant (literally appending ULL).
2014-12-08Add header files to configure.ac and typedefs to common.hThomas Jespersen
2014-12-07First round at making decoding work.Thomas Jespersen
TODO: Obvious test fails - fix it
2014-12-07DocumentationThomas Jespersen
2014-12-07Implement stream re-alignment when given input does not alignThomas Jespersen
Implement sole_encode_realign() which takes care of re-aligning the way the input is read. An arbitrary byte buffer might not be 32-byte aligned, which causes the stream to be misaligned. Given a fresh buffer, we must first ensure that we re-align with 32 bytes.
2014-12-07Fix minor error in sole_encode_end()Thomas Jespersen
Identifying whether we received odd or even blocks didn't query the correct size.
2014-12-07Fix output byte orderingThomas Jespersen
2014-12-07Big changes to streaming algorithmThomas Jespersen
Essentially modelled on zlib's API, which requires some setup from the user, but also offers a lot of flexibility. - Add inp and outp pointers to input and output respectively - Require set sizes for data available in input and output
2014-12-06Fix erroneous composition for double EOF with even blocksThomas Jespersen
Now cmd-sole and sole_file agree on 64-bit output.
2014-12-06Adjust cmd-sole to compose the blocks the same way sole_file sees itThomas Jespersen
2014-12-06Minor changes to sole.cThomas Jespersen
2014-12-06Add direct conversion from 128-bit blocks to 64-bit blocksThomas Jespersen
2014-12-04Fix apparent byte manglingThomas Jespersen
Haskell and C implementations now read the input in the same way. So they should produce the same output.
2014-12-04Add byte output to both examples/sole_file and poc/cmd-soleThomas Jespersen
Their byte output should be the same (just allows us to inspect that the data is processed identically)
2014-12-01Add total bytes read counter to sole_streamThomas Jespersen
TODO REALLY IMPORTANT! Check sole_encode_file() reads input in the "correct" order. One way to see this is to finish the poc/cmd-sole tool and have it output a 64-bit block view of a file (and compare outputs)
2014-12-01Remove sole_mul_i3() and organise some testsThomas Jespersen
2014-11-30If double representation of number is in range 0..1 then round up to 1.Thomas Jespersen
Otherwise we won't terminate. Also add test cases demonstrating this behaviour
2014-11-30Move standard included files to common.hThomas Jespersen
2014-11-30Add missing return statementThomas Jespersen
The lack of which messed everything up, when adding a negative number to a positive. Include two test cases demonstrating this behaviour
2014-11-30Fix high bit fetching for transforming 256-bit block to doubleThomas Jespersen
I had forgotten to fetch _only_ the high, and would therefore include the sign bit in the magnitude as well.
2014-11-27More testing for subtractionThomas Jespersen
2014-11-26Remove print statementsThomas Jespersen
Now 'examples/sole_file TODO' runs with no problem
2014-11-26Add some subtraction and multiplication tests involving negative numbersThomas Jespersen
Fixes a few bugs
2014-11-25Unfinished division, but growing closerThomas Jespersen
2014-11-25More negative number handling - almost finishedThomas Jespersen
2014-11-25Handle subtractionThomas Jespersen
2014-11-25Add negative number handling to blk256_add()Thomas Jespersen
2014-11-24Replace correcting while-loop in div algo with other correctional method.Thomas Jespersen
Also remove unnecessary parenthesis
2014-11-24Move include lines into sole headerThomas Jespersen
2014-11-23Add 'indent' target to MakefileThomas Jespersen
Allows running 'make indent' to indent all source files. Note this does _not_ indent header files, as GNU indent doesn't handle these properly (at least it handles them differently from .c files) Also, change some lines in src/blk256.c based on Linux' checkpatch.pl output
2014-11-21Use available macros in sole_pass1_decompose()Thomas Jespersen
Checking for i3 == 0 and setting rem both have macros that do this. Use them.
2014-11-20Add small correction step for quotient found by double divisionThomas Jespersen
2014-11-20Introduce DPT_EXTERN for extern function declarations (API functions)Thomas Jespersen
Some of these tricks are taken from libgit2
2014-11-19Replace iterating addition with multiplicationThomas Jespersen
2014-11-19Add 128-bit block multiplications and basic testing.Thomas Jespersen
I'm pretty confident this works, and it should be pretty useful later on. More testing is required though.
2014-11-19Write TODOsThomas Jespersen