Sha256: cdec934a5cf343327cb5e379e98001abf734af3733424d308e689bd6cb3dcddc
Contents?: true
Size: 764 Bytes
Versions: 4
Compression:
Stored size: 764 Bytes
Contents
require File.dirname(__FILE__) + '/helper.rb' class TestMultithreading < Test::Unit::TestCase def setup initialize_context end def test_concurrent_precision threads = [] for prec in (5..100) threads << Thread.new(prec) do |p| n = 10000/(p/3) n_fails = 0 Decimal.local_context do Decimal.context.precision = p n.times do t = (Decimal(1)/Decimal(3)).to_s n_fails += 1 if (t.size!=(p+2)) || (Decimal.context.precision!=p) end end Thread.current[:n_fails] = n_fails end end total_fails = 0 threads.each{|thr| thr.join; total_fails += thr[:n_fails]} assert total_fails==0,"Context precision different per thread" end end
Version data entries
4 entries across 4 versions & 1 rubygems