(yet another) multi-precision decimal arithmetic library for Ruby, which aims to surpass BigDecimal.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
.document
.gitignore
.travis.yml
BSDL
COPYING
INSTALL
README.1st
README.rdoc
TODO
appveyor.yml
decimal.c
decimal.gemspec
depend
extconf.rb
inum193.h
inum200.h
inum21.h
inum22.h
inum23.h
test_decimal.rb

README.rdoc

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