1234567891011121314151617181920212223242526272829303132333435363738 |
- -module(niftest).
- -on_load(init/0).
- -export([
- init/0,
- hello/0,
- factorial/1
- ]).
- -nifs([
- hello/0,
- factorial1/1
- ]).
- init() ->
- erlang:load_nif("./niftest", 0).
- hello() ->
- erlang:nif_error("NIF library not loaded").
- factorial(N) when is_integer(N), N >= 0 ->
- case factorial1(N) of
- Bin when is_binary(Bin) ->
- binary:decode_unsigned(Bin);
- Error ->
- Error
- end;
- factorial(_) ->
- {error, badarg}.
- factorial1(_) ->
- "NIF not loaded".
|