X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_common.erl;h=ff251d7dcf41610d97eafae960f32f508c7bc012;hp=12ac9cb566a434ae716f74683a6bcc4020b05491;hb=bd9caeefe3cfc9b4194c31052b0ddd4da26f604c;hpb=5790c374341c5e542ff17a8f245bb5aa43af1d58
diff --git a/modules/erl/euphorik_common.erl b/modules/erl/euphorik_common.erl
index 12ac9cb..ff251d7 100644
--- a/modules/erl/euphorik_common.erl
+++ b/modules/erl/euphorik_common.erl
@@ -1,5 +1,5 @@
% coding: utf-8
-% Copyright 2008 Grégory Burri
+% Copyright 2008 Grégory Burri
%
% This file is part of Euphorik.
%
@@ -16,12 +16,39 @@
% 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
+% Module avec plein de bordel utile à l'intérieur.
% @author G.Burri
+
-module(euphorik_common).
--export([serialize_ip/1, unserialize_ip/1]).
-
+-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
+ 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) ->
"";