- 25 Nov, 2009 1 commit
-
-
Mark Olesen authored
- this builds on Mattijs' commit 968f0bbd but with a first() as well. - Added both to FixedList, IndirectList, UIndirectList and *PtrList and since they can certainly be useful there. Did not add to BiIndirectList, since I'm not sure what it should mean there. Did not add to PackedList, since it's not clear how useful they'd be yet in these contexts (and I'm not sure how it would interact with the iterator proxy implementation). - Note: STL defines front() and back() for these methods.
-
- 23 Nov, 2009 1 commit
-
-
mattijs authored
-
- 20 Nov, 2009 1 commit
-
-
henry authored
-
- 12 Nov, 2009 1 commit
-
-
mattijs authored
-
- 06 Nov, 2009 1 commit
-
-
Mark Olesen authored
-
- 04 Nov, 2009 2 commits
-
-
mattijs authored
-
Mark Olesen authored
- previous draft version was HashTbl - accidentally still had canonicalSize in templated code
-
- 03 Nov, 2009 4 commits
-
-
mattijs authored
-
mattijs authored
-
Mark Olesen authored
- don't let automatic resize into integer overflow - avoid possible overflow in increment() StaticHashTable - fix erase()/++ as per HashTbl - might still be worth dropping it, but at least it'll be in better condition when it gets chucked!
-
Mark Olesen authored
- the end iterators and canonicalSize are independent of the templated parameters, so move them to HashTblCore - this avoid allocating separate end iterator at all. end(), cend() return a iteratorEnd. iterator == iteratorEnd just checks for non-NULL pointer on iterator. The compiler should optimize most of it away.
-
- 31 Oct, 2009 2 commits
-
-
Mark Olesen authored
-
Mark Olesen authored
-
- 30 Oct, 2009 5 commits
-
-
Mark Olesen authored
- fix off by one error in erase/increment code
-
Mark Olesen authored
- iterators store pointers instead of references to the HashTbl. This lets us use the default bitwise copy/assignment - add empty constructor for iterators. It returns the equivalent to end(). This lets us do this: HashTbl<label>::iterator iter; // some time later iter = find(Value); - erase(const HashTbl<AnyType, Key, AnyHash>&) is now more generous. Only the Key type matters, not the hashing function.
-
Mark Olesen authored
- for the hashTableTest3, it seemed to slow things down a bit loop 0 - Erased 100000 elements (size 2900000 capacity 4194304) 0.31 s loop 1 - Erased 100000 elements (size 2800000 capacity 4194304) 0.01 s loop 2 - Erased 100000 elements (size 2700000 capacity 4194304) 0 s loop 3 - Erased 100000 elements (size 2600000 capacity 4194304) 0 s loop 4 - Erased 100000 elements (size 2500000 capacity 4194304) 0.01 s loop 5 - Erased 100000 elements (size 2400000 capacity 4194304) 0 s loop 6 - Erased 100000 elements (size 2300000 capacity 4194304) 0 s loop 7 - Erased 100000 elements (size 2200000 capacity 4194304) 0 s loop 8 - Erased 100000 elements (size 2100000 capacity 4194304) 0.01 s loop 9 - Erased 100000 elements (size 2000000 capacity 4194304) 0.44 s loop 10 - Erased 100000 elements (size 1900000 capacity 4194304) 0.44 s loop 11 - Erased 100000 elements (size 1800000 capacity 4194304) 0.39 s loop 12 - Erased 100000 elements (size 1700000 capacity 4194304) 0.4 s loop 13 - Erased 100000 elements (size 1600000 capacity 2097152) 0.15 s loop 14 - Erased 100000 elements (size 1500000 capacity 2097152) 0.01 s loop 15 - Erased 100000 elements (size 1400000 capacity 2097152) 0 s loop 16 - Erased 100000 elements (size 1300000 capacity 2097152) 0 s loop 17 - Erased 100000 elements (size 1200000 capacity 2097152) 0.01 s loop 18 - Erased 100000 elements (size 1100000 capacity 2097152) 0 s loop 19 - Erased 100000 elements (size 1000000 capacity 2097152) 0.27 s loop 20 - Erased 100000 elements (size 900000 capacity 2097152) 0.2 s loop 21 - Erased 100000 elements (size 800000 capacity 1048576) 0.1 s loop 22 - Erased 100000 elements (size 700000 capacity 1048576) 0 s loop 23 - Erased 100000 elements (size 600000 capacity 1048576) 0 s loop 24 - Erased 100000 elements (size 500000 capacity 1048576) 0.12 s loop 25 - Erased 100000 elements (size 400000 capacity 524288) 0.04 s loop 26 - Erased 100000 elements (size 300000 capacity 524288) 0.01 s loop 27 - Erased 100000 elements (size 200000 capacity 262144) 0.02 s loop 28 - Erased 100000 elements (size 100000 capacity 131072) 0.02 s loop 29 - Erased 100000 elements (size 0 capacity 2) 0 s
-
Mark Olesen authored
- The ideas as discussed in email - The speedup is really there. Before loop 0 - Erased 100000 elements: 3.82 s loop 1 - Erased 100000 elements: 11.45 s loop 2 - Erased 100000 elements: 19.46 s loop 3 - Erased 100000 elements: 27.73 s loop 4 - Erased 100000 elements: 38.74 s ^C After loop 0 - Erased 100000 elements (size 2900000 capacity 8388608) 0.01 s loop 1 - Erased 100000 elements (size 2800000 capacity 8388608) 0 s loop 2 - Erased 100000 elements (size 2700000 capacity 8388608) 0.01 s loop 3 - Erased 100000 elements (size 2600000 capacity 8388608) 0 s loop 4 - Erased 100000 elements (size 2500000 capacity 8388608) 0 s loop 5 - Erased 100000 elements (size 2400000 capacity 8388608) 0 s loop 6 - Erased 100000 elements (size 2300000 capacity 8388608) 0 s loop 7 - Erased 100000 elements (size 2200000 capacity 8388608) 0 s ...
-
Mark Olesen authored
- rename to HashTable later when it is considered stable
-
- 26 Oct, 2009 1 commit
-
-
mattijs authored
-
- 13 Aug, 2009 1 commit
-
-
mattijs authored
-
- 10 Aug, 2009 1 commit
-
-
Mark Olesen authored
- allow construct with Xfer container for the addressing - Replaced non-const addressing() method in BiIndirectList with resetAddressing() method as per IndirectList
-
- 06 Aug, 2009 1 commit
-
-
Andrew Heather authored
-
- 23 Jul, 2009 2 commits
-
-
Mark Olesen authored
- use shift-right instead of shift-left formulation to avoid wrong behaviour with non-optimized compilation when the packed items fit exactly in the available number of bits.
-
- use shift-right instead of shift-left formulation to avoid wrong behaviour with non-optimized compilation when the packed items fit exactly in the available number of bits.
-
- 25 Jun, 2009 1 commit
-
-
mattijs authored
-
- 23 Jun, 2009 1 commit
-
-
henry authored
-
- 22 Jun, 2009 2 commits
-
-
Henry Weller authored
-
mattijs authored
-
- 18 Jun, 2009 1 commit
-
-
mattijs authored
-
- 19 May, 2009 1 commit
-
-
Mark Olesen authored
- made const_iterator::operator* and const_iterator::operator() const only - added const versions of iterator::operator* and iterator::operator()
-
- 18 May, 2009 1 commit
-
-
Mark Olesen authored
- Read a bracket-delimited list, or handle a single value as list of size 1. Mostly useful for handling command-line arguments. eg, if (args.options().found("patches")) { patches = readList<word>(IStringStream(args.options()["patches"])()); } can handle both of these: -patches patch0 -patches \( patch1 patch2 patch3 \)
-
- 27 Apr, 2009 1 commit
-
-
Mark Olesen authored
- DynamicList gets append methods as per List - misc cosmetic changes
-
- 22 Apr, 2009 1 commit
-
-
Mark Olesen authored
-
- 21 Apr, 2009 1 commit
-
-
Mark Olesen authored
- PackedList comments - solution.C verbosity about new solver syntax on master only
-
- 16 Mar, 2009 2 commits
-
-
Mark Olesen authored
- TODO: binary output is still a bit silly
-
Mark Olesen authored
-
- 12 Mar, 2009 3 commits
- 10 Mar, 2009 1 commit
-
-
mattijs authored
-