-module(blah@time). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([in_interval/2, symmetric/1, past/2, future/2]). -spec in_interval(birl:time(), birl:time()) -> birl:time(). in_interval(From, To) -> Unix_from = birl:to_unix(From), Unix_to = birl:to_unix(To), _pipe = blah@utils:get_random_int(Unix_from, Unix_to), birl:from_unix(_pipe). -spec symmetric(birl@duration:duration()) -> birl:time(). symmetric(Distance) -> Now = birl:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl:subtract(_pipe, Distance), birl:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl:add(_pipe@2, Distance), birl:to_unix(_pipe@3) end, _pipe@4 = blah@utils:get_random_int(Unix_from, Unix_to), birl:from_unix(_pipe@4). -spec past(birl@duration:duration(), birl@duration:duration()) -> birl:time(). past(Min_distance, Max_distance) -> Now = birl:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl:subtract(_pipe, Max_distance), birl:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl:subtract(_pipe@2, Min_distance), birl:to_unix(_pipe@3) end, _pipe@4 = blah@utils:get_random_int(Unix_from, Unix_to), birl:from_unix(_pipe@4). -spec future(birl@duration:duration(), birl@duration:duration()) -> birl:time(). future(Min_distance, Max_distance) -> Now = birl:now(), Unix_from = begin _pipe = Now, _pipe@1 = birl:add(_pipe, Min_distance), birl:to_unix(_pipe@1) end, Unix_to = begin _pipe@2 = Now, _pipe@3 = birl:add(_pipe@2, Max_distance), birl:to_unix(_pipe@3) end, _pipe@4 = blah@utils:get_random_int(Unix_from, Unix_to), birl:from_unix(_pipe@4).