Sha256: 9a57ea1f5f738cdf7455c7198da2a92cfbfe09e91e516b57f94e28ee911b3f7a
Contents?: true
Size: 909 Bytes
Versions: 310
Compression:
Stored size: 909 Bytes
Contents
-module(example). -export([create/2, is_equal/2, minutes_add/2, to_string/1, test_version/0]). -record(?MODULE, {normalized}). -define(HOURS_PER_DAY, 24). -define(MINUTES_PER_HOUR, 60). -define(MINUTES_PER_DAY, (?HOURS_PER_DAY * ?MINUTES_PER_HOUR)). create(Hour, Minutes) -> #?MODULE{normalized = mod(Hour * ?MINUTES_PER_HOUR + Minutes, ?MINUTES_PER_DAY)}. is_equal(C, C) -> true; is_equal(_, _) -> false. minutes_add(#?MODULE{normalized = Mins}, Minutes) -> TotalMinutes = mod(Mins + Minutes, ?MINUTES_PER_DAY), #?MODULE{normalized = TotalMinutes}. to_string(#?MODULE{normalized = Mins}) -> Hour = Mins div ?MINUTES_PER_HOUR, Minutes = Mins rem ?MINUTES_PER_HOUR, lists:flatten(io_lib:format("~2.10.0b:~2.10.0b", [Hour, Minutes])). test_version() -> 1. mod(X, Y) when X > 0 -> X rem Y; mod(X, Y) when X < 0 -> Y + X rem Y; mod(0, _Y) -> 0.
Version data entries
310 entries across 310 versions & 1 rubygems