@@ -94,9 +94,9 @@ object ImmutableArray {
94
94
final class ofRef [T <: AnyRef ](val unsafeArray : Array [T ]) extends ImmutableArray [T ] with Serializable {
95
95
lazy val elemTag = ClassTag [T ](unsafeArray.getClass.getComponentType)
96
96
def length : Int = unsafeArray.length
97
- def apply (index : Int ): T = unsafeArray(index). asInstanceOf [ T ]
97
+ def apply (index : Int ): T = unsafeArray(index)
98
98
def update (index : Int , elem : T ) { unsafeArray(index) = elem }
99
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
99
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
100
100
override def equals (that : Any ) = that match {
101
101
case that : ofRef[_] => Arrays .equals(unsafeArray.asInstanceOf [Array [AnyRef ]], that.unsafeArray.asInstanceOf [Array [AnyRef ]])
102
102
case _ => super .equals(that)
@@ -108,7 +108,7 @@ object ImmutableArray {
108
108
def length : Int = unsafeArray.length
109
109
def apply (index : Int ): Byte = unsafeArray(index)
110
110
def update (index : Int , elem : Byte ) { unsafeArray(index) = elem }
111
- override def hashCode = MurmurHash3 .wrappedBytesHash (unsafeArray)
111
+ override def hashCode = MurmurHash3 .bytesHash (unsafeArray, MurmurHash3 .seqSeed )
112
112
override def equals (that : Any ) = that match {
113
113
case that : ofByte => Arrays .equals(unsafeArray, that.unsafeArray)
114
114
case _ => super .equals(that)
@@ -120,7 +120,7 @@ object ImmutableArray {
120
120
def length : Int = unsafeArray.length
121
121
def apply (index : Int ): Short = unsafeArray(index)
122
122
def update (index : Int , elem : Short ) { unsafeArray(index) = elem }
123
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
123
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
124
124
override def equals (that : Any ) = that match {
125
125
case that : ofShort => Arrays .equals(unsafeArray, that.unsafeArray)
126
126
case _ => super .equals(that)
@@ -132,7 +132,7 @@ object ImmutableArray {
132
132
def length : Int = unsafeArray.length
133
133
def apply (index : Int ): Char = unsafeArray(index)
134
134
def update (index : Int , elem : Char ) { unsafeArray(index) = elem }
135
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
135
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
136
136
override def equals (that : Any ) = that match {
137
137
case that : ofChar => Arrays .equals(unsafeArray, that.unsafeArray)
138
138
case _ => super .equals(that)
@@ -144,7 +144,7 @@ object ImmutableArray {
144
144
def length : Int = unsafeArray.length
145
145
def apply (index : Int ): Int = unsafeArray(index)
146
146
def update (index : Int , elem : Int ) { unsafeArray(index) = elem }
147
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
147
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
148
148
override def equals (that : Any ) = that match {
149
149
case that : ofInt => Arrays .equals(unsafeArray, that.unsafeArray)
150
150
case _ => super .equals(that)
@@ -156,7 +156,7 @@ object ImmutableArray {
156
156
def length : Int = unsafeArray.length
157
157
def apply (index : Int ): Long = unsafeArray(index)
158
158
def update (index : Int , elem : Long ) { unsafeArray(index) = elem }
159
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
159
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
160
160
override def equals (that : Any ) = that match {
161
161
case that : ofLong => Arrays .equals(unsafeArray, that.unsafeArray)
162
162
case _ => super .equals(that)
@@ -168,7 +168,7 @@ object ImmutableArray {
168
168
def length : Int = unsafeArray.length
169
169
def apply (index : Int ): Float = unsafeArray(index)
170
170
def update (index : Int , elem : Float ) { unsafeArray(index) = elem }
171
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
171
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
172
172
override def equals (that : Any ) = that match {
173
173
case that : ofFloat => Arrays .equals(unsafeArray, that.unsafeArray)
174
174
case _ => super .equals(that)
@@ -180,7 +180,7 @@ object ImmutableArray {
180
180
def length : Int = unsafeArray.length
181
181
def apply (index : Int ): Double = unsafeArray(index)
182
182
def update (index : Int , elem : Double ) { unsafeArray(index) = elem }
183
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
183
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
184
184
override def equals (that : Any ) = that match {
185
185
case that : ofDouble => Arrays .equals(unsafeArray, that.unsafeArray)
186
186
case _ => super .equals(that)
@@ -192,7 +192,7 @@ object ImmutableArray {
192
192
def length : Int = unsafeArray.length
193
193
def apply (index : Int ): Boolean = unsafeArray(index)
194
194
def update (index : Int , elem : Boolean ) { unsafeArray(index) = elem }
195
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
195
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
196
196
override def equals (that : Any ) = that match {
197
197
case that : ofBoolean => Arrays .equals(unsafeArray, that.unsafeArray)
198
198
case _ => super .equals(that)
@@ -204,7 +204,7 @@ object ImmutableArray {
204
204
def length : Int = unsafeArray.length
205
205
def apply (index : Int ): Unit = unsafeArray(index)
206
206
def update (index : Int , elem : Unit ) { unsafeArray(index) = elem }
207
- override def hashCode = MurmurHash3 .wrappedArrayHash (unsafeArray)
207
+ override def hashCode = MurmurHash3 .arrayHash (unsafeArray, MurmurHash3 .seqSeed )
208
208
override def equals (that : Any ) = that match {
209
209
case that : ofUnit => unsafeArray.length == that.unsafeArray.length
210
210
case _ => super .equals(that)
0 commit comments