Skip to content

Instantly share code, notes, and snippets.

@leostera
Created November 28, 2020 14:10
Show Gist options
  • Select an option

  • Save leostera/5b1d3708fcea166006c17dd8412302d5 to your computer and use it in GitHub Desktop.

Select an option

Save leostera/5b1d3708fcea166006c17dd8412302d5 to your computer and use it in GitHub Desktop.
-module(fib).
-export([main/1]).
add_entry(DomNode, Text) ->
NewNode = dom_document:create_element(<<"div">>),
dom_element:set_inner_text(NewNode, Text),
dom_element:append_child(DomNode, NewNode).
fib(DomNode, N, B, A) ->
add_entry(DomNode, erlang:integer_to_binary(A)),
case N =< 0 of
true -> ok;
false -> fib(DomNode, erlang:'-'(N, 1), erlang:'+'(A, B), B)
end.
main([Arg | []]) ->
Node = dom_document:get_element_by_id(<<"lam">>),
T0 = date:now(),
add_entry(Node, << "Started at: ", (erlang:integer_to_binary(T0))/binary >>),
% work!
fib(Node, erlang:list_to_integer(Arg), 1, 0),
T1 = date:now() - T0,
add_entry(Node, << "Finished in: ", (erlang:integer_to_binary(T1))/binary >>).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment