diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | complex.c | 9 |
2 files changed, 8 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Sun Nov 18 02:02:46 2012 Tadayoshi Funaba <tadf@dotrb.org> + + * complex.c (read_comp): modified handling of polar form. + Sun Nov 18 00:50:44 2012 Tadayoshi Funaba <tadf@dotrb.org> * complex.c (read_comp): fixed handling of polar form. @@ -1672,14 +1672,13 @@ read_comp(const char **s, int strict, (*s)++; bb = *b; - if (!(isdigit((unsigned char)**s) || - **s == '-' || **s == '+' || - **s == '.')) { + st = read_rat(s, strict, b); + **b = '\0'; + if (strlen(bb) < 1 || + !isdigit((unsigned char)*(bb + strlen(bb) - 1))) { *ret = rb_complex_raw2(num, ZERO); return 0; /* e.g. "1@x" */ } - st = read_rat(s, strict, b); - **b = '\0'; num2 = str2num(bb); *ret = rb_complex_polar(num, num2); if (!st) |