⍝ Simple ⍺-digit checksum: :If 0 1≡83 ⎕dr 256 ⍝ little-endian: chksum ⎕cr'chksum' ⍝ simple char array 140467 chksum ⎕nr'chksum' ⍝ nested .. .. 230726 :If ⎕FR=1287 ⍝ decimal floating point chksum 1 2 3∘.÷4 5 6 ⍝ simple numeric array. 466987 :Else ⍝ binary floating point chksum 1 2 3∘.÷4 5 6 ⍝ simple numeric array. 211386 :EndIf chksum¨ 3 4 5↑¨⊂1 1 1 ⍝ detect trailing zeros. 525 526 527 chksum¨ (0 1 2 3⍴¨1)⍴¨2 ⍝ singles of different ranks. 259 517 776 1036 (0 to 10) chksum¨⊂⍳4321 ⍝ various lengths of checksum. 0 3 43 543 8543 18543 818543 1818543 1818543 601818543 2601818543 null ← 0∘⍴∘⊂ ⍝ null reshape of array. chksum¨(0 to 4)null pow¨⊂⍬ ⍝ distinct nulls. 1275 2805 4845 7395 10455 chksum¨(0 to 4)null pow¨⊂'' ⍝ distinct nulls. 1403 2997 5101 7715 10839 x←⎕ns'' ⍝ space-ref. chksum¨ x (1 2) (1 2 x) ⍝ refs ignored. 0 523 2569 chksum # ## ⎕se ⎕null ⍝ Vince's example 514 :Else ⍝ big-endian :EndIf ⍝∇ chksum to pow Back to: code Back to: Workspaces