i created log_slow
alias, , not working:
require 'bigdecimal' require 'bigdecimal/math' require 'bigdecimal/util' module bigmath alias :log :log_slow def log(x, prec) if x <= 0 || prec <= 0 raise argumenterror, "zero or negative argument log" end return x if x.infinite? || x.nan? sign, fraction, power, exponent = x.split fraction = bigdecimal(".#{fraction}") power = power.to_s.to_d log_slow(fraction, prec) + (log_slow(power, prec) * exponent) end end include bigmath number = bigdecimal("1234.5678") math.log(number) prec = 50 puts bigmath.log_slow(number, prec).round(prec).to_s("f") puts bigmath.log(number, prec).round(prec).to_s("f") puts bigmath.log(number ** 1000, prec).round(prec).to_s("f")
i error:
in `<module:bigmath>': undefined method `log_slow' module `bigmath' (nameerror)
your alias should escape error
module bigmath def log(x, prec) #your code end alias log_slow log end
format:
alias new_name old_name
Comments
Post a Comment