summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--complex.c16
-rw-r--r--rational.c4
3 files changed, 16 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c93086..99681a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
-Sun Nov 18 02:50:12 2012 Luis Lavena <luislavena@gmail.com>
+Sun Nov 18 09:31:47 2012 Tadayoshi Funaba <tadf@dotrb.org>
+
+ * complex.c (read_comp): mathn compliant.
+ * rational.c (read_num): ditto.
+Sun Nov 18 02:50:12 2012 Luis Lavena <luislavena@gmail.com>
+
* win32/file.c (replace_to_long_name): correct logic around wildcard
characters detection and ensure wide-chars are used as pattern.
[ruby-core:49451] [Bug #7374]
diff --git a/complex.c b/complex.c
index e073acf..d4af405 100644
--- a/complex.c
+++ b/complex.c
@@ -1646,14 +1646,14 @@ read_comp(const char **s, int strict,
if (isimagunit(**s)) {
(*s)++;
num = INT2FIX((sign == '-') ? -1 : + 1);
- *ret = rb_complex_raw2(ZERO, num);
+ *ret = rb_complex_new2(ZERO, num);
return 1; /* e.g. "i" */
}
if (!read_rat_nos(s, strict, b)) {
**b = '\0';
num = str2num(bb);
- *ret = rb_complex_raw2(num, ZERO);
+ *ret = rb_complex_new2(num, ZERO);
return 0; /* e.g. "1/" */
}
**b = '\0';
@@ -1661,7 +1661,7 @@ read_comp(const char **s, int strict,
if (isimagunit(**s)) {
(*s)++;
- *ret = rb_complex_raw2(ZERO, num);
+ *ret = rb_complex_new2(ZERO, num);
return 1; /* e.g. "3i" */
}
@@ -1674,7 +1674,7 @@ read_comp(const char **s, int strict,
**b = '\0';
if (strlen(bb) < 1 ||
!isdigit((unsigned char)*(bb + strlen(bb) - 1))) {
- *ret = rb_complex_raw2(num, ZERO);
+ *ret = rb_complex_new2(num, ZERO);
return 0; /* e.g. "1@x" */
}
num2 = str2num(bb);
@@ -1692,23 +1692,23 @@ read_comp(const char **s, int strict,
num2 = INT2FIX((sign == '-') ? -1 : + 1);
else {
if (!read_rat_nos(s, strict, b)) {
- *ret = rb_complex_raw2(num, ZERO);
+ *ret = rb_complex_new2(num, ZERO);
return 0; /* e.g. "1+xi" */
}
**b = '\0';
num2 = str2num(bb);
}
if (!isimagunit(**s)) {
- *ret = rb_complex_raw2(num, ZERO);
+ *ret = rb_complex_new2(num, ZERO);
return 0; /* e.g. "1+3x" */
}
(*s)++;
- *ret = rb_complex_raw2(num, num2);
+ *ret = rb_complex_new2(num, num2);
return 1; /* e.g. "1+2i" */
}
/* !(@, - or +) */
{
- *ret = rb_complex_raw2(num, ZERO);
+ *ret = rb_complex_new2(num, ZERO);
return 1; /* e.g. "3" */
}
}
diff --git a/rational.c b/rational.c
index 9718913..24d7ff1 100644
--- a/rational.c
+++ b/rational.c
@@ -2011,13 +2011,13 @@ read_num(const char **s, int numsign, int strict,
{
VALUE ip, fp, exp;
- *num = rb_rational_raw2(ZERO, ONE);
+ *num = rb_rational_new2(ZERO, ONE);
exp = Qnil;
if (**s != '.') {
if (!read_digits(s, strict, &ip, NULL))
return 0;
- *num = rb_rational_raw2(ip, ONE);
+ *num = rb_rational_new2(ip, ONE);
}
if (**s == '.') {