naruse
eeff98c430
* complex.c (nucomp_marshal_load): raise error on invalid data.
...
reported by John Firebaugh [ruby-core:42860] [Bug #6076 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-25 07:20:00 +00:00
drbrain
af9398ab38
* complex.c (Init_Complex): Document Complex::I. Patch by Sylvain
...
Daubert. [Feature #5623 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 00:10:53 +00:00
nobu
292b3e4113
* complex.c (nucomp_rationalize): fix function. [ruby-core:40667]
...
[Bug #5546 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-02 12:36:06 +00:00
akr
2bb5441808
* complex.c: use "__sun" instead of "__sun__" to detect SunOS.
...
* math.c: ditto.
* hash.c: ditto.
* atomic.h: ditto.
* ext/io/wait/wait.c: ditto.
[ruby-dev:44693]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-24 14:57:08 +00:00
nobu
8e6e8e6288
* use RB_TYPE_P which is optimized for constant types, instead of
...
comparison with TYPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-29 11:07:45 +00:00
mrkn
2e2fabc433
* complex.c (nucomp_rationalize): calls rationalize of real part if
...
imaginary part is exactly zero. The patch is made by Marc-Andre
Lafortune. fixes [Bug #5178 ] [ruby-core:38885]
* test/ruby/test_complex.rb (test_rationalize): add a test for the
above change.
* complex.c (nucomp_to_r): fix RDoc comment. The patch is made by
Marc-Andre Lafortune.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-10 10:35:08 +00:00
ngoto
700aeee754
* complex.c (f_signbit): fix compile error in gcc4 on Solaris with
...
CFLAGS="-std=gnu99". [ruby-dev:44355] fix [Bug #5159 ]
* math.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-05 07:03:21 +00:00
yugui
4270dbe629
Forward-ports r32777 from branches/ruby_1_9_3 to trunk.
...
--
* complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does
not have it on header.
* math.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-31 14:17:40 +00:00
tadf
bc11aa72d3
* internal.h: added declarations.
...
* complex.c: followed the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-09 10:50:51 +00:00
akr
e7996eb3cc
* internal.h: declare internal functions here.
...
* node.h: declare NODE dependent internal functions here.
* iseq.h: declare rb_iseq_t dependent internal functions here.
* vm_core.h: declare rb_thread_t dependent internal functions here.
* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
thread.c, time.c, transcode.c, variable.c, vm.c,
tool/compile_prelude.rb: don't declare internal functions declared
in above headers. include above headers if required.
Note that rb_thread_mark() was declared as
void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
void rb_thread_mark(void *ptr) in vm.c. Now it is declared as
the later in internal.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
tadf
14c504b3cc
* complex.c (string_to_c_internal): uses rb_reg_nth_match;
...
* rational.c (string_to_r_internal): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-09 15:36:13 +00:00
tadf
6c81a8e44e
* complex.c (string_to_c_internal): a refactoring.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-09 11:31:26 +00:00
mrkn
ca927d60f4
* complex.c (string_to_c_internal): support scientific notation.
...
patched by Tinco Andringa. https://github.com/ruby/ruby/pull/16
[ruby-core:36046][Bug #4655 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-09 04:52:57 +00:00
tadf
14491f13d7
* complex.c, rational.c: omitted some method calls.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-04-24 13:24:02 +00:00
akr
b85ed255fa
update doc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-08 10:51:14 +00:00
akr
02441dabf5
* complex.c: parenthesize macro arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-05 01:37:16 +00:00
tadf
4ffe7a1734
modified some descriptions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 14:28:55 +00:00
tadf
1d8ca7a237
* complex.c, rational.c ({nucomp,nurat}_expt): added a check.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-22 22:31:55 +00:00
nobu
dccf9e0c45
* configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro
...
to declare exported function.
* array.c (rb_ary_memsize), string.c (rb_str_memsize),
variable.c (rb_objspace_data_type_memsize): used in
objspace. [ruby-dev:42022]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 06:33:06 +00:00
tadf
bbb5a6d6f7
* complex.c (nucomp_to_[ifr]): don't allow complex with in-exact
...
imaginary zero to be converted.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-10 12:20:49 +00:00
nobu
5274f89201
* complex.c (nucomp_marshal_load): should check the argument.
...
[ruby-core:31622]
* rational.c (nurat_marshal_load): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-05 09:36:16 +00:00
matz
95c6a8a3b7
* complex.c (nucomp_to_i): allow complex with imaginary zero to be
...
converted.
* complex.c (nucomp_to_f, nucomp_to_r): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-22 23:48:13 +00:00
nobu
062b4d6752
* include/ruby/{intern,io}.h: add missing prototypes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-22 03:02:40 +00:00
tadf
a90469602c
* complex.c, rational.c, lib/cmath.rb, lib/date.rb lib/date/delta*:
...
reverted r27484-27486. now official spec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 11:14:40 +00:00
tadf
3502114507
* complex.c, ratioanl.c: reverted experimental r24565.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-25 06:52:24 +00:00
naruse
27f953bfad
* complex.c (f_signbit): remove condition for signbit because
...
all platforms have signbit from r26871.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-12 00:45:06 +00:00
naruse
556152ada3
* complex.c (m_log, m_exp): remove unused functions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-04 01:16:37 +00:00
marcandre
215b8092a7
* complex.c (nucomp_real_check): raise TypeError instead of ArgumentError
...
when argument is not a real as expected [ruby-core:28395]
* rational.c (nurat_int_check): ditto (for integers)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-03 14:18:26 +00:00
naruse
c942417791
* rational.c (nurat_expt): use Float#** when Rational ** Float.
...
This fixes Rational(3,1)**3.0=>26.99999999999999 on FreeBSD.
* complex.c (rb_fexpt): removed.
Note that this function is not static but is private.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-25 02:26:22 +00:00
akr
b9e0294eda
fix typos.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-03 17:46:28 +00:00
nobu
31b7ae00c0
* include/ruby/st.h (st_hash_func): use st_index_t.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-09-08 13:10:04 +00:00
tadf
df21038777
* complex.c (nucomp_rationalize) added. [experimental]
...
* rational.c ({nurat,nilclass,integer,float}_rationalize) ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 23:17:14 +00:00
matz
9166dd9ec7
* numeric.c (num_imaginary): num#i to return imaginary counterpart
...
of the given numeric.
* complex.c (Init_Complex): undef #i for complex numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-16 22:28:48 +00:00
nobu
d6ab828369
* complex.c (nucomp_hash), rational.c (nurat_hash): not to use
...
hash value of class so that equality against subclasses can
work. [ruby-dev:38850]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-25 04:44:36 +00:00
tadf
a7290749a5
* complex.c (make_patterns): do not use \d.
...
* rational.c (make_patterns): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-19 11:43:23 +00:00
tadf
8d9896c3b9
* complex.c: added some shortcuts.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 14:57:42 +00:00
tadf
898bb1cbe3
* complex.c: use k_exact_{zero,one}_p macro.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 12:09:21 +00:00
tadf
fff1183ffe
* numeric.c (fix_divide): added an entry to rational.
...
* rational.c (rb_rational_reciprocal): added.
* complex.c (f_reciprocal): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-12 11:46:40 +00:00
tadf
d43de333de
* complex.c (nucomp_div): omitted zero division check.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-08 14:18:02 +00:00
tadf
b50cc1fe57
* complex.c (nucomp_s_polar): now arg is optional.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-05 13:46:10 +00:00
tadf
5a763bb525
* complex.c (float_arg): returns PI for -0.0.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-05 11:44:34 +00:00
tadf
e972280921
added examples.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 14:02:38 +00:00
tadf
0d2d098660
* complex.c (nucomp_equal_p): removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 12:31:26 +00:00
tadf
bac1841a93
* rational.c: renamed equal_p to eqeq_p.
...
* complex.c: ditto.
* complex.c (nucomp_equal_p): added.
Complex(NaN).equal?(Complex(NaN)) should return true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 12:19:54 +00:00
tadf
b61ab11f49
* complex.c: undef-ed shome methods. [ruby-core:24110]
...
* complex.c (Numeric#arg): NaN for NaN. [ruby-core:24116]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-03 10:50:17 +00:00
tadf
59a9da6443
* complex.c (nucomp_expt): do not use rb_fexpt.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 16:20:32 +00:00
tadf
aa68d47b88
* complex.c (nucomp_expt): checks exactness.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-29 12:03:25 +00:00
tadf
0bd29ba216
* complex.c (nucomp_div): raises ZeroDivisionError immediately
...
when the given second argument is zero.
* rational.c (nurat_fdiv): never raise even if the given second
argument is zero.
* rational.c (rb_raise_zerodiv): changed the message (zero to 0).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-28 14:39:31 +00:00
tadf
268432c51d
* complex.c (nucomp_expt): convert to a float when the given power
...
is a bignum.
* rational.c (nurat_expt): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-28 13:27:48 +00:00
tadf
f365778c26
* complex.c (nucomp_expt): some improvements.
...
* rational.c (nurat_expt): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-28 10:50:39 +00:00
tadf
53125214cc
* complex.c: renamed some static functions.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-28 00:22:07 +00:00
tadf
ae96b225c4
trivial change.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-27 10:35:17 +00:00
tadf
7cf1d66848
* complex.c (nucomp_addsub): new
...
* complex.c (nucomp_{add,sub}): use nucomp_addsub.
* complex.c (nucomp_divide): changed the algorithm.
* complex.c (nucomp_abs): added shortcuts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-27 10:12:04 +00:00
tadf
b2fb759624
* complex.c: revised rdoc.
...
* rational.c: ditto.
* numeric.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-27 07:46:57 +00:00
tadf
a05fd849a1
* complex.c: edited rdoc.
...
* numeric.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-20 11:29:21 +00:00
tadf
40d6a7527e
* complex.c: edited rdoc.
...
* rational.c: ditto.
* numeric.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-19 23:57:34 +00:00
tadf
ab7baebb6d
* complex.c: edited rdoc.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-19 21:57:51 +00:00
tadf
63f2557b56
* complex.c; edited rdoc.
...
* rational.c; ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-19 20:10:13 +00:00
tadf
94f371aacc
* complex.c: added rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-19 18:35:39 +00:00
tadf
03f49cbb32
* complex.c: constant COMPLEX_NAME has been removed.
...
* rational.c: constant RATIONAL_NAME has been removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-19 11:47:53 +00:00
tadf
67f93ddc21
* rational.c (nurat_s_convert): calls to_r when the given argument
...
is non-integer.
* rational.c (nurat_s_convert): raises TypeError when the given
argument is nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-18 13:41:44 +00:00
tadf
ad52268581
* complex.c (nucomp_coerce): accepts Complex instances.
...
* rational.c (nurat_coerce): accepts Rational
instances. [ruby-core:23859]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-16 23:17:17 +00:00
tadf
9540aa5b7b
* complex.c (nucomp_fdiv): use fdiv recursively.
...
* complex.c (nucomp_expt): reduced code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-06-13 22:57:02 +00:00
nobu
2a3d58d692
* complex.c (f_signbit): fixed indentation.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-15 17:39:38 +00:00
mame
e722ad99d5
* string.c (rb_hash_uint32, rb_hash_uint, rb_hash_start, rb_hash_end),
...
include/ruby/intern.h: add Murmurhash API. [ruby-dev:37784]
* complex.c (nucomp_hash), array.c (rb_ary_hash), time.c (time_hash),
string.c (rb_str_hsah), object.c (rb_obj_hash), range.c
(range_hash), struct.c (rb_struct_hash), hash.c (rb_any_hash),
rational.c (nurat_hash): use Murmurhash. [ruby-dev:37784]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-14 19:55:34 +00:00
shugo
a98cbcbf0b
* complex.c (f_signbit): regard NaN as a positive value.
...
[ruby-dev:37861].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-02 03:45:28 +00:00
tadf
c7e236efc1
* bignum.c (rb_cstr_to_inum): changed an error message.
...
* complex.c (string_to_c_strict): ditto.
* rational.c (string_to_r_strict): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-29 14:26:16 +00:00
tadf
ac6e87fc59
* complex.c: use rb_usascii_str_new2 instead of rb_str_new2.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-13 04:05:25 +00:00
tadf
8729368f14
* complex.c (nucomp_canonicalization): renamed.
...
* ext/math/complex.c: followed the above change.
* rational.c (nurat_canonicalization): renamed.
* ext/math/rational.c: followed the above change.
* configure.in: defines a new macro.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 23:40:55 +00:00
tadf
75fbac3b0d
* complex.c, rational.c: do not use RUBY_VERSION_CODE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 13:13:44 +00:00
nobu
8e3bf17b03
* complex.c, rational.c: do not use RUBY_VERSION_CODE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-12 01:20:57 +00:00
tadf
32bc841571
* complex.c: avoided warnings on cpp.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-10 15:00:13 +00:00
tadf
2d3f41d19f
* complex.c: inpsect should not depend on to_s.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 12:44:06 +00:00
tadf
ef38a43c50
* complex.c (nurat_{to_s,inspect}): provides better representation
...
for in-finite imag part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 16:43:01 +00:00
tadf
28c53aabca
* complex.c (f_signbit): NaN may be signed value.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-03 16:28:17 +00:00
takano32
2100e3b631
* complex.c (imp1, imp2): should declare type.
...
[BUG] at IA-64
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 06:45:26 +00:00
tadf
f68296698a
* complex.c: uses macro in declarations.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 15:45:29 +00:00
tadf
2d5a281c98
* math.c (rb_math_{atan2,cos,cosh,hypot,log,sin,sinh,sqrt}): added.
...
* complex.c: follows the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 15:10:40 +00:00
tadf
2b72e549a7
* complex.c: continues to support canonicalization *unofficially*
...
for an odd library mathn for the time being (only 1.9.x).
since grand mathn is must be very very special library for us.
* rational.c: ditto.
* ext/mathn/*/*: follow the above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 14:11:08 +00:00
nobu
359945ec7f
* complex.c (m_sqrt): unused.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-13 00:55:08 +00:00
nobu
cb723edfc8
* complex.c (Init_Complex), rational.c (Init_Rational): undefines
...
default #allocate methods which call the allocater.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 08:44:47 +00:00
nobu
9aac312f77
* complex.c (Init_Complex), rational.c (Init_Rational): ID_ALLOCATOR
...
differs from :allocate, and invisible in ruby level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 08:02:17 +00:00
tadf
8b54d5812c
* complex.c (nucomp_s_canonicalize_internal): does no apply
...
canonicalization rule anymore.
* rational.c (nurat_s_canonicalize_internal(_no_reduce)?): ditto.
* complex.c: removed class method new! and new.
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 10:33:27 +00:00
tadf
83b381752e
fixed previous commit.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 12:32:33 +00:00
tadf
cbae6d0911
* complex.c: added two macros.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 12:21:32 +00:00
tadf
a46544a4f9
* complex.c (nucomp_s_convert): checks argc.
...
* rational.c (nurat_s_convert): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 09:07:25 +00:00
tadf
2897cdae9b
trivial changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 04:59:53 +00:00
tadf
72565402d9
* complex.c (nucomp_s_canonicalize_internal): checks exactness of
...
imag only.
* rational.c (nurat_s_convert): accepts non real value
(Rational(a,b) as a/b).
* complex.c (nucomp_s_convert): refined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-21 01:30:25 +00:00
tadf
9467d7a024
* complex.c: an instance method image has been removed and
...
uses "imag" instead of "image".
* complex.c: two instance method re and im are removed.
* rational.c: follows the above changes.
* include/ruby/ruby.h: ditto.
* gc.c: ditto.
* lib/cmath.rb: ditto.
* lib/mathn.rb: ditto.
* lib/complex.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-20 22:49:56 +00:00
tadf
f2cb79ffee
* complex.c: uses f_(in)?exact_p macro.
...
* rational.c: ditto.
* bignum.c (rb_big_pow): bignum**bignum - should calculate without
rational.
* lib/complex.rb: should override Math module at most once.
* lib/mathn.rb: requires 'cmath' directly.
-この行以下は無視されます --
M complex.c
M ChangeLog
M lib/mathn.rb
M lib/complex.rb
M bignum.c
M rational.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-19 13:55:52 +00:00
tadf
d965e99b04
* complex.c (nucomp_s_convert): accepts complex
...
value (Complex(a,b) as a+bi).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-17 11:00:09 +00:00
tadf
acde7364f7
* numeric.c: provides predicate real? instead of scalar?.
...
* complex.c: follows the above change.
* lib/cmath.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 22:04:19 +00:00
tadf
7c3b57b5d1
* complex.c (nucomp_marshal_{dump,load}): preserve instance
...
variables.
* rational.c (nurat_marshal_{dump,load}): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-16 10:21:23 +00:00
ko1
69029b90fe
* gc.c, include/ruby/ruby.h: rename rb_register_mark_object()
...
to rb_gc_register_mark_object().
* eval.c, vm.c: initialize vm->mark_object_ary at
Init_top_self().
* bignum.c, complex.c, encoding.c, ext/win32ole/win32ole.c,
io.c, load.c, marshal.c, rational.c, ruby.c, vm.c:
use rb_gc_register_mark_object() instead of
rb_global_variable() or rb_gc_register_address().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 14:59:14 +00:00
tadf
05ac51d225
* complex.c (nucomp_eql_p): new.
...
* complex.c (nucomp_hash): should use hash values of the elements.
* rational.c (nurat_hash): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-15 04:20:46 +00:00
tadf
583400c15e
* complex.c: trivial changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 09:35:08 +00:00
tadf
e4b3a81769
* complex.c (f_{add,mul,sub}): omitted some shortcuts for preserve
...
signed zero anyway.
* complex.c (nucomp_negate): new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-14 01:16:44 +00:00
tadf
5ac09d7627
* complex.c: refined.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-13 01:55:56 +00:00
tadf
0de54d9aa6
* complex.c: some adjustments.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-07 22:10:38 +00:00
tadf
803aafe7c4
* complex.c: uses f_real_p macro.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 22:55:35 +00:00
tadf
1d9a079b1c
* complex.c (numeric_abs2): new.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-31 11:51:04 +00:00
tadf
5185955f3f
* complex.c ({nucomp,numeric}_rect): new.
...
* complex.c: added some aliases
(::rectangular, ::rect, #rectangular, #rect, #phase,
#magnitude).
* complex.c (string_to_c_internal): should not strip any null
bytes.
* rational.c (string_to_r_internal): ditto.
* rational.c (i_gcd): reverted to nurat 0.0.2's one.
* numeric.c: added an alias (#magnitude).
* test/ruby/test_complex.rb: added assertions.
* test/ruby/test_rational.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-29 13:41:41 +00:00
tadf
8f40b26581
* complex.c (nucomp_div): now behaves as quo.
...
* complex.c (nucomp_s_generic_p): has been removed.
* complex.c (nucomp_to_s): adopts new form.
* complex.c (nucomp_inspect): ditto.
* complex.c (string_to_c_internal): ditto and supports polar form.
* complex.c (rb_complex_polar): new.
* rational.c (nurat_to_s): did not canonicalize.
* rational.c (nurat_inspect): adopts new form.
* rational.c (string_to_r_internal): ditto.
* include/ruby/intern.h: added a declaration.
* lib/complex.rb: added an obsolate class method.
* lib/cmath.rb: use scalar? instead of generic?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-22 12:27:54 +00:00
nobu
5f9c188d97
* include/ruby/ruby.h (rb_intern_const): tiny optimization.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-16 00:20:31 +00:00
tadf
c7f4ebc8b7
* complex.c (string_to_c, nucomp_s_convert): preserve the current
...
backref.
* rational.c (string_to_r, nurat_s_convert): ditto.
* include/ruby/intern.h (rb_match_busy): added a declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-13 12:29:50 +00:00
wanabe
6fc17f1f7b
* complex.c (string_to_c_internal): save and restore backref. fixed [ruby-dev:34991]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-13 08:22:13 +00:00
tadf
2b66844f48
* complex.c: refactoring.
...
* rational.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-12 12:41:17 +00:00
tadf
e585bc3c2f
* complex.c (nucomp_s_convert): need not to initialize optional
...
argument for rb_scan_args().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-10 11:56:23 +00:00
tadf
4879ae65fd
fixed
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 15:13:45 +00:00
tadf
a20cf402cf
* complex.c (nucomp_s_convert): can accept Complex('i').
...
[ruby-dev:34991]
and some minor changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 12:02:29 +00:00
nobu
5a647a3f5f
* include/ruby/ruby.h (CONST_ID): constant ID cache for non-gcc.
...
* *.c: no cache in init functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 09:25:32 +00:00
nobu
e39b93b86e
* complex.c (make_patterns): constified.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-09 05:42:04 +00:00
matz
f970ffedae
* math.c (to_flo): rb_Float() accepts even strings for input.
...
* complex.c (nucomp_to_f): fix wrong message.
* complex.c (nucomp_to_r): ditto.
* object.c (rb_Float): do not check NaN for error. NaN is a part
of valid float values.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 04:17:45 +00:00
nobu
f80616b6d2
* complex.c, rational.c: fixed indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 13:17:04 +00:00
tadf
6d02a4857d
* complex.c (nucomp_div): [ruby-dev:34357]
...
* complex.c (nucomp_abs): use hypot.
* complex.c (nucomp_quo): do not force convertion.
* test/ruby/test_complex.rb: omitted some meaningless tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 22:30:45 +00:00
tadf
c08b5dfb81
* lib/cmath.rb: new.
...
* lib/complex.rb: depends lib/cmath.rb.
* lib/rational.rb: added rdiv.
* complex.c: removed some math functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-05 14:25:40 +00:00
matz
228f30be3a
* bignum.c (Init_Bignum): rdiv method removed. [ruby-dev:34242]
...
* complex.c (nucomp_quo): ditto.
* numeric.c (num_rdiv): ditto.
* rational.c (nurat_div): ditto.
* complex.c (nucomp_fdiv): fdiv implementation restored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-03 16:01:16 +00:00
tadf
5d6602c44e
* complex.c (nucomp_int_check): function for DRY real check.
...
* complex.c (nucomp_{add,sub,mul,div,expt}): use rb_num_coerce_bin().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-03 12:55:27 +00:00
tadf
597179bb95
adopted the ruby's style.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 16:42:24 +00:00
matz
ef260b085e
revert git backfire in r15860; sorry
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-30 15:00:12 +00:00
matz
3730710d79
* proc.c (proc_dup): should copy is_lambda attribute as well.
...
[ruby-talk:296244]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-30 14:50:55 +00:00
tadf
d4f5cb67d4
* complex.c (f_lcm): removed.
...
* rational.c (rb_lcm, rb_gcdlcm): added.
* lib/complex.rb (gcd, lcm, gcdlcm): removed.
* lib/rational.rb (gcd, lcm, gcdlcm): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-27 11:48:00 +00:00
tadf
76865ca0ec
trivial changes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-24 13:34:13 +00:00
tadf
6e383d9fa2
fixed. [ruby-dev:34109]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-22 17:31:08 +00:00
mame
b9fd3e4e85
* complex.c (nucomp_sub, nucomp_expt): call corresponding functions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-20 16:41:51 +00:00
tadf
5723a8eeb5
improvements.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-20 12:26:58 +00:00
tadf
a3c76eb0c7
added rb_gcd.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-19 13:29:04 +00:00
tadf
80aa946f91
revert.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-19 09:37:39 +00:00
nobu
3f5792a1c6
* complex.c (nucomp_to_s, nucomp_inspect): get rid of making
...
unnecessary intermediate objects.
* complex.c (make_patterns, string_to_c): do not treat successive
underscores as a part of numeric like as literals. [ruby-dev:34085]
* rational.c (make_patterns, string_to_r): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-19 05:53:11 +00:00
tadf
073ee17567
edited comments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-16 00:51:11 +00:00
tadf
6125552c27
both complex and rational are now builtin classes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-16 00:23:43 +00:00