-(declaim (ftype (sfunction (integer) (integer 0 #.sb!xc:most-positive-fixnum))
- sxhash-bignum))
-(declaim (ftype (sfunction (t) (integer 0 #.sb!xc:most-positive-fixnum))
- sxhash-instance))
-
-(defmacro hash-array-using (recurse array depthoid)
- ;; Any other array can be hashed by working with its underlying
- ;; one-dimensional physical representation. Used by both SXHASH and
- ;; PSXHASH.
- (once-only ((array array) (depthoid depthoid))
- `(let ((result 60828123))
- (declare (type fixnum result))
- (dotimes (i (min ,depthoid (array-rank ,array)))
- (mixf result (array-dimension ,array i)))
- (dotimes (i (min ,depthoid (array-total-size ,array)))
- (mixf result
- (,recurse (row-major-aref ,array i) (- ,depthoid 1 i))))
- result)))
+(declaim (ftype (sfunction (integer) hash) sxhash-bignum))
+(declaim (ftype (sfunction (t) hash) sxhash-instance))