rational.c: conditionally defined variable

* rational.c (numeric_quo): variable 'canonicalization' is defined
  conditionally by CANON (and CANONICALIZATION_FOR_MATHN).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-09-10 05:05:50 +00:00
parent 67129c8383
commit 9c060a59b4
2 changed files with 8 additions and 1 deletions

View File

@ -376,6 +376,8 @@ nucomp_canonicalization(int f)
{
canonicalization = f;
}
#else
# define canonicalization <<<No canonicalization>>>
#endif
inline static void

View File

@ -494,6 +494,8 @@ nurat_canonicalization(int f)
{
canonicalization = f;
}
#else
# define canonicalization <<<No canonicalization>>>
#endif
inline static void
@ -1867,10 +1869,13 @@ numeric_quo(VALUE x, VALUE y)
return f_fdiv(x, y);
}
#ifdef CANON
if (canonicalization) {
x = rb_rational_raw1(x);
}
else {
else
#endif
{
x = rb_convert_type(x, T_RATIONAL, "Rational", "to_r");
}
return rb_funcall(x, '/', 1, y);