@@ -37,7 +37,7 @@ new(P) ->
3737
3838-spec new (precision (), module ()) -> filter ().
3939new (P , Mod ) when 4 =< P andalso P =< 16 andalso is_atom (Mod ) ->
40- # hyper {p = P , registers = {Mod , Mod :new (P )}}.
40+ # hyper {p = P , registers = {Mod , hyper_register :new (Mod , P )}}.
4141
4242-spec is_hyper (filter ()) -> boolean ().
4343is_hyper (# hyper {}) -> true ;
@@ -53,7 +53,7 @@ insert(Value, #hyper{registers = {Mod, Registers}, p = P} = Hyper)
5353 ZeroCount = run_of_zeroes (RegisterValue ) + 1 ,
5454
5555 % % Registers are only allowed to increase, implement by backend
56- Hyper # hyper {registers = {Mod , Mod :set (Index , ZeroCount , Registers )}};
56+ Hyper # hyper {registers = {Mod , hyper_register :set (Mod , Index , ZeroCount , Registers )}};
5757
5858insert (_Value , _Hyper ) ->
5959 error (badarg ).
@@ -76,7 +76,7 @@ union(Filters) when is_list(Filters) ->
7676 end , Filters ),
7777
7878 [First | _ ] = Filters ,
79- First # hyper {registers = {Mod , Mod :max_merge (Registers )}};
79+ First # hyper {registers = {Mod , hyper_register :max_merge (Mod , Registers )}};
8080
8181 % % mixed P, but still must have same backend
8282 [{MinP , Mod } | _ ] ->
@@ -103,17 +103,17 @@ intersect_card(Left, Right) when Left#hyper.p =:= Right#hyper.p ->
103103-spec card (filter ()) -> float ().
104104card (# hyper {registers = {Mod , Registers0 }, p = P }) ->
105105 M = trunc (pow (2 , P )),
106- Registers = Mod :compact (Registers0 ),
106+ Registers = hyper_register :compact (Mod , Registers0 ),
107107
108- RegisterSum = Mod :register_sum (Registers ),
108+ RegisterSum = hyper_register :register_sum (Mod , Registers ),
109109
110110 E = alpha (M ) * pow (M , 2 ) / RegisterSum ,
111111 Ep = case E =< 5 * M of
112112 true -> E - estimate_bias (E , P );
113113 false -> E
114114 end ,
115115
116- V = Mod :zero_count (Registers ),
116+ V = hyper_register :zero_count (Mod , Registers ),
117117
118118 H = case V of
119119 0 ->
@@ -133,14 +133,14 @@ precision(#hyper{p = Precision}) ->
133133 Precision .
134134
135135bytes (# hyper {registers = {Mod , Registers }}) ->
136- Mod :bytes (Registers ).
136+ hyper_register :bytes (Mod , Registers ).
137137
138138compact (# hyper {registers = {Mod , Registers }} = Hyper ) ->
139- Hyper # hyper {registers = {Mod , Mod :compact (Registers )}}.
139+ Hyper # hyper {registers = {Mod , hyper_register :compact (Mod , Registers )}}.
140140
141141reduce_precision (P , # hyper {p = OldP , registers = {Mod , Registers }} = Hyper )
142142 when P < OldP ->
143- Hyper # hyper {p = P , registers = {Mod , Mod :reduce_precision (P , Registers )}};
143+ Hyper # hyper {p = P , registers = {Mod , hyper_register :reduce_precision (Mod , P , Registers )}};
144144reduce_precision (P , # hyper {p = P } = Filter ) ->
145145 Filter .
146146
@@ -150,12 +150,12 @@ reduce_precision(P, #hyper{p = P} = Filter) ->
150150
151151-spec to_json (filter ()) -> any ().
152152to_json (# hyper {p = P , registers = {Mod , Registers }}) ->
153- Compact = Mod :compact (Registers ),
153+ Compact = hyper_register :compact (Mod , Registers ),
154154 {[
155155 {<<" p" >>, P },
156156 {<<" registers" >>, base64 :encode (
157157 zlib :gzip (
158- Mod :encode_registers (Compact )))}
158+ hyper_register :encode_registers (Mod , Compact )))}
159159 ]}.
160160
161161-spec from_json (any ()) -> filter ().
@@ -168,7 +168,7 @@ from_json({Struct}, Mod) ->
168168 Bytes = zlib :gunzip (
169169 base64 :decode (
170170 proplists :get_value (<<" registers" >>, Struct ))),
171- Registers = Mod :decode_registers (Bytes , P ),
171+ Registers = hyper_register :decode_registers (Mod , Bytes , P ),
172172
173173 # hyper {p = P , registers = {Mod , Registers }}.
174174
@@ -354,7 +354,7 @@ perf_report() ->
354354 Filter = insert_many (generate_unique (Card ), new (P , Mod )),
355355
356356 {Mod , Registers } = Filter # hyper .registers ,
357- Bytes = Mod :encode_registers (Registers ),
357+ Bytes = hyper_register :encode_registers (Mod , Registers ),
358358 Filled = lists :filter (fun (I ) -> binary :at (Bytes , I ) =/= 0 end ,
359359 lists :seq (0 , M - 1 )),
360360
0 commit comments