fastcrc 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +10 -0
- data/Cargo.lock +339 -0
- data/Cargo.toml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +304 -0
- data/Rakefile +34 -0
- data/benchmark/digest_crc.rb +88 -0
- data/ext/fastcrc/Cargo.toml +13 -0
- data/ext/fastcrc/extconf.rb +6 -0
- data/ext/fastcrc/src/lib.rs +477 -0
- data/lib/fastcrc/version.rb +5 -0
- data/lib/fastcrc.rb +8 -0
- data/mise.lock +37 -0
- data/mise.toml +3 -0
- data/sig/fastcrc.rbs +294 -0
- metadata +73 -0
data/sig/fastcrc.rbs
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
module FastCRC
|
|
2
|
+
VERSION: String
|
|
3
|
+
|
|
4
|
+
class Error < StandardError
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
class CRC16
|
|
8
|
+
WIDTH: Integer
|
|
9
|
+
CHECK: Integer
|
|
10
|
+
NAME: String
|
|
11
|
+
def self.new: () -> CRC16
|
|
12
|
+
def self.checksum: (String data) -> Integer
|
|
13
|
+
def self.hexdigest: (String data) -> String
|
|
14
|
+
def update: (String data) -> void
|
|
15
|
+
def checksum: () -> Integer
|
|
16
|
+
def hexdigest: () -> String
|
|
17
|
+
def reset: () -> void
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class CRC16CCITT
|
|
21
|
+
WIDTH: Integer
|
|
22
|
+
CHECK: Integer
|
|
23
|
+
NAME: String
|
|
24
|
+
def self.new: () -> CRC16CCITT
|
|
25
|
+
def self.checksum: (String data) -> Integer
|
|
26
|
+
def self.hexdigest: (String data) -> String
|
|
27
|
+
def update: (String data) -> void
|
|
28
|
+
def checksum: () -> Integer
|
|
29
|
+
def hexdigest: () -> String
|
|
30
|
+
def reset: () -> void
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class CRC16DNP
|
|
34
|
+
WIDTH: Integer
|
|
35
|
+
CHECK: Integer
|
|
36
|
+
NAME: String
|
|
37
|
+
def self.new: () -> CRC16DNP
|
|
38
|
+
def self.checksum: (String data) -> Integer
|
|
39
|
+
def self.hexdigest: (String data) -> String
|
|
40
|
+
def update: (String data) -> void
|
|
41
|
+
def checksum: () -> Integer
|
|
42
|
+
def hexdigest: () -> String
|
|
43
|
+
def reset: () -> void
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
class CRC16Genibus
|
|
47
|
+
WIDTH: Integer
|
|
48
|
+
CHECK: Integer
|
|
49
|
+
NAME: String
|
|
50
|
+
def self.new: () -> CRC16Genibus
|
|
51
|
+
def self.checksum: (String data) -> Integer
|
|
52
|
+
def self.hexdigest: (String data) -> String
|
|
53
|
+
def update: (String data) -> void
|
|
54
|
+
def checksum: () -> Integer
|
|
55
|
+
def hexdigest: () -> String
|
|
56
|
+
def reset: () -> void
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
class CRC16Kermit
|
|
60
|
+
WIDTH: Integer
|
|
61
|
+
CHECK: Integer
|
|
62
|
+
NAME: String
|
|
63
|
+
def self.new: () -> CRC16Kermit
|
|
64
|
+
def self.checksum: (String data) -> Integer
|
|
65
|
+
def self.hexdigest: (String data) -> String
|
|
66
|
+
def update: (String data) -> void
|
|
67
|
+
def checksum: () -> Integer
|
|
68
|
+
def hexdigest: () -> String
|
|
69
|
+
def reset: () -> void
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
class CRC16Modbus
|
|
73
|
+
WIDTH: Integer
|
|
74
|
+
CHECK: Integer
|
|
75
|
+
NAME: String
|
|
76
|
+
def self.new: () -> CRC16Modbus
|
|
77
|
+
def self.checksum: (String data) -> Integer
|
|
78
|
+
def self.hexdigest: (String data) -> String
|
|
79
|
+
def update: (String data) -> void
|
|
80
|
+
def checksum: () -> Integer
|
|
81
|
+
def hexdigest: () -> String
|
|
82
|
+
def reset: () -> void
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
class CRC16QT
|
|
86
|
+
WIDTH: Integer
|
|
87
|
+
CHECK: Integer
|
|
88
|
+
NAME: String
|
|
89
|
+
def self.new: () -> CRC16QT
|
|
90
|
+
def self.checksum: (String data) -> Integer
|
|
91
|
+
def self.hexdigest: (String data) -> String
|
|
92
|
+
def update: (String data) -> void
|
|
93
|
+
def checksum: () -> Integer
|
|
94
|
+
def hexdigest: () -> String
|
|
95
|
+
def reset: () -> void
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
class CRC16USB
|
|
99
|
+
WIDTH: Integer
|
|
100
|
+
CHECK: Integer
|
|
101
|
+
NAME: String
|
|
102
|
+
def self.new: () -> CRC16USB
|
|
103
|
+
def self.checksum: (String data) -> Integer
|
|
104
|
+
def self.hexdigest: (String data) -> String
|
|
105
|
+
def update: (String data) -> void
|
|
106
|
+
def checksum: () -> Integer
|
|
107
|
+
def hexdigest: () -> String
|
|
108
|
+
def reset: () -> void
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
class CRC16X25
|
|
112
|
+
WIDTH: Integer
|
|
113
|
+
CHECK: Integer
|
|
114
|
+
NAME: String
|
|
115
|
+
def self.new: () -> CRC16X25
|
|
116
|
+
def self.checksum: (String data) -> Integer
|
|
117
|
+
def self.hexdigest: (String data) -> String
|
|
118
|
+
def update: (String data) -> void
|
|
119
|
+
def checksum: () -> Integer
|
|
120
|
+
def hexdigest: () -> String
|
|
121
|
+
def reset: () -> void
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
class CRC16XModem
|
|
125
|
+
WIDTH: Integer
|
|
126
|
+
CHECK: Integer
|
|
127
|
+
NAME: String
|
|
128
|
+
def self.new: () -> CRC16XModem
|
|
129
|
+
def self.checksum: (String data) -> Integer
|
|
130
|
+
def self.hexdigest: (String data) -> String
|
|
131
|
+
def update: (String data) -> void
|
|
132
|
+
def checksum: () -> Integer
|
|
133
|
+
def hexdigest: () -> String
|
|
134
|
+
def reset: () -> void
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
class CRC16ZModem
|
|
138
|
+
WIDTH: Integer
|
|
139
|
+
CHECK: Integer
|
|
140
|
+
NAME: String
|
|
141
|
+
def self.new: () -> CRC16ZModem
|
|
142
|
+
def self.checksum: (String data) -> Integer
|
|
143
|
+
def self.hexdigest: (String data) -> String
|
|
144
|
+
def update: (String data) -> void
|
|
145
|
+
def checksum: () -> Integer
|
|
146
|
+
def hexdigest: () -> String
|
|
147
|
+
def reset: () -> void
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
class CRC32
|
|
151
|
+
WIDTH: Integer
|
|
152
|
+
CHECK: Integer
|
|
153
|
+
NAME: String
|
|
154
|
+
def self.new: () -> CRC32
|
|
155
|
+
def self.checksum: (String data) -> Integer
|
|
156
|
+
def self.hexdigest: (String data) -> String
|
|
157
|
+
def update: (String data) -> void
|
|
158
|
+
def checksum: () -> Integer
|
|
159
|
+
def hexdigest: () -> String
|
|
160
|
+
def reset: () -> void
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
class CRC32BZip2
|
|
164
|
+
WIDTH: Integer
|
|
165
|
+
CHECK: Integer
|
|
166
|
+
NAME: String
|
|
167
|
+
def self.new: () -> CRC32BZip2
|
|
168
|
+
def self.checksum: (String data) -> Integer
|
|
169
|
+
def self.hexdigest: (String data) -> String
|
|
170
|
+
def update: (String data) -> void
|
|
171
|
+
def checksum: () -> Integer
|
|
172
|
+
def hexdigest: () -> String
|
|
173
|
+
def reset: () -> void
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
class CRC32c
|
|
177
|
+
WIDTH: Integer
|
|
178
|
+
CHECK: Integer
|
|
179
|
+
NAME: String
|
|
180
|
+
def self.new: () -> CRC32c
|
|
181
|
+
def self.checksum: (String data) -> Integer
|
|
182
|
+
def self.hexdigest: (String data) -> String
|
|
183
|
+
def update: (String data) -> void
|
|
184
|
+
def checksum: () -> Integer
|
|
185
|
+
def hexdigest: () -> String
|
|
186
|
+
def reset: () -> void
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
class CRC32Jam
|
|
190
|
+
WIDTH: Integer
|
|
191
|
+
CHECK: Integer
|
|
192
|
+
NAME: String
|
|
193
|
+
def self.new: () -> CRC32Jam
|
|
194
|
+
def self.checksum: (String data) -> Integer
|
|
195
|
+
def self.hexdigest: (String data) -> String
|
|
196
|
+
def update: (String data) -> void
|
|
197
|
+
def checksum: () -> Integer
|
|
198
|
+
def hexdigest: () -> String
|
|
199
|
+
def reset: () -> void
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
class CRC32MPEG
|
|
203
|
+
WIDTH: Integer
|
|
204
|
+
CHECK: Integer
|
|
205
|
+
NAME: String
|
|
206
|
+
def self.new: () -> CRC32MPEG
|
|
207
|
+
def self.checksum: (String data) -> Integer
|
|
208
|
+
def self.hexdigest: (String data) -> String
|
|
209
|
+
def update: (String data) -> void
|
|
210
|
+
def checksum: () -> Integer
|
|
211
|
+
def hexdigest: () -> String
|
|
212
|
+
def reset: () -> void
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
CRC32Mpeg: singleton(CRC32MPEG)
|
|
216
|
+
|
|
217
|
+
class CRC32POSIX
|
|
218
|
+
WIDTH: Integer
|
|
219
|
+
CHECK: Integer
|
|
220
|
+
NAME: String
|
|
221
|
+
def self.new: () -> CRC32POSIX
|
|
222
|
+
def self.checksum: (String data) -> Integer
|
|
223
|
+
def self.hexdigest: (String data) -> String
|
|
224
|
+
def update: (String data) -> void
|
|
225
|
+
def checksum: () -> Integer
|
|
226
|
+
def hexdigest: () -> String
|
|
227
|
+
def reset: () -> void
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
class CRC32XFER
|
|
231
|
+
WIDTH: Integer
|
|
232
|
+
CHECK: Integer
|
|
233
|
+
NAME: String
|
|
234
|
+
def self.new: () -> CRC32XFER
|
|
235
|
+
def self.checksum: (String data) -> Integer
|
|
236
|
+
def self.hexdigest: (String data) -> String
|
|
237
|
+
def update: (String data) -> void
|
|
238
|
+
def checksum: () -> Integer
|
|
239
|
+
def hexdigest: () -> String
|
|
240
|
+
def reset: () -> void
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
class CRC64
|
|
244
|
+
WIDTH: Integer
|
|
245
|
+
CHECK: Integer
|
|
246
|
+
NAME: String
|
|
247
|
+
def self.new: () -> CRC64
|
|
248
|
+
def self.checksum: (String data) -> Integer
|
|
249
|
+
def self.hexdigest: (String data) -> String
|
|
250
|
+
def update: (String data) -> void
|
|
251
|
+
def checksum: () -> Integer
|
|
252
|
+
def hexdigest: () -> String
|
|
253
|
+
def reset: () -> void
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
class CRC64Jones
|
|
257
|
+
WIDTH: Integer
|
|
258
|
+
CHECK: Integer
|
|
259
|
+
NAME: String
|
|
260
|
+
def self.new: () -> CRC64Jones
|
|
261
|
+
def self.checksum: (String data) -> Integer
|
|
262
|
+
def self.hexdigest: (String data) -> String
|
|
263
|
+
def update: (String data) -> void
|
|
264
|
+
def checksum: () -> Integer
|
|
265
|
+
def hexdigest: () -> String
|
|
266
|
+
def reset: () -> void
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
class CRC64NVMe
|
|
270
|
+
WIDTH: Integer
|
|
271
|
+
CHECK: Integer
|
|
272
|
+
NAME: String
|
|
273
|
+
def self.new: () -> CRC64NVMe
|
|
274
|
+
def self.checksum: (String data) -> Integer
|
|
275
|
+
def self.hexdigest: (String data) -> String
|
|
276
|
+
def update: (String data) -> void
|
|
277
|
+
def checksum: () -> Integer
|
|
278
|
+
def hexdigest: () -> String
|
|
279
|
+
def reset: () -> void
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
class CRC64XZ
|
|
283
|
+
WIDTH: Integer
|
|
284
|
+
CHECK: Integer
|
|
285
|
+
NAME: String
|
|
286
|
+
def self.new: () -> CRC64XZ
|
|
287
|
+
def self.checksum: (String data) -> Integer
|
|
288
|
+
def self.hexdigest: (String data) -> String
|
|
289
|
+
def update: (String data) -> void
|
|
290
|
+
def checksum: () -> Integer
|
|
291
|
+
def hexdigest: () -> String
|
|
292
|
+
def reset: () -> void
|
|
293
|
+
end
|
|
294
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: fastcrc
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Yet Another AI
|
|
8
|
+
bindir: exe
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: rb_sys
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 0.9.91
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: 0.9.91
|
|
26
|
+
description: Fast CRC checksum for Ruby using crc-fast via Magnus/Rust bindings.
|
|
27
|
+
email:
|
|
28
|
+
- rubygems@yetanother.ai
|
|
29
|
+
executables: []
|
|
30
|
+
extensions:
|
|
31
|
+
- ext/fastcrc/extconf.rb
|
|
32
|
+
extra_rdoc_files: []
|
|
33
|
+
files:
|
|
34
|
+
- CHANGELOG.md
|
|
35
|
+
- CODE_OF_CONDUCT.md
|
|
36
|
+
- Cargo.lock
|
|
37
|
+
- Cargo.toml
|
|
38
|
+
- LICENSE.txt
|
|
39
|
+
- README.md
|
|
40
|
+
- Rakefile
|
|
41
|
+
- benchmark/digest_crc.rb
|
|
42
|
+
- ext/fastcrc/Cargo.toml
|
|
43
|
+
- ext/fastcrc/extconf.rb
|
|
44
|
+
- ext/fastcrc/src/lib.rs
|
|
45
|
+
- lib/fastcrc.rb
|
|
46
|
+
- lib/fastcrc/version.rb
|
|
47
|
+
- mise.lock
|
|
48
|
+
- mise.toml
|
|
49
|
+
- sig/fastcrc.rbs
|
|
50
|
+
homepage: https://github.com/dsh0416/yet-another-ai/fastcrc
|
|
51
|
+
licenses:
|
|
52
|
+
- MIT
|
|
53
|
+
metadata:
|
|
54
|
+
homepage_uri: https://github.com/dsh0416/yet-another-ai/fastcrc
|
|
55
|
+
source_code_uri: https://github.com/dsh0416/yet-another-ai/fastcrc
|
|
56
|
+
rdoc_options: []
|
|
57
|
+
require_paths:
|
|
58
|
+
- lib
|
|
59
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
|
+
requirements:
|
|
61
|
+
- - ">="
|
|
62
|
+
- !ruby/object:Gem::Version
|
|
63
|
+
version: 3.2.0
|
|
64
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 3.3.11
|
|
69
|
+
requirements: []
|
|
70
|
+
rubygems_version: 4.0.10
|
|
71
|
+
specification_version: 4
|
|
72
|
+
summary: Fast CRC checksum computation for Ruby, backed by Rust SIMD-accelerated implementations.
|
|
73
|
+
test_files: []
|