1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/bigdecimal: update class method call style from :: to .

in documentation and usage.
* ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values.
  Computations were made using ruby 2.0.0p247 to ensure
  no effect of the recent BigDecimal bug.
* ext/bigdecimal/sample/nlsolve.rb: fix indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2014-01-02 15:10:13 +00:00
parent 72385b042d
commit 1cc709a84a
6 changed files with 41 additions and 29 deletions

View file

@ -1,3 +1,14 @@
Fri Jan 3 00:09:54 2014 Benoit Daloze <eregontp@gmail.com>
* ext/bigdecimal: update class method call style from :: to .
in documentation and usage.
* ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values.
Computations were made using ruby 2.0.0p247 to ensure
no effect of the recent BigDecimal bug.
* ext/bigdecimal/sample/nlsolve.rb: fix indent.
Thu Jan 2 16:07:21 2014 Masaki Matsushita <glass.saga@gmail.com>
* io.c (io_fwrite): freeze converted str.

View file

@ -2531,7 +2531,7 @@ BigDecimal_new(int argc, VALUE *argv)
return VpAlloc(mf, RSTRING_PTR(iniValue));
}
/* See also BigDecimal::new */
/* See also BigDecimal.new */
static VALUE
BigDecimal_global_new(int argc, VALUE *argv, VALUE self)
{

View file

@ -75,7 +75,7 @@ module Jacobian
# Computes the Jacobian of f at x. fx is the value of f at x.
def jacobian(f,fx,x)
n = x.size
dfdx = Array::new(n*n)
dfdx = Array.new(n*n)
for i in 0...n do
df = dfdxi(f,fx,x,i)
for j in 0...n do

View file

@ -36,8 +36,8 @@ module BigMath
# Computes the square root of +decimal+ to the specified number of digits of
# precision, +numeric+.
#
# BigMath::sqrt(BigDecimal.new('2'), 16).to_s
# #=> "0.14142135623730950488016887242096975E1"
# BigMath.sqrt(BigDecimal.new('2'), 16).to_s
# #=> "0.1414213562373095048801688724E1"
#
def sqrt(x, prec)
x.sqrt(prec)
@ -51,7 +51,7 @@ module BigMath
#
# If +decimal+ is Infinity or NaN, returns NaN.
#
# BigMath::sin(BigMath::PI(5)/4, 5).to_s
# BigMath.sin(BigMath.PI(5)/4, 5).to_s
# #=> "0.70710678118654752440082036563292800375E0"
#
def sin(x, prec)
@ -95,7 +95,7 @@ module BigMath
#
# If +decimal+ is Infinity or NaN, returns NaN.
#
# BigMath::cos(BigMath::PI(4), 16).to_s
# BigMath.cos(BigMath.PI(4), 16).to_s
# #=> "-0.999999999999999999999999999999856613163740061349E0"
#
def cos(x, prec)
@ -139,7 +139,7 @@ module BigMath
#
# If +decimal+ is NaN, returns NaN.
#
# BigMath::atan(BigDecimal.new('-1'), 16).to_s
# BigMath.atan(BigDecimal.new('-1'), 16).to_s
# #=> "-0.785398163397448309615660845819878471907514682065E0"
#
def atan(x, prec)
@ -176,7 +176,7 @@ module BigMath
# Computes the value of pi to the specified number of digits of precision,
# +numeric+.
#
# BigMath::PI(10).to_s
# BigMath.PI(10).to_s
# #=> "0.3141592653589793238462643388813853786957412E1"
#
def PI(prec)
@ -221,7 +221,7 @@ module BigMath
# Computes e (the base of natural logarithms) to the specified number of
# digits of precision, +numeric+.
#
# BigMath::E(10).to_s
# BigMath.E(10).to_s
# #=> "0.271828182845904523536028752390026306410273E1"
#
def E(prec)

View file

@ -16,8 +16,8 @@ require "bigdecimal/ludcmp"
#
# NOTE:
# Change following BigDecimal::limit() if needed.
BigDecimal::limit(100)
# Change following BigDecimal.limit() if needed.
BigDecimal.limit(100)
#
include LUSolve
@ -27,8 +27,8 @@ def rd_order(na)
end
na = ARGV.size
zero = BigDecimal::new("0.0")
one = BigDecimal::new("1.0")
zero = BigDecimal.new("0.0")
one = BigDecimal.new("1.0")
while (n=rd_order(na))>0
a = []
@ -40,10 +40,10 @@ while (n=rd_order(na))>0
for i in 0...n do
for j in 0...n do
printf("A[%d,%d]? ",i,j); s = ARGF.gets
a << BigDecimal::new(s);
as << BigDecimal::new(s);
a << BigDecimal.new(s);
as << BigDecimal.new(s);
end
printf("Contatant vector element b[%d] ? ",i); b << BigDecimal::new(ARGF.gets);
printf("Contatant vector element b[%d] ? ",i); b << BigDecimal.new(ARGF.gets);
end
else
# Read data from specified file.
@ -53,10 +53,10 @@ while (n=rd_order(na))>0
printf("%d) %s",i,s)
s = s.split
for j in 0...n do
a << BigDecimal::new(s[j]);
as << BigDecimal::new(s[j]);
a << BigDecimal.new(s[j]);
as << BigDecimal.new(s[j]);
end
b << BigDecimal::new(s[n]);
b << BigDecimal.new(s[n]);
end
end
x = lusolve(a,b,ludecomp(a,n,zero,one),zero)

View file

@ -11,11 +11,11 @@ include Newton
class Function # :nodoc: all
def initialize()
@zero = BigDecimal::new("0.0")
@one = BigDecimal::new("1.0")
@two = BigDecimal::new("2.0")
@ten = BigDecimal::new("10.0")
@eps = BigDecimal::new("1.0e-16")
@zero = BigDecimal.new("0.0")
@one = BigDecimal.new("1.0")
@two = BigDecimal.new("2.0")
@ten = BigDecimal.new("10.0")
@eps = BigDecimal.new("1.0e-16")
end
def zero;@zero;end
def one ;@one ;end
@ -31,8 +31,9 @@ class Function # :nodoc: all
f
end
end
f = BigDecimal::limit(100)
f = Function.new
x = [f.zero,f.zero] # Initial values
n = nlsolve(f,x)
p x
f = BigDecimal.limit(100)
f = Function.new
x = [f.zero,f.zero] # Initial values
n = nlsolve(f,x)
p x