<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/e/eina</link><counters><counter name="thisWeek" lastEventTime="1337763348" firstEventTime="1337762745">4</counter><counter name="forever" lastEventTime="1337763348" firstEventTime="1265488927">1090</counter><counter name="lastMonth" lastEventTime="1335443106" firstEventTime="1333454356">32</counter><counter name="lastWeek" lastEventTime="1337307709" firstEventTime="1337076475">5</counter><counter name="thisMonth" lastEventTime="1337763348" firstEventTime="1335950229">16</counter></counters><metadata><item name="subtitle"><value type="text/plain">Enlightenment's Data Type and Helpers Library</value></item><item name="description"><value type="text/plain">Eina is a multi-platform library that provides optimized data types
and useful tools for projects.

Among its data types, Eina provides efficient implementation of:

 * double linked list with O(1) append and count;

 * double linked inlist (node is built in the data) with O(1) append;

 * stringshare, a pool of read-only strings that are shared in order
   to save memory (no copies!), fast referencing and
   pointer-comparison;

 * hash table with extensible key support, ships by default with
   string, stringshare, pointer and integer hashes by default;

 * array of pointers, with O(1) count and append, configurable step
   growing;

 * red-black tree;

 * sparse matrix;


As for tools, it provides couple of convenience:

 * generic and extensible logging system;

 * easy to use dynamic module loading (on top of dlopen()) that makes
   it easy to change to static/built-in modules;

 * generic safety-checks system covering NULL pointers and other
   incorrect conditions with logging;

 * "magic" type checking that check and logs if expected magic number
   is incorrect;

 * easy to use and extensible memory allocators (mempools);

 * fixed-point arithmetic;

 * tile splitter and simplifier (merges);

 * generic iterator pattern (how to walk in one direction), just
   implement the given API;

 * generic accessor pattern (how to randomly access items), just
   implement the given API;

 * benchmark helpers.
</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Eina</value></item><item name="url"><value type="text/plain">http://trac.enlightenment.org/e/wiki/Eina</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71347</revision><author>raster</author><log>formatting fix.   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/71347</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file_win32.c">src/lib/eina_file_win32.c</file></files></commit></body><timestamp>1337763348</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71346</revision><author>raster</author><log>add changelog for fix.   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/71346</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file></files></commit></body><timestamp>1337763131</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71345</revision><author>raster</author><log>use memset so we never have this problem again and also put in
eina_file_win32.c   </log><diffLines>70</diffLines><url>http://trac.enlightenment.org/e/changeset/71345</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file.c">src/lib/eina_file.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file_win32.c">src/lib/eina_file_win32.c</file></files></commit></body><timestamp>1337763026</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71343</revision><author>raster</author><log>if we are mallocing structs... lets set all the members to sane values
shall we... or use CALLOC! :/   </log><diffLines>14</diffLines><url>http://trac.enlightenment.org/e/changeset/71343</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file.c">src/lib/eina_file.c</file></files></commit></body><timestamp>1337762745</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71218</revision><author>gastal</author><log>Disabling eina_model examples, so that we can build examples and documentation. </log><diffLines>73</diffLines><url>http://trac.enlightenment.org/e/changeset/71218</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/examples/Makefile.am">src/examples/Makefile.am</file></files></commit></body><timestamp>1337307708</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71196</revision><author>cedric</author><log>eina: avoid wrong implicit conversion from unsigned to unsigned long in Eina_Value tests

There is no automatic promotion of unsigned to unsigned long when using va_arg,
which means it is illegal to pass an 'unsigned' value and then use it as an
unsigned long in eina_arg_vset. Doing so yields incorrect results on some
architectures like itanium

Patch by  Albin 'Lutin' Tonnerre &lt;albin.tonnerre@gmail.com&gt;   </log><diffLines>69</diffLines><url>http://trac.enlightenment.org/e/changeset/71196</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/tests/eina_test_value.c">src/tests/eina_test_value.c</file></files></commit></body><timestamp>1337264428</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71195</revision><author>cedric</author><log>eina: don't assume that 'char' is a signed type in Eina_Value

The eina_value code TYPE_CHAR conversion code assumes that 'char' is a signed
type, which is not true on some platforms like ARM and PPC. We need to
explicitely use signed chars to make sure the value is correct.

Patch by Albin 'Lutin' Tonnerre &lt;albin.tonnerre@gmail.com&gt;  </log><diffLines>191</diffLines><url>http://trac.enlightenment.org/e/changeset/71195</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/include/eina_inline_value.x">src/include/eina_inline_value.x</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_value.c">src/lib/eina_value.c</file></files></commit></body><timestamp>1337264231</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71150</revision><author>cedric</author><log>eina: cleanup and merge code for sin and cos.

NOTE: this patch is part of the previous attempt to fix
rounding error. Hopefully things are better now.  </log><diffLines>80</diffLines><url>http://trac.enlightenment.org/e/changeset/71150</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_fp.c">src/lib/eina_fp.c</file></files></commit></body><timestamp>1337178735</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>71092</revision><author>caro</author><log>eina_cpu: use __asm__ instead of asm  </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/71092</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_cpu.c">src/lib/eina_cpu.c</file></files></commit></body><timestamp>1337076475</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70930</revision><author>cedric</author><log>eina: that was a useless piece of code !  </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/70930</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file.c">src/lib/eina_file.c</file></files></commit></body><timestamp>1336748926</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70873</revision><author>tasn</author><log>Eina: Fixed strict-aliasing warning. </log><diffLines>25</diffLines><url>http://trac.enlightenment.org/e/changeset/70873</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/include/eina_inline_value.x">src/include/eina_inline_value.x</file></files></commit></body><timestamp>1336489631</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70871</revision><author>cedric</author><log>eina: add eina_file_map_lines.

This almost replace a loop of fopen/fgets/fclose, but it avoid
one memcpy.  </log><diffLines>239</diffLines><url>http://trac.enlightenment.org/e/changeset/70871</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/include/eina_file.h">src/include/eina_file.h</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_file.c">src/lib/eina_file.c</file></files></commit></body><timestamp>1336488405</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70831</revision><author>cedric</author><log>eina: fix a rounding issue in eina_f32p32_{cos,sin} when getting close to 1.0.

Bug only showed up if above 0.999 .  </log><diffLines>60</diffLines><url>http://trac.enlightenment.org/e/changeset/70831</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_fp.c">src/lib/eina_fp.c</file></files></commit></body><timestamp>1336370484</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70787</revision><author>caro</author><log>Eina examples: fix some warnings  </log><diffLines>69</diffLines><url>http://trac.enlightenment.org/e/changeset/70787</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/examples/eina_array_01.c">src/examples/eina_array_01.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/examples/eina_error_01.c">src/examples/eina_error_01.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/examples/eina_hash_06.c">src/examples/eina_hash_06.c</file></files></commit></body><timestamp>1336205992</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70786</revision><author>caro</author><log>Eina examples: add missing files in distributed tarball, formatting  </log><diffLines>202</diffLines><url>http://trac.enlightenment.org/e/changeset/70786</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/examples/Makefile.am">src/examples/Makefile.am</file></files></commit></body><timestamp>1336203957</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70596</revision><author>hermet</author><log>eina/eina_stringshare - + NULL Checking.   </log><diffLines>16</diffLines><url>http://trac.enlightenment.org/e/changeset/70596</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_stringshare.c">src/lib/eina_stringshare.c</file></files></commit></body><timestamp>1335950228</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70496</revision><author>cedric</author><log>eina: fix wording order.  </log><diffLines>21</diffLines><url>http://trac.enlightenment.org/e/changeset/70496</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file></files></commit></body><timestamp>1335443103</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70495</revision><author>cedric</author><log>eina: add backtrace support to eina.  </log><diffLines>49</diffLines><url>http://trac.enlightenment.org/e/changeset/70495</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/NEWS">NEWS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_log.c">src/lib/eina_log.c</file></files></commit></body><timestamp>1335442757</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70465</revision><author>yoz</author><log>eina: fix typo in doc </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/70465</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/include/eina_convert.h">src/include/eina_convert.h</file></files></commit></body><timestamp>1335363937</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>eina</module></source><body><commit><revision>70441</revision><author>lucas</author><log>eina: remove useless check for NULL

choice is always set   </log><diffLines>16</diffLines><url>http://trac.enlightenment.org/e/changeset/70441</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/eina/src/lib/eina_value.c">src/lib/eina_value.c</file></files></commit></body><timestamp>1335292140</timestamp></message></recentMessages></statsTarget>
