tau.patch

Matthew Kerwin, 02/28/2013 07:10 AM

Download (1.2 KB)

View differences:

ext/bigdecimal/lib/bigdecimal/math.rb
7 7
#   sin (x, prec)
8 8
#   cos (x, prec)
9 9
#   atan(x, prec)  Note: |x|<1, x=0.9999 may not converge.
10
#   TAU (prec)
10 11
#   PI  (prec)
11 12
#   E   (prec) == exp(1.0,prec)
12 13
#
......
144 145
    y
145 146
  end
146 147

  
148
  # See http://tauday.com/
149
  def TAU(prec)
150
    raise ArgumentError, "Zero or negative argument for TAU" if prec <= 0
151
    PI(prec)*BigDecimal("2")
152
  end
153

  
147 154
  # Computes the value of pi to the specified number of digits of precision.
148 155
  def PI(prec)
149 156
    raise ArgumentError, "Zero or negative argument for PI" if prec <= 0
math.c
782 782

  
783 783
#ifdef M_PI
784 784
    rb_define_const(rb_mMath, "PI", DBL2NUM(M_PI));
785
    rb_define_const(rb_mMath, "TAU", DBL2NUM(M_PI*2.0));
785 786
#else
786 787
    rb_define_const(rb_mMath, "PI", DBL2NUM(atan(1.0)*4.0));
788
    rb_define_const(rb_mMath, "TAU", DBL2NUM(atan(1.0)*8.0));
787 789
#endif
788 790

  
789 791
#ifdef M_E