summaryrefslogtreecommitdiff
path: root/benchmark/so_ackermann.rb
blob: 4effa1ecaf006d74f999008f9a7582b0690a8f31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/ruby
# -*- Ruby -*-
# $Id: ackermann-ruby.code,v 1.4 2004/11/13 07:40:41 bfulgham Exp $
# http://www.bagley.org/~doug/shootout/

def ack(m, n)
    if m == 0 then
        n + 1
    elsif n == 0 then
        ack(m - 1, 1)
    else
        ack(m - 1, ack(m, n - 1))
    end
end

NUM = 9
ack(3, NUM)


v3_3_0_preview3&id=704dd25812f34228a28f37c37757a675ad078a2b'>TestThreadInstrumentation: emit the EXIT event soonerJean Boussier 2022-11-06[wasm] Scan machine stack based on `ec->machine.stack_{start,end}`Yuta Saito 2022-07-13GVL Instrumentation: remove the EXITED count assertionJean Boussier 2022-06-17GVL Instrumentation API: add STARTED and EXITED eventsJean Boussier 2022-05-24remove `DEBUG_OUT()` macroKoichi Sasada 2022-05-24remove `NON_SCALAR_THREAD_ID` supportKoichi Sasada 2022-04-23introduce struct `rb_native_thread`Koichi Sasada 2022-04-22rename thread internal namingKoichi Sasada 2022-01-19[wasm] add no thread variant for freestanding environmentYuta Saito