` ``:rand(52→L₂ :seq(X,X,0,51→L₁ :SortA(L₂,L₁`

From the randIntNoRep page

*EDIT: Changed link to appropriate page — burr*

By the way, I looked and something like it is the deck of cards routine.

]]>` ``rand(N→L1 cumSum(binomcdf(N-1,0→L2 SortA(L1,L2 L2-1+A`

That took me a while to actually understand, but when I realised what it was doing, I thought it was pretty clever. Basically, it uses the rand command which will not repeat on smaller intervals. The calc can only do up to 999 elements for a list, so it essentially does not repeat in any of these case. Because no two elements are the same, there is a precise ascending or descending order, so if you sort it and another list, you essentially shuffle the other list.

Pretty neat, right?

]]>