@@ -63,8 +63,8 @@ def dnb2_get_linear_scramble_matrix(rng, r, d, tmax, tmax_new, print_mats):
6363 S = np .empty ((r ,d ,tmax_new ),dtype = np .uint64 )
6464 for t in range (tmax_new ):
6565 S [:,:,t ] = random_tbit_uint64s (rng ,min (t ,tmax ),(r ,d ))
66- S [:,:,:tmax ] <<= np .arange (tmax ,0 ,- 1 ,dtype = np .uint64 )
67- S [:,:,:tmax ] += np .uint64 (1 )<< np .arange (tmax - 1 ,- 1 ,- 1 ,dtype = np .uint64 )
66+ S [:,:,:tmax ] <<= np .arange (int ( tmax ) ,0 ,- 1 ,dtype = np .uint64 )
67+ S [:,:,:tmax ] += np .uint64 (1 )<< np .arange (int ( tmax ) - 1 ,- 1 ,- 1 ,dtype = np .uint64 )
6868 if print_mats :
6969 print ("S with shape (r=%d, d=%d, tmax_new=%d)" % (r ,d ,tmax_new ))
7070 for l in range (r ):
@@ -327,12 +327,12 @@ def gdn_nested_uniform_scramble(
327327 if node .children [dig ] is None : # child in dig position does not exist
328328 node_perm = random_uint64_permutations (rng ,np .uint64 (tmax_new - t - 1 ),b )
329329 node .children [dig ] = NUSNode_gdn (node_perm ,_xdig [1 :],[None ]* b )
330- perm [(t + 1 ):] = node_perm [np .arange (tmax_new - t - 1 ,dtype = np .uint64 ),_xdig [1 :]] # digits in _xdig[1:] index node_perm rows
330+ perm [(t + 1 ):] = node_perm [np .arange (int ( tmax_new ) - t - 1 ,dtype = np .uint64 ),_xdig [1 :]] # digits in _xdig[1:] index node_perm rows
331331 break
332332 else : # child in dig position exists, so move there
333333 node = node .children [dig ]
334334 elif (node .xdig == _xdig ).all (): # this is a leaf node we have already seen before!
335- perm [t :] = node .perm [np .arange (tmax_new - t ,dtype = np .uint64 ),_xdig ] # digits in _xdig index node_perm rows
335+ perm [t :] = node .perm [np .arange (int ( tmax_new ) - t ,dtype = np .uint64 ),_xdig ] # digits in _xdig index node_perm rows
336336 break
337337 else : # node.xdig!=_xdig, this is a leaf node where the _xdig values don't match
338338 node_dig = node .xdig [0 ]
@@ -346,7 +346,7 @@ def gdn_nested_uniform_scramble(
346346 else : # create child node in the dig position
347347 dig_node_perm = random_uint64_permutations (rng ,np .uint64 (tmax_new - t - 1 ),b )
348348 node .children [dig ] = NUSNode_gdn (dig_node_perm ,_xdig [1 :],[None ]* b ) # create a new leaf node
349- perm [(t + 1 ):] = dig_node_perm [np .arange (tmax_new - t - 1 ,dtype = np .uint64 ),_xdig [1 :]] # digits in _xdig[1:] index node_perm rows
349+ perm [(t + 1 ):] = dig_node_perm [np .arange (int ( tmax_new ) - t - 1 ,dtype = np .uint64 ),_xdig [1 :]] # digits in _xdig[1:] index node_perm rows
350350 break
351351 t += 1
352352 xrdig [l ,i ,j ] = perm
0 commit comments