|
|
- -module(nifArray).
-
- -on_load(init/0).
-
- -export([
- new/1
- , get/2
- , put/3
- , test/1
- , test1/1
- ]).
-
- -type nifArray() :: reference().
-
- init() ->
- SoName =
- case code:priv_dir(?MODULE) of
- {error, _} ->
- case code:which(?MODULE) of
- Filename when is_list(Filename) ->
- filename:join([filename:dirname(Filename), "../priv", "nifArray"]);
- _ ->
- filename:join("../priv", "nifArray")
- end;
- Dir ->
- filename:join(Dir, "nifArray")
- end,
- erlang:load_nif(SoName, 0).
-
- -spec new(Size :: integer()) -> nifArray().
- new(_Size) ->
- erlang:nif_error({nif_not_loaded, module, ?MODULE, line, ?LINE}).
-
- -spec get(Ref :: nifArray(), Index :: integer()) -> term().
- get(_Ref, _Index) ->
- erlang:nif_error({nif_not_loaded, module, ?MODULE, line, ?LINE}).
-
- -spec put(Ref :: nifArray(), Index :: integer(), Value :: term()) -> term().
- put(_Ref, _Index, _Value) ->
- erlang:nif_error({nif_not_loaded, module, ?MODULE, line, ?LINE}).
-
- test(Value) ->
- erlang:nif_error({nif_not_loaded, module, ?MODULE, line, ?LINE}).
-
- test1(Value) ->
- Bin = term_to_binary(Value),
- Term = binary_to_term(Bin).
-
-
|