module SQLite3ExtendFunction::Functions::Ln

SQLite3ExtendFunction::Functions::Ln

Public Class Methods

call(dp) click to toggle source

@param [Integer, Float] dp @return [Integer, Float] @raise [SQLite3::SQLException]

# File lib/sqlite3_extend_function/functions/ln.rb, line 11
def call(dp)
  return if dp.nil?

  result = Math.log(Float(dp))
  result.to_i == result ? result.to_i : result
rescue ArgumentError
  raise SQLite3::SQLException, 'cannot take logarithm of a negative number'
end