X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_common.erl;h=b016a0fd73fcf6f49cfc7f0452970c8728d6ab0a;hb=5d9992368bb386d2e606ae037c5478fe10ac70e8;hp=e91eff6275972369de9354871a7479c81be4f386;hpb=ba4387c6afaaa2964c28292e7fbd1c35b3404ce5;p=euphorik.git
diff --git a/modules/erl/euphorik_common.erl b/modules/erl/euphorik_common.erl
index e91eff6..b016a0f 100644
--- a/modules/erl/euphorik_common.erl
+++ b/modules/erl/euphorik_common.erl
@@ -15,37 +15,49 @@
%
% You should have received a copy of the GNU General Public License
% along with Euphorik. If not, see .
-%
-% Module avec plein de bordel utile à l'intérieur
-% @author G.Burri
-
+%
+% Module with some useful stuffs.
+
-module(euphorik_common).
--export([
- serialize_ip/1,
- unserialize_ip/1,
- ceiling/1
-]).
-
-
-% Arrondi un float à l'entier supérieur.
-% Bizarre, cette fonction n'existe pas dans la stdlib.
-% Pas utilisé mais bon ca me fait de la peine de l'enlever.
-ceiling(X) ->
- T = trunc(X),
- case (X - T) of
- Neg when Neg < 0 -> T;
- Pos when Pos > 0 -> T + 1;
- _ -> T
+-author("Greg Burri ").
+-export([
+ ceiling/1,
+ delta_date_ms/2,
+ delta_date_minute/2,
+ serialize_ip/1,
+ unserialize_ip/1
+]).
+
+
+% Arrondi un float à l'entier supérieur.
+% Bizarre, cette fonction n'existe pas dans la stdlib.
+% Pas utilisé mais bon ca me fait de la peine de l'enlever.
+ceiling(X) ->
+ T = trunc(X),
+ case (X - T) of
+ Neg when Neg < 0 -> T;
+ Pos when Pos > 0 -> T + 1;
+ _ -> T
end.
+% Retourne la difference entre deux timestamp (erlang:now()) en miliseconde
+delta_date_ms(D1, D2) ->
+ 1000000000 * abs(element(1, D1) - element(1, D2)) + 1000 * abs(element(2, D1) - element(2, D2)) + trunc(abs(element(3, D1) - element(3, D2)) / 1000).
+
+
+% Retourne la différence entre deux timestamp (erlang:now) en minutes
+delta_date_minute(D1, D2) ->
+ trunc(delta_date_ms(D1, D2) / 1000 / 60).
+
+
serialize_ip(undefined) ->
"";
serialize_ip(IP) ->
lists:flatten(io_lib:format("~w.~w.~w.~w", tuple_to_list(IP))).
-
-
+
+
unserialize_ip(IP) ->
case io_lib:fread("~d.~d.~d.~d", IP) of
{ok, [A, B, C, D], []} -> {A, B, C, D};