6 years agoFixed node_check() regarding 64bits long master
Yann Droneaud [Mon, 28 Nov 2011 12:55:54 +0000 (13:55 +0100)]
Fixed node_check() regarding 64bits long

6 years agoDon't compile for Pentium 3 only
Yann Droneaud [Mon, 28 Nov 2011 12:55:09 +0000 (13:55 +0100)]
Don't compile for Pentium 3 only

6 years agoFixed CFLAGS/LDFLAGS regarding code coverage/profiling
Yann Droneaud [Mon, 28 Nov 2011 12:54:38 +0000 (13:54 +0100)]
Fixed CFLAGS/LDFLAGS regarding code coverage/profiling

14 years agooptimize prefix computation
Yann Droneaud [Tue, 14 Sep 2004 21:07:16 +0000 (21:07 +0000)]
optimize prefix computation

Pre-generate the prefix only one time

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-13

14 years agoReturn code revised (and minor changes)
Yann Droneaud [Tue, 14 Sep 2004 17:00:46 +0000 (17:00 +0000)]
Return code revised (and minor changes)

mint's functions now return 0 if the job was done,
and a negative number corresponding to a errno value:
error code returned by internal functions are now well propagated
within the wrapper functions and returned to the caller.

Updated all tests to the new interface.

Comments were updated and/or reviewed.

Prototype of mint_update_path() was changed to match the others.

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-12

14 years agoRewrote mint_get()
Yann Droneaud [Mon, 13 Sep 2004 16:14:35 +0000 (16:14 +0000)]
Rewrote mint_get()

Rewrote mint_get() to really work with the new tree structure.

In tests/mint_allocator_random.c,
test mint_get().

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-11

14 years agoREADME update
Yann Droneaud [Mon, 13 Sep 2004 16:08:20 +0000 (16:08 +0000)]
README update

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-10

14 years agoAdded more tests (for mint_allocate)
Yann Droneaud [Sun, 29 Aug 2004 22:21:42 +0000 (22:21 +0000)]
Added more tests (for mint_allocate)

Added new tests:
- mint_allocate_random:
   fill the tree, remove a random value, allocate a new value,
   compare the new value with the random value

- mint_compare:
   fill a tree with mint_set(), then mint_unset(),
   do the same thing with mint_allocate().

- mint_elevator:
   allocate X values, unset Y values previously allocated,
   with X > Y

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-9

14 years agorewrote mint_find_lowest_new()
Yann Droneaud [Sun, 29 Aug 2004 22:04:11 +0000 (22:04 +0000)]
rewrote mint_find_lowest_new()

The mint_find_lowest_new() wasn't completely updated to work with the sparse radix tree:
to work with missing layer, the function must first determine a prefix (base value),
then find the path. It never loops more than 2 times around the retry: label.

Added a new constant MINT_MAX_COUNT which hold the maximum element in the tree
(it's the same value than MINT_MAX_FREE).

Added a new macro MINT_FULL(), which test is the tree is full using the new constant.

Removed some unused debugging code in mint_add_path().

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-8

14 years agoupdate free_bitmap depends on underlying level's node
Yann Droneaud [Sun, 29 Aug 2004 19:37:27 +0000 (19:37 +0000)]
update free_bitmap depends on underlying level's node

The state of a free flag also depend on the level of the attached node.
If (node->mint_level + 1) == lower->mint_level, the free flag could be cleared
(still depending of the state of lower->mint_free_bitmap),
otherwise, the underlying level is far from being full.

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-7

14 years agoRemoved level argument
Yann Droneaud [Sun, 29 Aug 2004 17:29:34 +0000 (17:29 +0000)]
Removed level argument

In fact, there's now little use of level argument,
so it was removed from mint_locate_path() , mint_find_lowest_new()
and mint_add_path().

Renamed every '_level' local variable to 'level'

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-6

14 years agomint_unset_path() no more trash idx
Yann Droneaud [Fri, 27 Aug 2004 15:24:38 +0000 (15:24 +0000)]
mint_unset_path() no more trash idx

- Indentation update
- Remove temporary change to idx to prevent trashing the previous idx value
  This remove a bug where a wrong bit was set in free_bitmap

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-5

14 years agoHardened mint test lib
Yann Droneaud [Thu, 26 Aug 2004 21:40:33 +0000 (21:40 +0000)]
Hardened mint test lib


 - define DEBUG to also use debug macros.
 - some indentation changes

 - add a '\n' when node is NULL

 - check for mint_count and mint_tree_count minimum
 - check mint_count against allocated pointer bitmap
 - check mint_free_bitmap against underlying nodes

 - add a parameter to check level increase (also prevent recursive tree).

 - updated TREE_CHECK() and tree_check() prototype in

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-4

14 years agocleaned up mint_locate_path()
Yann Droneaud [Thu, 26 Aug 2004 12:31:24 +0000 (12:31 +0000)]
cleaned up mint_locate_path()

Removed prev
Removed idx, level initialization
Removed dead debugging code

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-3

14 years agoRe-added ChangeLog
Yann Droneaud [Tue, 24 Aug 2004 22:59:39 +0000 (22:59 +0000)]
Re-added ChangeLog

Added automatic ChangeLog (corrected ID)

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-2

14 years agoSome code size optimization
Yann Droneaud [Tue, 24 Aug 2004 22:40:15 +0000 (22:40 +0000)]
Some code size optimization

In mint_add_path(), remove duplicate code from the while() loop,
use the next for() loop to update the intermediate node.

Removed unused parameter int mint_update_path()

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--patch-1

14 years agoImported mint and idr source for userspace
Yann Droneaud [Tue, 24 Aug 2004 22:31:09 +0000 (22:31 +0000)]
Imported mint and idr source for userspace

Imported mint and idr libraries (userspace version) and tests programs

git-archimport-id: ydroneaud@meuh.eu.org--projects-2004/mint--main--2--base-0