efl/legacy/eina/src/lib
Gustavo Sverzut Barbieri 643958705b eina_matrixsparse: welcome sparse matrix implementation and tests.
Sparse Matrix was implemented and tested by Rafael Antognolli and
myself in order to implement optimized large sparse matrix walk in
some products, one of them WebKit-EFL optimizations.

We have done extensive tests, with good code coverage. Similar to
lists/inlists, we keep pointer to last known element and similar to
iterators we keep reference to last accessed row and cell inside
rows. This allows fast sequential access (for i... for j... m[i,j]),
that is our most common usage case.

Rows are kept in a list, with cells inside that row as another
list. It's not similar to most book implementations where cells keep
reference to their sibling cells in other rows as well, we opted to
not do that to save some pointers and make algorithms simpler, still
do great for our use case.

This code was developed on behalf of our client, that wants to remain
unnamed so far. Thanks client ;-)



SVN revision: 42243
2009-09-04 13:43:44 +00:00
..
.cvsignore Don't display gcov file. 2008-08-01 12:24:53 +00:00
Makefile.am eina_matrixsparse: welcome sparse matrix implementation and tests. 2009-09-04 13:43:44 +00:00
eina_accessor.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_array.c loggify array. 2009-09-04 02:35:24 +00:00
eina_benchmark.c loggify benchmark. 2009-09-04 01:19:19 +00:00
eina_convert.c loggify eina_convert. 2009-09-04 01:03:27 +00:00
eina_counter.c eina_safety_checks_init() 2009-09-04 00:53:19 +00:00
eina_cpu.c typo 2009-08-29 20:53:12 +00:00
eina_error.c eina_error: deprecated old logging, move to eina_log. 2009-09-04 01:37:11 +00:00
eina_file.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_hamster.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_hash.c eina_safety_checks_init() 2009-09-04 00:53:19 +00:00
eina_inlist.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_iterator.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_lalloc.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_list.c loggify list. 2009-09-04 01:43:50 +00:00
eina_log.c make it easier to spot wrong users of eina_log_print() 2009-09-04 02:34:10 +00:00
eina_magic.c eina_error: deprecated old logging, move to eina_log. 2009-09-04 01:37:11 +00:00
eina_main.c eina_matrixsparse: welcome sparse matrix implementation and tests. 2009-09-04 13:43:44 +00:00
eina_matrixsparse.c eina_matrixsparse: welcome sparse matrix implementation and tests. 2009-09-04 13:43:44 +00:00
eina_mempool.c loggify mempool. 2009-09-04 01:13:49 +00:00
eina_module.c eina_module must initialize eina_array as it is used. 2009-09-04 02:34:48 +00:00
eina_rbtree.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_rectangle.c loggify rectangle. 2009-09-04 02:11:44 +00:00
eina_safety_checks.c oops! thanks Vincent. 2009-09-04 03:52:05 +00:00
eina_stringshare.c loggify stringshare, with extensive debug. 2009-09-04 02:03:46 +00:00
eina_tiler.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00
eina_value.c * add eina_config.h in all source files. Fix linking with Visual Studio 2009-08-28 12:03:34 +00:00