defmodule NimlerIntegration do
  @on_load :init

  def init(), do: :erlang.load_nif(to_charlist(
      Path.join(Path.dirname(__ENV__.file), 'nif')), 0)

  def is_atom(_), do: exit(:nif_library_not_loaded)
  def is_binary(_), do: exit(:nif_library_not_loaded)
  def is_current_process_alive(), do: exit(:nif_library_not_loaded)
  def is_empty_list(_), do: exit(:nif_library_not_loaded)
  def is_exception(_), do: exit(:nif_library_not_loaded)
  def is_fun(_), do: exit(:nif_library_not_loaded)
  def is_identical(_, _), do: exit(:nif_library_not_loaded)
  def is_list(_), do: exit(:nif_library_not_loaded)
  def is_map(_), do: exit(:nif_library_not_loaded)
  def is_number(_), do: exit(:nif_library_not_loaded)
  def is_pid(_), do: exit(:nif_library_not_loaded)
  def is_pid_undefined(_), do: exit(:nif_library_not_loaded)
  def is_process_alive(_), do: exit(:nif_library_not_loaded)
  def is_ref(_), do: exit(:nif_library_not_loaded)
  def is_tuple(_), do: exit(:nif_library_not_loaded)
  def get_atom(_), do: exit(:nif_library_not_loaded)
  def get_atom_length(_), do: exit(:nif_library_not_loaded)
  def get_string(_), do: exit(:nif_library_not_loaded)
  def get_int(_), do: exit(:nif_library_not_loaded)
  def get_long(_), do: exit(:nif_library_not_loaded)
  def get_int64(_), do: exit(:nif_library_not_loaded)
  def get_uint(_), do: exit(:nif_library_not_loaded)
  def get_ulong(_), do: exit(:nif_library_not_loaded)
  def get_uint64(_), do: exit(:nif_library_not_loaded)
  def get_double(_), do: exit(:nif_library_not_loaded)
  def get_tuple(_), do: exit(:nif_library_not_loaded)
  def get_list_length(_), do: exit(:nif_library_not_loaded)
  def get_list_cell(_), do: exit(:nif_library_not_loaded)
  def get_map_size(_), do: exit(:nif_library_not_loaded)
  def get_map_value(_, _), do: exit(:nif_library_not_loaded)
  def get_local_pid(_), do: exit(:nif_library_not_loaded)
  def make_map_put(_, _, _), do: exit(:nif_library_not_loaded)
  def make_map_remove(_, _), do: exit(:nif_library_not_loaded)
  def make_map_update(_, _, _), do: exit(:nif_library_not_loaded)
  def make_string(), do: exit(:nif_library_not_loaded)
  def make_string_len(), do: exit(:nif_library_not_loaded)
  def make_list(), do: exit(:nif_library_not_loaded)
  def make_list_cell(), do: exit(:nif_library_not_loaded)
  def make_list_from_array(), do: exit(:nif_library_not_loaded)
  def make_reverse_list(_), do: exit(:nif_library_not_loaded)
  def make_tuple(), do: exit(:nif_library_not_loaded)
  def make_tuple_from_array(), do: exit(:nif_library_not_loaded)
  def make_int(), do: exit(:nif_library_not_loaded)
  def make_long(), do: exit(:nif_library_not_loaded)
  def make_int64(), do: exit(:nif_library_not_loaded)
  def make_uint(), do: exit(:nif_library_not_loaded)
  def make_ulong(), do: exit(:nif_library_not_loaded)
  def make_uint64(), do: exit(:nif_library_not_loaded)
  def make_double(), do: exit(:nif_library_not_loaded)
  def make_new_binary(), do: exit(:nif_library_not_loaded)
  def make_new_map(), do: exit(:nif_library_not_loaded)
  def make_map_from_arrays(), do: exit(:nif_library_not_loaded)
  def make_atom(), do: exit(:nif_library_not_loaded)
  def make_existing_atom(), do: exit(:nif_library_not_loaded)
  def make_existing_atom_len(), do: exit(:nif_library_not_loaded)
  def make_copy(), do: exit(:nif_library_not_loaded)
  def make_pid(), do: exit(:nif_library_not_loaded)
  def make_ref(), do: exit(:nif_library_not_loaded)
  def make_unique_integer(), do: exit(:nif_library_not_loaded)
  def e_compare(_, _), do: exit(:nif_library_not_loaded)
  def term_type(_, _, _, _, _, _), do: exit(:nif_library_not_loaded)
  def system_info(), do: exit(:nif_library_not_loaded)
  def e_raise_exception(_), do: exit(:nif_library_not_loaded)
  def e_monotonic_time(), do: exit(:nif_library_not_loaded)
  def e_convert_time_unit(), do: exit(:nif_library_not_loaded)
  def e_time_offset(), do: exit(:nif_library_not_loaded)
  def e_cpu_time(), do: exit(:nif_library_not_loaded)
  def e_now_time(), do: exit(:nif_library_not_loaded)
  def e_fprintf(), do: exit(:nif_library_not_loaded)
  def e_snprintf(), do: exit(:nif_library_not_loaded)
  
end
