3
-export([next_perm/1, prev_perm/1, load/0, all_perm/1]).
6
case whereis(next_perm) of
8
case erl_ddll:load_driver(".", "next_perm") of
10
{error, already_loaded} -> ok;
13
Port = open_port({spawn, "next_perm"}, []),
14
register(next_perm, Port);
19
list_to_integer_binaries(L) ->
20
[<<I:32/integer-native>> || I <- L].
30
B = list_to_integer_binaries(L),
31
Port = whereis(next_perm),
32
port_command(Port, [Nxt, B]),
40
all_perm(New, L, [New]).
42
all_perm(L, L, Acc) ->
44
all_perm(L, Orig, Acc) ->
46
all_perm(New, Orig, [New | Acc]).