Packages
dqe
0.4.2
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.2.2
0.2.1
0.2.0
0.1.36
0.1.35
0.1.34
0.1.33
0.1.22
0.1.21
0.1.20
0.1.10
0.1.9
DalmatinerDB query engine
Current section
Files
Jump to
Current section
Files
src/dqe_first_below_conf_aggr.erl
-module(dqe_first_below_conf_aggr).
-behaviour(dqe_fun).
-include_lib("mmath/include/mmath.hrl").
-export([spec/0, describe/1, init/1, chunk/1, resolution/2, run/2, help/0]).
-record(state, {
time :: pos_integer(),
first :: pos_integer(),
const :: number()
}).
init([Const, Time]) when is_integer(Const) ->
#state{const = Const*1.0,
time = Time};
init([Const, Time]) when is_float(Const) ->
#state{const = Const,
time = Time}.
chunk(#state{time = Time}) ->
Time * ?RDATA_SIZE.
resolution(Resolution, State = #state{time = Time}) ->
Res = dqe_time:apply_times(Time, Resolution),
{Res, State#state{first = Res}}.
describe(#state{const = Const, time = Time})->
["first_below_conf(", float_to_list(Const), ", ", integer_to_list(Time), ",s)"].
spec() ->
[{<<"first_below_conf">>, [metric, integer, time], none, metric},
{<<"first_below_conf">>, [metric, float, time], none, metric}].
run([Data], S = #state{const = Const, first = First}) ->
{mmath_aggr:first_below_conf(Data, Const, First), S}.
help() ->
<<"Returns the first value below a given confidence threashold.">>.