/test/mri/-ext-/bignum/test_div.rb
Ruby | 29 lines | 24 code | 4 blank | 1 comment | 0 complexity | ac8142fbaa7da0f2f96f2e5ceeadaa6f MD5 | raw file
Possible License(s): GPL-3.0, BSD-3-Clause, GPL-2.0, JSON, LGPL-2.1
- # frozen_string_literal: false
- require 'test/unit'
- require "-test-/bignum"
- class TestBignum < Test::Unit::TestCase
- class TestDiv < Test::Unit::TestCase
- SIZEOF_BDIGIT = Bignum::SIZEOF_BDIGIT
- BITSPERDIG = Bignum::BITSPERDIG
- BDIGMAX = (1 << BITSPERDIG) - 1
- def test_divrem_normal
- x = (1 << (BITSPERDIG*2)) | (2 << BITSPERDIG) | 3
- y = (1 << BITSPERDIG) | 1
- q = (1 << BITSPERDIG) | 1
- r = 2
- assert_equal([q, r], x.big_divrem_normal(y))
- end
- def test_divrem_gmp
- x = (1 << (BITSPERDIG*2)) | (2 << BITSPERDIG) | 3
- y = (1 << BITSPERDIG) | 1
- q = (1 << BITSPERDIG) | 1
- r = 2
- assert_equal([q, r], x.big_divrem_gmp(y))
- rescue NotImplementedError
- end
- end
- end