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 little endian bytes. |
17 |
|
|
18 |
|
-module(scran_number_le). |
19 |
|
|
20 |
|
|
21 |
|
-define(ENDIAN, little). |
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 |
|
-spec i8() -> scran_number:iparser(). |
81 |
|
-spec i16() -> scran_number:iparser(). |
82 |
|
-spec i24() -> scran_number:iparser(). |
83 |
|
-spec i32() -> scran_number:iparser(). |
84 |
|
-spec i40() -> scran_number:iparser(). |
85 |
|
-spec i48() -> scran_number:iparser(). |
86 |
|
-spec i56() -> scran_number:iparser(). |
87 |
|
-spec i64() -> scran_number:iparser(). |
88 |
|
-spec i72() -> scran_number:iparser(). |
89 |
|
-spec i80() -> scran_number:iparser(). |
90 |
|
-spec i88() -> scran_number:iparser(). |
91 |
|
-spec i96() -> scran_number:iparser(). |
92 |
|
-spec i104() -> scran_number:iparser(). |
93 |
|
-spec i112() -> scran_number:iparser(). |
94 |
|
-spec i120() -> scran_number:iparser(). |
95 |
|
-spec i128() -> scran_number:iparser(). |
96 |
|
|
97 |
|
|
98 |
8 |
i8() -> i(8). |
99 |
8 |
i16() -> i(16). |
100 |
8 |
i24() -> i(24). |
101 |
8 |
i32() -> i(32). |
102 |
8 |
i40() -> i(40). |
103 |
8 |
i48() -> i(48). |
104 |
8 |
i56() -> i(56). |
105 |
8 |
i64() -> i(64). |
106 |
8 |
i72() -> i(72). |
107 |
8 |
i80() -> i(80). |
108 |
8 |
i88() -> i(88). |
109 |
8 |
i96() -> i(96). |
110 |
8 |
i104() -> i(104). |
111 |
8 |
i112() -> i(112). |
112 |
8 |
i120() -> i(120). |
113 |
8 |
i128() -> i(128). |
114 |
|
|
115 |
|
|
116 |
|
-spec u(scran_number:bit_size()) -> scran_number:uparser(). |
117 |
|
|
118 |
|
u(Size) -> |
119 |
192 |
scran_number:u(?ENDIAN, Size). |
120 |
|
|
121 |
|
|
122 |
|
-spec u8() -> scran_number:uparser(). |
123 |
|
-spec u16() -> scran_number:uparser(). |
124 |
|
-spec u24() -> scran_number:uparser(). |
125 |
|
-spec u32() -> scran_number:uparser(). |
126 |
|
-spec u40() -> scran_number:uparser(). |
127 |
|
-spec u48() -> scran_number:uparser(). |
128 |
|
-spec u56() -> scran_number:uparser(). |
129 |
|
-spec u64() -> scran_number:uparser(). |
130 |
|
-spec u72() -> scran_number:uparser(). |
131 |
|
-spec u80() -> scran_number:uparser(). |
132 |
|
-spec u88() -> scran_number:uparser(). |
133 |
|
-spec u96() -> scran_number:uparser(). |
134 |
|
-spec u104() -> scran_number:uparser(). |
135 |
|
-spec u112() -> scran_number:uparser(). |
136 |
|
-spec u120() -> scran_number:uparser(). |
137 |
|
-spec u128() -> scran_number:uparser(). |
138 |
|
|
139 |
|
|
140 |
6 |
u8() -> u(8). |
141 |
6 |
u16() -> u(16). |
142 |
6 |
u24() -> u(24). |
143 |
6 |
u32() -> u(32). |
144 |
6 |
u40() -> u(40). |
145 |
6 |
u48() -> u(48). |
146 |
6 |
u56() -> u(56). |
147 |
6 |
u64() -> u(64). |
148 |
6 |
u72() -> u(72). |
149 |
6 |
u80() -> u(80). |
150 |
6 |
u88() -> u(88). |
151 |
6 |
u96() -> u(96). |
152 |
6 |
u104() -> u(104). |
153 |
6 |
u112() -> u(112). |
154 |
6 |
u120() -> u(120). |
155 |
6 |
u128() -> u(128). |
156 |
|
|
157 |
|
|
158 |
|
-spec f(scran_number:bit_size()) -> scran_number:fparser(). |
159 |
|
|
160 |
|
f(Size) -> |
161 |
:-( |
scran_number:f(?ENDIAN, Size). |
162 |
|
|
163 |
|
-spec f8() -> scran_number:fparser(). |
164 |
|
-spec f16() -> scran_number:fparser(). |
165 |
|
-spec f24() -> scran_number:fparser(). |
166 |
|
-spec f32() -> scran_number:fparser(). |
167 |
|
-spec f40() -> scran_number:fparser(). |
168 |
|
-spec f48() -> scran_number:fparser(). |
169 |
|
-spec f56() -> scran_number:fparser(). |
170 |
|
-spec f64() -> scran_number:fparser(). |
171 |
|
-spec f72() -> scran_number:fparser(). |
172 |
|
-spec f80() -> scran_number:fparser(). |
173 |
|
-spec f88() -> scran_number:fparser(). |
174 |
|
-spec f96() -> scran_number:fparser(). |
175 |
|
-spec f104() -> scran_number:fparser(). |
176 |
|
-spec f112() -> scran_number:fparser(). |
177 |
|
-spec f120() -> scran_number:fparser(). |
178 |
|
-spec f128() -> scran_number:fparser(). |
179 |
|
|
180 |
|
|
181 |
:-( |
f8() -> f(8). |
182 |
:-( |
f16() -> f(16). |
183 |
:-( |
f24() -> f(24). |
184 |
:-( |
f32() -> f(32). |
185 |
:-( |
f40() -> f(40). |
186 |
:-( |
f48() -> f(48). |
187 |
:-( |
f56() -> f(56). |
188 |
:-( |
f64() -> f(64). |
189 |
:-( |
f72() -> f(72). |
190 |
:-( |
f80() -> f(80). |
191 |
:-( |
f88() -> f(88). |
192 |
:-( |
f96() -> f(96). |
193 |
:-( |
f104() -> f(104). |
194 |
:-( |
f112() -> f(112). |
195 |
:-( |
f120() -> f(120). |
196 |
:-( |
f128() -> f(128). |