-
Notifications
You must be signed in to change notification settings - Fork 17
/
trove4j_changes.txt
170 lines (158 loc) · 7.38 KB
/
trove4j_changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Date: 19 Sep 2022
Remove classes not used by IntelliJ Platform and plugins for IntelliJ Platform.
Date: 13 May 2019
Changes classes: PrimeFinder.java
Use already sorted array instead of sorting primes in the class initalizer to avoid exposing not-yet-sorted primes.
Date: 24 August 2016
Changed classes:
T*Hash, T*ObjectMap, TObject*Map, THashMap, T**Map, T*List - made empty collections consume less memory
Date: 25 February 2015
Changed classes:
T*Map, T*Set - toString() added
T*Byte* - added byte/Object to byte/Object maps and sets specializations
T* - made compilable under JDK 5 (no @Override in interfaces)
TObject*HashMap - added hashCode()
T*ObjectHashMap - clone() fixed to fully copy _set array
Date: 02 April 2013
Changed classes:
T*Map, T*Decorator, T*List, T*Procedure, T*Function, T*Iterator, T*Hash, T*Set - made them autogenerated from templates "T*.template" in the util/src/gnu/trove/generate directory
T*ObjectHashMap - removed state array, now state is stored in the values array, can be one of the TObjectHash.REMOVED, TObjectHash.NULL or the value itself
T*Map.insertionIndex() - changed algorithm for determining index to insert new element at. Now it returns the first index of previously removed element, if any, instead of the next free/removed cell after the removed element cell.
*.* - converted tabs to spaces
T*.java - @Override added
T*Decorator - bug fixed: inner class in entrySet() should override correct add() method
TObjectHash#throwObjectContractViolation - more information added to the error message
T*Map.HashProcedure, T*Map.EqProcedure - generified, explicit constructors added to reduce .class file count from 216 to 195
directory layout changed:
- .idea/* - directory added containing Intellij IDEA project files.
- core/* - directory added containing the main classes
- artifacts/* - directory added containing output trove4j.jar and trove4j_src.jar
To rebuild trove4j.jar and trove4j_src.jar invoke Build/Artifacts
- generated/* - directory added containing T*.java classes generated from templates
To regenerate sources, run Generate class
- util/* - benchmark classes, templates (T*.template) files and the Generate class
- classes/* - directory containing compiled classes from the "core" and "generated" modules
- test/* - directory added containing embryo tests for T*Map correctness
- trove4j_changes.txt - this file
Date: 4 Feb 2013
Changed classes:
THashMap - fixed bug in the Entry.setValue()
gnu.trove.benchmark.* - moved to the util/gnu.trove.benchmark package
Date: 5 May 2012
Changed classes:
TPrimitiveHash - fixed manual setUp in constructor (capacity, load_factor) as proper super call will do it properly
Date: 16 Apr 2012
Changed classes:
THash
TPrimitiveHash
TObjectHash
TIterator
gnu.trove.benchmark.Main
and many others
- implement autocompact on removing keys. Failure to do so leads to linear access time
Date: 15 Jan 2008
Changed classes:
THashMap - fixed bug in put() method for null value
Date: 17 Oct 2006
Changed classes:
gnu.trove.T*ArrayList - fixed bug in set() method
Date: 31 Jan 2006
Changed classes:
THash
TPrimitiveHash - removed unnecessary usages of Math.floor and Math.ceil as those are native functions and thus very slow.
Date: 20 Sep 2004
Added classes:
gnu.trove.generate.Generate - class to generate gnu.trove.decorator classes
Added files:
util/src/gnu/trove/generate/O2PMapDecorator.template - template to generate Object to primitive HashMap decorators
util/src/gnu/trove/generate/P2OMapDecorator.template - template to generate primitive to Object HashMap decorators
util/src/gnu/trove/generate/P2PMapDecorator.template - template to generate primitive to primitive HashMap decorators
util/src/gnu/trove/generate/SetDecorator.template - template to generate HashSet decorators
Following classes were generified (i.e JDK 5.0 generics type parameters were added to class definitions):
gnu.trove.decorator.TDoubleDoubleHashMapDecorator
gnu.trove.decorator.TDoubleFloatHashMapDecorator
gnu.trove.decorator.TDoubleHashSetDecorator
gnu.trove.decorator.TDoubleIntHashMapDecorator
gnu.trove.decorator.TDoubleLongHashMapDecorator
gnu.trove.decorator.TDoubleObjectHashMapDecorator
gnu.trove.decorator.TFloatDoubleHashMapDecorator
gnu.trove.decorator.TFloatFloatHashMapDecorator
gnu.trove.decorator.TFloatHashSetDecorator
gnu.trove.decorator.TFloatIntHashMapDecorator
gnu.trove.decorator.TFloatLongHashMapDecorator
gnu.trove.decorator.TFloatObjectHashMapDecorator
gnu.trove.decorator.TIntDoubleHashMapDecorator
gnu.trove.decorator.TIntFloatHashMapDecorator
gnu.trove.decorator.TIntHashSetDecorator
gnu.trove.decorator.TIntIntHashMapDecorator
gnu.trove.decorator.TIntLongHashMapDecorator
gnu.trove.decorator.TIntObjectHashMapDecorator
gnu.trove.decorator.TLongDoubleHashMapDecorator
gnu.trove.decorator.TLongFloatHashMapDecorator
gnu.trove.decorator.TLongHashSetDecorator
gnu.trove.decorator.TLongIntHashMapDecorator
gnu.trove.decorator.TLongLongHashMapDecorator
gnu.trove.decorator.TLongObjectHashMapDecorator
gnu.trove.decorator.TObjectDoubleHashMapDecorator
gnu.trove.decorator.TObjectFloatHashMapDecorator
gnu.trove.decorator.TObjectIntHashMapDecorator
gnu.trove.decorator.TObjectLongHashMapDecorator
CanonicalEquality
Equality
IdentityEquality
gnu.trove.TDoubleObjectHashMap
gnu.trove.TDoubleObjectIterator
gnu.trove.TDoubleObjectProcedure
gnu.trove.TFloatObjectHashMap
gnu.trove.TFloatObjectIterator
gnu.trove.TFloatObjectProcedure
THashIterator
THashMap
THashSet
gnu.trove.TIntObjectHashMap
gnu.trove.TIntObjectIterator
gnu.trove.TIntObjectProcedure
TLinkedList
gnu.trove.TLongObjectHashMap
gnu.trove.TLongObjectIterator
gnu.trove.TLongObjectProcedure
TObjectCanonicalHashingStrategy
gnu.trove.TObjectDoubleHashMap
gnu.trove.TObjectDoubleIterator
gnu.trove.TObjectDoubleProcedure
gnu.trove.TObjectFloatHashMap
gnu.trove.TObjectFloatIterator
gnu.trove.TObjectFloatProcedure
TObjectFunction
TObjectHash
TObjectHashIterator
TObjectHashingStrategy
TObjectIdentityHashingStrategy
gnu.trove.TObjectIntHashMap
gnu.trove.TObjectIntIterator
gnu.trove.TObjectIntProcedure
gnu.trove.TObjectLongHashMap
gnu.trove.TObjectLongIterator
gnu.trove.TObjectLongProcedure
TObjectObjectProcedure
TObjectProcedure
ToObjectArrayProcedure
Date: 20 April 2004
Added classes:
CanonicalEquality
Equality
IdentityEquality
TObjectCanonicalHashingStrategy
Modified classes:
THash - default load factor and default capacity changed
THashMap - method clear (line 365) does nothing when map is empty; reorder imports
gnu.trove.TIntArrayList - default capacity reduced (line 46); reorder imports
TIntStack - added copy constructor (line 46)
TObjectHash - methods boolean equals(Object, Object) (line 295) and int computeHashCode(Object) (line 281) accepts nulls as parameters. Hash code of null is 0.
Reorder imports:
gnu.trove.TDoubleHashSet
gnu.trove.TFloatHashSet
THashSet
gnu.trove.TIntHashSet
TLinkedList
gnu.trove.TLongHashSet