Changes http://wiki.axiom-developer.org/DirectProduct/diff
--
??changed:
if R has Finite then
- size == size$R () ** dim
- index(n:PositiveInteger):% ==
- N:Integer := size()$R
- L:List R := []
- p:Integer := n-1
- for i in 1..dim repeat
- L:=cons(index(((p rem N) + 1)::PositiveInteger)$R, L)
- p := p quo N
- vector(L)
- random() == [random()$R for i in 1..dim]
- lookup(x) ==
- N:Integer := size()$R
- L:Integer := lookup(x.1)-1
- for i in 2..dim repeat
- L:=L*N+lookup(x.i)-1
- (L+1)::PositiveInteger
- hash(x) ==
- N := size()$R::SingleInteger
- L := hash(x.1)
-[2 more lines...]
+ size == size$R ** dim
+ index(n:PositiveInteger):% ==
+ N:Integer := size$R
+ p:Integer := n-1
+ L:List R := [index(((p rem N) + 1)::PositiveInteger)$R]
+ for i in 2..dim repeat
+ p := p quo N
+ L:=cons(index(((p rem N) + 1)::PositiveInteger)$R, L)
+ vector(L)
+ random() == [random()$R for i in 1..dim]
+ lookup(x) ==
+ N:Integer := size$R
+ L:Integer := lookup(x.1)-1
+ for i in 2..dim repeat
+ L:=L*N+lookup(x.i)-1
+ (L+1)::PositiveInteger
+ hash(x) ==
+ N := size$R::SingleInteger
+ L := hash(x.1)
+ for i in 2..dim repeat
+ L:=L*N+hash(x.i)
+ L
--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]