From 6e10135d47a33975ee2c9d597caa968ce1045cb0 Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 12 May 2011 21:51:41 +0000 Subject: * lib/mathn.rb: Add documentation. Patch by Jason Dew. [Ruby 1.9 - Feature #4667] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/mathn.rb | 35 +++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c4f1c24755..6089b7bb34 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 13 06:50:43 2011 Eric Hodel + + * lib/mathn.rb: Add documentation. Patch by Jason Dew. [Ruby 1.9 - + Feature #4667] + Fri May 13 05:44:19 2011 Eric Hodel * lib/logger.rb (class Logger): Document Logger#datetime_format. diff --git a/lib/mathn.rb b/lib/mathn.rb index 716b48602d..618f82077b 100644 --- a/lib/mathn.rb +++ b/lib/mathn.rb @@ -1,13 +1,27 @@ +## +# = mathn # -# mathn.rb - -# $Release Version: 0.5 $ -# $Revision: 1.1.1.1.4.1 $ -# by Keiju ISHITSUKA(SHL Japan Inc.) +# mathn is a library for changing the way Ruby does math. # -# -- +# == Usage +# +# To start using this library, simply: +# +# require "mathn" +# +# This will change the way division works for Fixnums, specifically # +# 3 / 2 # +# will return (3/2) instead of the usual 1. # +# == Copyright +# +# Author: Keiju ISHITSUKA(SHL Japan Inc.) +# +# -- +# $Release Version: 0.5 $ +# $Revision: 1.1.1.1.4.1 $ require "cmath.rb" require "matrix.rb" @@ -27,6 +41,8 @@ class Fixnum alias power! ** unless method_defined? :power! + ## + # exponentiate by +other+ def ** (other) if self < 0 && other.round != other Complex(self, 0.0) ** other @@ -43,6 +59,8 @@ class Bignum alias power! ** unless method_defined? :power! + ## + # exponentiate by +other+ def ** (other) if self < 0 && other.round != other Complex(self, 0.0) ** other @@ -119,6 +137,9 @@ end module Math remove_method(:sqrt) + + ## + # compute the square root of +a+ def sqrt(a) if a.kind_of?(Complex) abs = sqrt(a.real*a.real + a.imag*a.imag) @@ -144,7 +165,7 @@ module Math end end - def rsqrt(a) + def rsqrt(a) # :nodoc: if a.kind_of?(Float) sqrt!(a) elsif a.kind_of?(Rational) @@ -199,6 +220,8 @@ end class Float alias power! ** + ## + # exponentiate by +other+ def ** (other) if self < 0 && other.round != other Complex(self, 0.0) ** other -- cgit v1.2.3