Skip to content
/ decimal Public

(yet another) multi-precision decimal arithmetic library for Ruby, which aims to surpass BigDecimal.

License

Notifications You must be signed in to change notification settings

tadd/decimal

Repository files navigation

Decimal - multi-precision decimal arithmetic library

Decimal is (yet another) multi-precision decimal arithmetic library, which aims to surpass BigDecimal. It provides simple, compact, fast, precise, stable and easy-to-use solution.

Webpages

Requirements

Ruby 1.9.3 / 2.0.0 / 2.1.x / 2.2.x / 2.3.x

Install

With rubygems,

sudo gem install decimal

or to build by yourself,

ruby extconf.rb
make
sudo make install

Read INSTALL for less details.

Examples

Use like Float with few exceptions including Decimal#divide.

require 'decimal'

N = 3 # larger N may take huge time and more inaccurate result
pi = 0
i = 0

loop do
  term = (-1) ** i * Decimal(4).divide(2 * i + 1, N + 2, :down)
  break if term.zero?
  pi += term
  i += 1
end

puts pi.round(N)

License

Ruby’s. See COPYING and BSDL for more details.

Author

Tadashi Saito

About

(yet another) multi-precision decimal arithmetic library for Ruby, which aims to surpass BigDecimal.

Resources

License

Stars

Watchers

Forks

Packages

No packages published