_site/cover/scran_number_be.COVER.html

1 %% Copyright (c) 2023 Peter Morgan <peter.james.morgan@gmail.com>
2 %%
3 %% Licensed under the Apache License, Version 2.0 (the "License");
4 %% you may not use this file except in compliance with the License.
5 %% You may obtain a copy of the License at
6 %%
7 %% http://www.apache.org/licenses/LICENSE-2.0
8 %%
9 %% Unless required by applicable law or agreed to in writing, software
10 %% distributed under the License is distributed on an "AS IS" BASIS,
11 %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 %% See the License for the specific language governing permissions and
13 %% limitations under the License.
14
15
16 %% @doc Parser combinators that return numbers from big endian bytes.
17
18 -module(scran_number_be).
19
20
21 -define(ENDIAN, big).
22 -export([f/1]).
23 -export([f104/0]).
24 -export([f112/0]).
25 -export([f120/0]).
26 -export([f128/0]).
27 -export([f16/0]).
28 -export([f24/0]).
29 -export([f32/0]).
30 -export([f40/0]).
31 -export([f48/0]).
32 -export([f56/0]).
33 -export([f64/0]).
34 -export([f72/0]).
35 -export([f8/0]).
36 -export([f80/0]).
37 -export([f88/0]).
38 -export([f96/0]).
39 -export([i/1]).
40 -export([i104/0]).
41 -export([i112/0]).
42 -export([i120/0]).
43 -export([i128/0]).
44 -export([i16/0]).
45 -export([i24/0]).
46 -export([i32/0]).
47 -export([i40/0]).
48 -export([i48/0]).
49 -export([i56/0]).
50 -export([i64/0]).
51 -export([i72/0]).
52 -export([i8/0]).
53 -export([i80/0]).
54 -export([i88/0]).
55 -export([i96/0]).
56 -export([u/1]).
57 -export([u104/0]).
58 -export([u112/0]).
59 -export([u120/0]).
60 -export([u128/0]).
61 -export([u16/0]).
62 -export([u24/0]).
63 -export([u32/0]).
64 -export([u40/0]).
65 -export([u48/0]).
66 -export([u56/0]).
67 -export([u64/0]).
68 -export([u72/0]).
69 -export([u8/0]).
70 -export([u80/0]).
71 -export([u88/0]).
72 -export([u96/0]).
73
74
75 -spec i(scran_number:bit_size()) -> scran_number:iparser().
76
77 i(Size) ->
78 256 scran_number:i(?ENDIAN, Size).
79
80
81 -spec i8() -> scran_number:iparser().
82 -spec i16() -> scran_number:iparser().
83 -spec i24() -> scran_number:iparser().
84 -spec i32() -> scran_number:iparser().
85 -spec i40() -> scran_number:iparser().
86 -spec i48() -> scran_number:iparser().
87 -spec i56() -> scran_number:iparser().
88 -spec i64() -> scran_number:iparser().
89 -spec i72() -> scran_number:iparser().
90 -spec i80() -> scran_number:iparser().
91 -spec i88() -> scran_number:iparser().
92 -spec i96() -> scran_number:iparser().
93 -spec i104() -> scran_number:iparser().
94 -spec i112() -> scran_number:iparser().
95 -spec i120() -> scran_number:iparser().
96 -spec i128() -> scran_number:iparser().
97
98
99 8 i8() -> i(8).
100 8 i16() -> i(16).
101 8 i24() -> i(24).
102 8 i32() -> i(32).
103 8 i40() -> i(40).
104 8 i48() -> i(48).
105 8 i56() -> i(56).
106 8 i64() -> i(64).
107 8 i72() -> i(72).
108 8 i80() -> i(80).
109 8 i88() -> i(88).
110 8 i96() -> i(96).
111 8 i104() -> i(104).
112 8 i112() -> i(112).
113 8 i120() -> i(120).
114 8 i128() -> i(128).
115
116
117 -spec u8() -> scran_number:uparser().
118 -spec u16() -> scran_number:uparser().
119 -spec u24() -> scran_number:uparser().
120 -spec u32() -> scran_number:uparser().
121 -spec u40() -> scran_number:uparser().
122 -spec u48() -> scran_number:uparser().
123 -spec u56() -> scran_number:uparser().
124 -spec u64() -> scran_number:uparser().
125 -spec u72() -> scran_number:uparser().
126 -spec u80() -> scran_number:uparser().
127 -spec u88() -> scran_number:uparser().
128 -spec u96() -> scran_number:uparser().
129 -spec u104() -> scran_number:uparser().
130 -spec u112() -> scran_number:uparser().
131 -spec u120() -> scran_number:uparser().
132 -spec u128() -> scran_number:uparser().
133
134
135 -spec u(scran_number:bit_size()) -> scran_number:uparser().
136
137 u(Size) ->
138 220 scran_number:u(?ENDIAN, Size).
139
140
141 6 u8() -> u(8).
142 13 u16() -> u(16).
143 6 u24() -> u(24).
144 6 u32() -> u(32).
145 6 u40() -> u(40).
146 6 u48() -> u(48).
147 6 u56() -> u(56).
148 6 u64() -> u(64).
149 6 u72() -> u(72).
150 6 u80() -> u(80).
151 6 u88() -> u(88).
152 6 u96() -> u(96).
153 6 u104() -> u(104).
154 6 u112() -> u(112).
155 6 u120() -> u(120).
156 6 u128() -> u(128).
157
158
159 -spec f(scran_number:bit_size()) -> scran_number:fparser().
160
161 f(Size) ->
162
:-(
scran_number:f(?ENDIAN, Size).
163
164 -spec f8() -> scran_number:fparser().
165 -spec f16() -> scran_number:fparser().
166 -spec f24() -> scran_number:fparser().
167 -spec f32() -> scran_number:fparser().
168 -spec f40() -> scran_number:fparser().
169 -spec f48() -> scran_number:fparser().
170 -spec f56() -> scran_number:fparser().
171 -spec f64() -> scran_number:fparser().
172 -spec f72() -> scran_number:fparser().
173 -spec f80() -> scran_number:fparser().
174 -spec f88() -> scran_number:fparser().
175 -spec f96() -> scran_number:fparser().
176 -spec f104() -> scran_number:fparser().
177 -spec f112() -> scran_number:fparser().
178 -spec f120() -> scran_number:fparser().
179 -spec f128() -> scran_number:fparser().
180
181
182
:-(
f8() -> f(8).
183
:-(
f16() -> f(16).
184
:-(
f24() -> f(24).
185
:-(
f32() -> f(32).
186
:-(
f40() -> f(40).
187
:-(
f48() -> f(48).
188
:-(
f56() -> f(56).
189
:-(
f64() -> f(64).
190
:-(
f72() -> f(72).
191
:-(
f80() -> f(80).
192
:-(
f88() -> f(88).
193
:-(
f96() -> f(96).
194
:-(
f104() -> f(104).
195
:-(
f112() -> f(112).
196
:-(
f120() -> f(120).
197
:-(
f128() -> f(128).
Line Hits Source