X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=modules%2Ferl%2Feuphorik_common.erl;h=3806df35b8607cd373e5d4aed8ea8f866291f4d0;hp=e91eff6275972369de9354871a7479c81be4f386;hb=217c4d7a0d5f9fee3a8ef0a05ab8506c7f39d5e5;hpb=ba4387c6afaaa2964c28292e7fbd1c35b3404ce5 diff --git a/modules/erl/euphorik_common.erl b/modules/erl/euphorik_common.erl index e91eff6..3806df3 100644 --- a/modules/erl/euphorik_common.erl +++ b/modules/erl/euphorik_common.erl @@ -16,29 +16,41 @@ % 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, - 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 +-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) -> "";