⍝ Approx expression timings: ⍝ This test is problematic in that timings can vary slightly depending on ⍝ machine loading. To avoid false negatives, the results are amended to ⍝ ignore tenths of a second. fudge←'?'@(1⌽ 'E'= ⊢) ⍕ ⍝ 1.?E¯1 ⍝ The volatile percentage differences are removed from the graphical display: squish←{(~≠\∧⌿⍵∊'|%')/⍵} ⍝ without percentages ⍝ Finally, to reduce the time taken to run this test, cmpx is modified so that ⍝ it finishes after the expressions have run for just a tenth of second. ⎕fx'secs×1000' 'secs×100'∘subs¨⎕nr'cmpx' ⍝ reduce no of iterations. ⍝ timing of single expression: fudge cmpx'⎕dl 0.1' 1.?E¯1 ⍝ comparison of multiple expressions: :If 'v'∊Alpha ↑ fudge¨ ↓ squish 0 0 10 cmpx'⎕dl 0.2' '⎕dl 0.4' ⎕dl 0.2 → 2.?E¯1 % ⎕⎕⎕⎕⎕ * ⎕dl 0.4 → 4.?E¯1 % ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕ :EndIf ⍝∇ cmpx cmat subs Back to: code Back to: Workspaces