File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change 5
5
import numpy
6
6
7
7
8
- def vvsort (val , vec , size , xp ):
8
+ def vvsort (val , vec , size , xp ):
9
9
for i in range (size ):
10
10
imax = i
11
11
for j in range (i + 1 , size ):
12
- if xp .abs (val [imax ]) < xp .abs (val [j ]):
12
+ unravel_imax = numpy .unravel_index (imax , val .shape )
13
+ unravel_j = numpy .unravel_index (j , val .shape )
14
+ if xp .abs (val [unravel_imax ]) < xp .abs (val [unravel_j ]):
13
15
imax = j
14
16
15
- temp = val [i ]
16
- val [i ] = val [imax ]
17
- val [imax ] = temp
17
+ unravel_i = numpy .unravel_index (i , val .shape )
18
+ unravel_imax = numpy .unravel_index (imax , val .shape )
18
19
20
+ temp = xp .empty (tuple (), dtype = vec .dtype )
21
+ temp [()] = val [unravel_i ] # make a copy
22
+ val [unravel_i ] = val [unravel_imax ]
23
+ val [unravel_imax ] = temp
24
+
19
25
for k in range (size ):
20
- temp = vec [k , i ]
26
+ temp = xp .empty (tuple (), dtype = val .dtype )
27
+ temp [()] = vec [k , i ] # make a copy
21
28
vec [k , i ] = vec [k , imax ]
22
29
vec [k , imax ] = temp
23
30
You can’t perform that action at this time.
0 commit comments