# File lib/utils.rb, line 28
  def map range, val, function = :linear
    # this line is necessary in case nil is explicitly passed
    function = function ? function.to_sym : :linear
    case function.to_sym

    when :linear, :lin
      linear_map range, val

    when :i_linear, :i_lin
      i_linear_map range, val
    
    else
      raise ArgumentError, "bad function for range: #{function}", caller
    end
  end