Commits

Author Commit Message Labels Comments Date
Martin Albrecht
improved mzd_add - mzd_add is much faster now for small matrices - mzd_add respects ncols & offset properly - there is a benchmark to test the performance of mzd_add, mzd_copy, mzd_transpose - there is a test to test correctness of mzd_add (including whether it writes to places it shouldn't)
Martin Albrecht
adding autogenerated files to .hgignore
Martin Albrecht
merging with Carlo's random() fixes
Martin Albrecht
removing work arounds for compiler bug (not properly alligned loops) since they are not cross platform
Martin Albrecht
adding swap_bits() function to easy transition for third parties to new matrix layout
CarloWood
Added general benchmark program for individual packedmatrix functions.
CarloWood
Fixed copyright header in testsuite/test_random.c. Also added explicit Copyright notice to some of the files (not all of them, because at some point the non-legal aspect of such a statement (lets call it the "boost" factor) is too high for me to feel comfortable with adding such notice when basically all I did was changing the types of variables into int, rci_t or wi_t.
CarloWood
Take BENCH_RANDOM_REVERSE into account in bench_randomize. Just to be pedantic, because the testsuite doesn't use this (with offset != 0).
CarloWood
Duplicated code of m4ri_randomize m4ri_random_word to benchmarketing.c Also needed to fix this file of course :/
CarloWood
Bug fix in m4ri_random_word. m4ri_random_word accidently only returned 31 bits instead of 64. Improved output format of mzd_print to print a '|' between words instead of a space, also when offset != 0 (before a colon was printed in that case). And to not print a trailing ':' after the last bit. Fixed mzd_equal (now returning int instead of BIT), to also work for windowed matrices. Fixed mzd_randomize to generate the same m…
CarloWood
Use TOPSRCDIR Makefile var instead of PWD. Inverse random bits when needed.
CarloWood
Random benchmark improvements. Speed up of m4ri_random_word, and introduction of bench_random_word so it can be used during benchmarking of older revisions too. Fixed testsuite/Makefile.in such that it is possible to compile the testsuite against a different source tree. Various other minor improvements and fixes.
CarloWood
Benchmark facelift. Added testsuite/benchmarketing.c with code for general commandline options to control the minimum/maximum number of times a test is run, desired accurcary, confidence level, maximum running time and amount of output printed. Also fixed the bench_pluq.c and bench_trsm*.c to support the new benchmarketing engine.
CarloWood
Minh Van Nguyen
more user friendly documentation in README Some typo fixes in README. Basic instructions on installation. Some instruction on building the reference manual.
Martin Albrecht
added benchmarketing "framework" for getting more reliable timings out of bench_ files. Switched bench_elimination,bench_multiplication and bench_elimination_sparse to new "framwork".
Martin Albrecht
set the random seed to a fixed value to allow reproducible tests/benchmarks
Martin Albrecht
*** empty log message ***
CarloWood
Type and whitespace clean up (part 2). This finalizes this patch. C++ wrapping and hacks needed for that removed. More manual whitespace fixes. One bug fix: A header had type int as parameter while it should have been wi_t.
CarloWood
Type and whitespace clean up. Introduction of rci_t and wi_t. rci_t is the type of row or column index, and differences thereof. However, when it is known the certain row/col difference is significantly small, the type int is used. For example: int skip = col % RADIX; wi_t is the type of word index, and differences thereof. This the type of differences between two word*. Most notably, rci_t / RADIX = wi_t. Note the types i…
CarloWood
Removed FIXME from _mzd_addmul_weird_weird Not really sure if this was worth 2 hours of my life, but Okay... moved a shift outside of inner loop.
CarloWood
Remove the FIXME from _mzd_transpose_direct_128 Doesn't really gain anything, but I guess it feels better to start with 0xFFFFFFFF ;). Note that I had to write a separate test program for this, because this function is NOT tested by the current testsuite!
CarloWood
Use int consistently (needed for wordwrapper)
CarloWood
Minor cleanup of misc.h. Among other things, get rid of BITMASK again now that is too simple; after some contemplation I decided that seeing 'ONE << spot' in the code is more instructive than seeing 'BITMASK(spot)', especially since the latter more or less hides whether or not a modulo with RADIX is needed or not.
CarloWood
Reverse ONE. This is why we have done all this. By reversing ONE (making it 1 again in the process) columns and shifts match up and a lot of code (and macros) become simpler and more logical.
CarloWood
Remove last traces of reverse. This patch reverses the k bits of Gray codes of k bits long: code::ord. It also moves those k bits to the other side of the word when read with mzd_read_bits and also adjusts mzd_xor_bits to work on the other side. This means that the index of all L*, M* and E* array's that take a Gray code as index are reversed (for their respective lengths). It was discovered that a test to break a loop in mzd…
CarloWood
Bring word::convert_to_int back to its original state.
CarloWood
Bring word::convert_to_BIT back to its original state.
CarloWood
Added extra asserts to make sure that shifts are within defined range.
CarloWood
Remove word::operator-(int). Fixed documentation of LEFT_BITMASK and RIGHT_BITMASK. Improved implementation of LEFT_BITMASK. Eliminated need for word::operator-(int).
  1. Prev
  2. Next