The Computer Language
24.04 Benchmarks Game

simple Matz's Ruby program

source code

# The Computer Language Benchmarks Game
# https://salsa.debian.org/benchmarksgame-team/benchmarksgame/
   
# line-by-line from Greg Buchholz's C program







w, h, x, y, bit_num = 0, 0, 0, 0, 0
byte_acc = 0
i, iter = 0, 50
limit = 2.0
zr, zi, cr, ci, tr, ti = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0

w = ARGV[0].to_i
h = w

puts "P4\n#{w} #{h}"

h.times do |y|

    w.times do |x|

        zr, zi = 0.0, 0.0
        cr = 2.0*x/w - 1.5; ci = 2.0*y/h - 1.0

        iter.times do

            tr = zr*zr - zi*zi + cr
            ti = 2.0*zr*zi + ci
            zr = tr; zi = ti
            if zr*zr+zi*zi > limit*limit
                break
            end
        end
        if zr*zr+zi*zi > limit*limit
            byte_acc = (byte_acc << 1) | 0x00
        else
            byte_acc = (byte_acc << 1) | 0x01
        end
        bit_num += 1        
                
        if bit_num == 8
       
            print byte_acc.chr
            byte_acc = 0; 
            bit_num = 0     
                
        elsif x == w-1 

            byte_acc = byte_acc << (8-w%8)         
            print byte_acc.chr
            byte_acc = 0; 
            bit_num = 0           
        end
                            
   end
end

    

notes, command-line, and program output

NOTES:
64-bit Ubuntu quad core
ruby 1.8.7 
(2014-01-28
patchlevel 376)
[x86_64-linux]



Thu, 09 Feb 2023 19:45:41 GMT

COMMAND LINE:
/usr/share/rvm/rubies/ruby-1.8.7-head/bin/ruby  simple.mri 16000

(BINARY) PROGRAM OUTPUT NOT SHOWN