ob64 0.4.0 → 0.5.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/lib/ob64/version.rb +1 -1
- data/ob64.gemspec +2 -0
- data/vendor/libbase64/.gitignore +12 -0
- data/vendor/libbase64/.travis.yml +71 -0
- data/vendor/libbase64/CMakeLists.txt +264 -0
- data/vendor/libbase64/LICENSE +28 -0
- data/vendor/libbase64/Makefile +93 -0
- data/vendor/libbase64/README.md +474 -0
- data/vendor/libbase64/base64-benchmarks.png +0 -0
- data/vendor/libbase64/bin/base64.c +132 -0
- data/vendor/libbase64/cmake/Modules/TargetArch.cmake +29 -0
- data/vendor/libbase64/cmake/Modules/TargetSIMDInstructionSet.cmake +34 -0
- data/vendor/libbase64/cmake/base64-config.cmake.in +5 -0
- data/vendor/libbase64/cmake/config.h.in +25 -0
- data/vendor/libbase64/cmake/test-arch.c +35 -0
- data/vendor/libbase64/include/libbase64.h +145 -0
- data/vendor/libbase64/lib/arch/avx/codec.c +42 -0
- data/vendor/libbase64/lib/arch/avx2/codec.c +42 -0
- data/vendor/libbase64/lib/arch/avx2/dec_loop.c +110 -0
- data/vendor/libbase64/lib/arch/avx2/dec_reshuffle.c +34 -0
- data/vendor/libbase64/lib/arch/avx2/enc_loop.c +89 -0
- data/vendor/libbase64/lib/arch/avx2/enc_reshuffle.c +83 -0
- data/vendor/libbase64/lib/arch/avx2/enc_translate.c +30 -0
- data/vendor/libbase64/lib/arch/generic/32/dec_loop.c +86 -0
- data/vendor/libbase64/lib/arch/generic/32/enc_loop.c +73 -0
- data/vendor/libbase64/lib/arch/generic/64/enc_loop.c +77 -0
- data/vendor/libbase64/lib/arch/generic/codec.c +39 -0
- data/vendor/libbase64/lib/arch/generic/dec_head.c +37 -0
- data/vendor/libbase64/lib/arch/generic/dec_tail.c +91 -0
- data/vendor/libbase64/lib/arch/generic/enc_head.c +24 -0
- data/vendor/libbase64/lib/arch/generic/enc_tail.c +34 -0
- data/vendor/libbase64/lib/arch/neon32/codec.c +72 -0
- data/vendor/libbase64/lib/arch/neon32/dec_loop.c +106 -0
- data/vendor/libbase64/lib/arch/neon32/enc_loop.c +58 -0
- data/vendor/libbase64/lib/arch/neon32/enc_reshuffle.c +54 -0
- data/vendor/libbase64/lib/arch/neon32/enc_translate.c +57 -0
- data/vendor/libbase64/lib/arch/neon64/codec.c +70 -0
- data/vendor/libbase64/lib/arch/neon64/dec_loop.c +129 -0
- data/vendor/libbase64/lib/arch/neon64/enc_loop.c +66 -0
- data/vendor/libbase64/lib/arch/neon64/enc_reshuffle.c +54 -0
- data/vendor/libbase64/lib/arch/sse41/codec.c +42 -0
- data/vendor/libbase64/lib/arch/sse42/codec.c +42 -0
- data/vendor/libbase64/lib/arch/ssse3/codec.c +42 -0
- data/vendor/libbase64/lib/arch/ssse3/dec_loop.c +173 -0
- data/vendor/libbase64/lib/arch/ssse3/dec_reshuffle.c +33 -0
- data/vendor/libbase64/lib/arch/ssse3/enc_loop.c +67 -0
- data/vendor/libbase64/lib/arch/ssse3/enc_reshuffle.c +48 -0
- data/vendor/libbase64/lib/arch/ssse3/enc_translate.c +33 -0
- data/vendor/libbase64/lib/codec_choose.c +281 -0
- data/vendor/libbase64/lib/codecs.h +65 -0
- data/vendor/libbase64/lib/env.h +67 -0
- data/vendor/libbase64/lib/exports.txt +7 -0
- data/vendor/libbase64/lib/lib.c +164 -0
- data/vendor/libbase64/lib/lib_openmp.c +149 -0
- data/vendor/libbase64/lib/tables/.gitignore +1 -0
- data/vendor/libbase64/lib/tables/Makefile +17 -0
- data/vendor/libbase64/lib/tables/table_dec_32bit.h +393 -0
- data/vendor/libbase64/lib/tables/table_enc_12bit.h +1031 -0
- data/vendor/libbase64/lib/tables/table_enc_12bit.py +45 -0
- data/vendor/libbase64/lib/tables/table_generator.c +184 -0
- data/vendor/libbase64/lib/tables/tables.c +40 -0
- data/vendor/libbase64/lib/tables/tables.h +23 -0
- metadata +64 -4
@@ -0,0 +1,45 @@
|
|
1
|
+
#!/usr/bin/python3
|
2
|
+
|
3
|
+
def tr(x):
|
4
|
+
"""Translate a 6-bit value to the Base64 alphabet."""
|
5
|
+
s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' \
|
6
|
+
+ 'abcdefghijklmnopqrstuvwxyz' \
|
7
|
+
+ '0123456789' \
|
8
|
+
+ '+/'
|
9
|
+
return ord(s[x])
|
10
|
+
|
11
|
+
def table(fn):
|
12
|
+
"""Generate a 12-bit lookup table."""
|
13
|
+
ret = []
|
14
|
+
for n in range(0, 2**12):
|
15
|
+
pre = "\n\t" if n % 8 == 0 else " "
|
16
|
+
pre = "\t" if n == 0 else pre
|
17
|
+
ret.append("{}0x{:04X}U,".format(pre, fn(n)))
|
18
|
+
return "".join(ret)
|
19
|
+
|
20
|
+
def table_be():
|
21
|
+
"""Generate a 12-bit big-endian lookup table."""
|
22
|
+
return table(lambda n: (tr(n & 0x3F) << 0) | (tr(n >> 6) << 8))
|
23
|
+
|
24
|
+
def table_le():
|
25
|
+
"""Generate a 12-bit little-endian lookup table."""
|
26
|
+
return table(lambda n: (tr(n >> 6) << 0) | (tr(n & 0x3F) << 8))
|
27
|
+
|
28
|
+
def main():
|
29
|
+
"""Entry point."""
|
30
|
+
lines = [
|
31
|
+
"#include <stdint.h>",
|
32
|
+
"",
|
33
|
+
"const uint16_t base64_table_enc_12bit[] = {",
|
34
|
+
"#if BASE64_LITTLE_ENDIAN",
|
35
|
+
table_le(),
|
36
|
+
"#else",
|
37
|
+
table_be(),
|
38
|
+
"#endif",
|
39
|
+
"};"
|
40
|
+
]
|
41
|
+
for line in lines:
|
42
|
+
print(line)
|
43
|
+
|
44
|
+
if __name__ == "__main__":
|
45
|
+
main()
|
@@ -0,0 +1,184 @@
|
|
1
|
+
/**
|
2
|
+
*
|
3
|
+
* Copyright 2005, 2006 Nick Galbreath -- nickg [at] modp [dot] com
|
4
|
+
* Copyright 2017 Matthieu Darbois
|
5
|
+
* All rights reserved.
|
6
|
+
*
|
7
|
+
* http://modp.com/release/base64
|
8
|
+
*
|
9
|
+
* Redistribution and use in source and binary forms, with or without
|
10
|
+
* modification, are permitted provided that the following conditions are
|
11
|
+
* met:
|
12
|
+
*
|
13
|
+
* - Redistributions of source code must retain the above copyright notice,
|
14
|
+
* this list of conditions and the following disclaimer.
|
15
|
+
*
|
16
|
+
* - Redistributions in binary form must reproduce the above copyright
|
17
|
+
* notice, this list of conditions and the following disclaimer in the
|
18
|
+
* documentation and/or other materials provided with the distribution.
|
19
|
+
*
|
20
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
21
|
+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
22
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
23
|
+
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
24
|
+
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
25
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
26
|
+
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
27
|
+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
28
|
+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
29
|
+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
30
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
*
|
32
|
+
*/
|
33
|
+
|
34
|
+
/****************************/
|
35
|
+
|
36
|
+
#include <stdint.h>
|
37
|
+
#include <stdio.h>
|
38
|
+
#include <stdlib.h>
|
39
|
+
#include <string.h>
|
40
|
+
#include <inttypes.h>
|
41
|
+
|
42
|
+
static uint8_t b64chars[64] = {
|
43
|
+
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
|
44
|
+
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
|
45
|
+
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
|
46
|
+
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
47
|
+
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
|
48
|
+
};
|
49
|
+
|
50
|
+
static uint8_t padchar = '=';
|
51
|
+
|
52
|
+
static void printStart(void)
|
53
|
+
{
|
54
|
+
printf("#include <stdint.h>\n");
|
55
|
+
printf("#define CHAR62 '%c'\n", b64chars[62]);
|
56
|
+
printf("#define CHAR63 '%c'\n", b64chars[63]);
|
57
|
+
printf("#define CHARPAD '%c'\n", padchar);
|
58
|
+
}
|
59
|
+
|
60
|
+
static void clearDecodeTable(uint32_t* ary)
|
61
|
+
{
|
62
|
+
int i = 0;
|
63
|
+
for (i = 0; i < 256; ++i) {
|
64
|
+
ary[i] = 0xFFFFFFFF;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
/* dump uint32_t as hex digits */
|
69
|
+
void uint32_array_to_c_hex(const uint32_t* ary, size_t sz, const char* name)
|
70
|
+
{
|
71
|
+
size_t i = 0;
|
72
|
+
|
73
|
+
printf("const uint32_t %s[%d] = {\n", name, (int)sz);
|
74
|
+
for (;;) {
|
75
|
+
printf("0x%08" PRIx32, ary[i]);
|
76
|
+
++i;
|
77
|
+
if (i == sz)
|
78
|
+
break;
|
79
|
+
if (i % 6 == 0) {
|
80
|
+
printf(",\n");
|
81
|
+
} else {
|
82
|
+
printf(", ");
|
83
|
+
}
|
84
|
+
}
|
85
|
+
printf("\n};\n");
|
86
|
+
}
|
87
|
+
|
88
|
+
int main(int argc, char** argv)
|
89
|
+
{
|
90
|
+
uint32_t x;
|
91
|
+
uint32_t i = 0;
|
92
|
+
uint32_t ary[256];
|
93
|
+
|
94
|
+
/* over-ride standard alphabet */
|
95
|
+
if (argc == 2) {
|
96
|
+
uint8_t* replacements = (uint8_t*)argv[1];
|
97
|
+
if (strlen((char*)replacements) != 3) {
|
98
|
+
fprintf(stderr, "input must be a string of 3 characters '-', '.' or '_'\n");
|
99
|
+
exit(1);
|
100
|
+
}
|
101
|
+
fprintf(stderr, "fusing '%s' as replacements in base64 encoding\n", replacements);
|
102
|
+
b64chars[62] = replacements[0];
|
103
|
+
b64chars[63] = replacements[1];
|
104
|
+
padchar = replacements[2];
|
105
|
+
}
|
106
|
+
|
107
|
+
printStart();
|
108
|
+
|
109
|
+
printf("\n\n#if BASE64_LITTLE_ENDIAN\n");
|
110
|
+
|
111
|
+
printf("\n\n/* SPECIAL DECODE TABLES FOR LITTLE ENDIAN (INTEL) CPUS */\n\n");
|
112
|
+
|
113
|
+
clearDecodeTable(ary);
|
114
|
+
for (i = 0; i < 64; ++i) {
|
115
|
+
x = b64chars[i];
|
116
|
+
ary[x] = i << 2;
|
117
|
+
}
|
118
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d0");
|
119
|
+
printf("\n\n");
|
120
|
+
|
121
|
+
clearDecodeTable(ary);
|
122
|
+
for (i = 0; i < 64; ++i) {
|
123
|
+
x = b64chars[i];
|
124
|
+
ary[x] = ((i & 0x30) >> 4) | ((i & 0x0F) << 12);
|
125
|
+
}
|
126
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d1");
|
127
|
+
printf("\n\n");
|
128
|
+
|
129
|
+
clearDecodeTable(ary);
|
130
|
+
for (i = 0; i < 64; ++i) {
|
131
|
+
x = b64chars[i];
|
132
|
+
ary[x] = ((i & 0x03) << 22) | ((i & 0x3c) << 6);
|
133
|
+
}
|
134
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d2");
|
135
|
+
printf("\n\n");
|
136
|
+
|
137
|
+
clearDecodeTable(ary);
|
138
|
+
for (i = 0; i < 64; ++i) {
|
139
|
+
x = b64chars[i];
|
140
|
+
ary[x] = i << 16;
|
141
|
+
}
|
142
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d3");
|
143
|
+
printf("\n\n");
|
144
|
+
|
145
|
+
printf("#else\n");
|
146
|
+
|
147
|
+
printf("\n\n/* SPECIAL DECODE TABLES FOR BIG ENDIAN (IBM/MOTOROLA/SUN) CPUS */\n\n");
|
148
|
+
|
149
|
+
clearDecodeTable(ary);
|
150
|
+
for (i = 0; i < 64; ++i) {
|
151
|
+
x = b64chars[i];
|
152
|
+
ary[x] = i << 26;
|
153
|
+
}
|
154
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d0");
|
155
|
+
printf("\n\n");
|
156
|
+
|
157
|
+
clearDecodeTable(ary);
|
158
|
+
for (i = 0; i < 64; ++i) {
|
159
|
+
x = b64chars[i];
|
160
|
+
ary[x] = i << 20;
|
161
|
+
}
|
162
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d1");
|
163
|
+
printf("\n\n");
|
164
|
+
|
165
|
+
clearDecodeTable(ary);
|
166
|
+
for (i = 0; i < 64; ++i) {
|
167
|
+
x = b64chars[i];
|
168
|
+
ary[x] = i << 14;
|
169
|
+
}
|
170
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d2");
|
171
|
+
printf("\n\n");
|
172
|
+
|
173
|
+
clearDecodeTable(ary);
|
174
|
+
for (i = 0; i < 64; ++i) {
|
175
|
+
x = b64chars[i];
|
176
|
+
ary[x] = i << 8;
|
177
|
+
}
|
178
|
+
uint32_array_to_c_hex(ary, sizeof(ary) / sizeof(uint32_t), "base64_table_dec_32bit_d3");
|
179
|
+
printf("\n\n");
|
180
|
+
|
181
|
+
printf("#endif\n");
|
182
|
+
|
183
|
+
return 0;
|
184
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#include "tables.h"
|
2
|
+
|
3
|
+
const uint8_t
|
4
|
+
base64_table_enc_6bit[] =
|
5
|
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
6
|
+
"abcdefghijklmnopqrstuvwxyz"
|
7
|
+
"0123456789"
|
8
|
+
"+/";
|
9
|
+
|
10
|
+
// In the lookup table below, note that the value for '=' (character 61) is
|
11
|
+
// 254, not 255. This character is used for in-band signaling of the end of
|
12
|
+
// the datastream, and we will use that later. The characters A-Z, a-z, 0-9
|
13
|
+
// and + / are mapped to their "decoded" values. The other bytes all map to
|
14
|
+
// the value 255, which flags them as "invalid input".
|
15
|
+
|
16
|
+
const uint8_t
|
17
|
+
base64_table_dec_8bit[] =
|
18
|
+
{
|
19
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 0..15
|
20
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 16..31
|
21
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 255, 255, 255, 63, // 32..47
|
22
|
+
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 255, 255, 255, 254, 255, 255, // 48..63
|
23
|
+
255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, // 64..79
|
24
|
+
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 255, 255, 255, 255, 255, // 80..95
|
25
|
+
255, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 96..111
|
26
|
+
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 255, 255, 255, 255, 255, // 112..127
|
27
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, // 128..143
|
28
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
29
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
30
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
31
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
32
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
33
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
34
|
+
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
35
|
+
};
|
36
|
+
|
37
|
+
#if BASE64_WORDSIZE >= 32
|
38
|
+
# include "table_dec_32bit.h"
|
39
|
+
# include "table_enc_12bit.h"
|
40
|
+
#endif
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#ifndef BASE64_TABLES_H
|
2
|
+
#define BASE64_TABLES_H
|
3
|
+
|
4
|
+
#include <stdint.h>
|
5
|
+
|
6
|
+
#include "../env.h"
|
7
|
+
|
8
|
+
// These tables are used by all codecs for fallback plain encoding/decoding:
|
9
|
+
extern const uint8_t base64_table_enc_6bit[];
|
10
|
+
extern const uint8_t base64_table_dec_8bit[];
|
11
|
+
|
12
|
+
// These tables are used for the 32-bit and 64-bit generic decoders:
|
13
|
+
#if BASE64_WORDSIZE >= 32
|
14
|
+
extern const uint32_t base64_table_dec_32bit_d0[];
|
15
|
+
extern const uint32_t base64_table_dec_32bit_d1[];
|
16
|
+
extern const uint32_t base64_table_dec_32bit_d2[];
|
17
|
+
extern const uint32_t base64_table_dec_32bit_d3[];
|
18
|
+
|
19
|
+
// This table is used by the 32 and 64-bit generic encoders:
|
20
|
+
extern const uint16_t base64_table_enc_12bit[];
|
21
|
+
#endif
|
22
|
+
|
23
|
+
#endif // BASE64_TABLES_H
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ob64
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- João Fernandes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A fast Base64 encoder and decoder that makes use of SIMD extensions.
|
14
14
|
email:
|
@@ -46,14 +46,74 @@ files:
|
|
46
46
|
- lib/ob64/core_ext.rb
|
47
47
|
- lib/ob64/version.rb
|
48
48
|
- ob64.gemspec
|
49
|
+
- vendor/libbase64/.gitignore
|
50
|
+
- vendor/libbase64/.travis.yml
|
51
|
+
- vendor/libbase64/CMakeLists.txt
|
52
|
+
- vendor/libbase64/LICENSE
|
53
|
+
- vendor/libbase64/Makefile
|
54
|
+
- vendor/libbase64/README.md
|
55
|
+
- vendor/libbase64/base64-benchmarks.png
|
56
|
+
- vendor/libbase64/bin/base64.c
|
57
|
+
- vendor/libbase64/cmake/Modules/TargetArch.cmake
|
58
|
+
- vendor/libbase64/cmake/Modules/TargetSIMDInstructionSet.cmake
|
59
|
+
- vendor/libbase64/cmake/base64-config.cmake.in
|
60
|
+
- vendor/libbase64/cmake/config.h.in
|
61
|
+
- vendor/libbase64/cmake/test-arch.c
|
62
|
+
- vendor/libbase64/include/libbase64.h
|
63
|
+
- vendor/libbase64/lib/arch/avx/codec.c
|
64
|
+
- vendor/libbase64/lib/arch/avx2/codec.c
|
65
|
+
- vendor/libbase64/lib/arch/avx2/dec_loop.c
|
66
|
+
- vendor/libbase64/lib/arch/avx2/dec_reshuffle.c
|
67
|
+
- vendor/libbase64/lib/arch/avx2/enc_loop.c
|
68
|
+
- vendor/libbase64/lib/arch/avx2/enc_reshuffle.c
|
69
|
+
- vendor/libbase64/lib/arch/avx2/enc_translate.c
|
70
|
+
- vendor/libbase64/lib/arch/generic/32/dec_loop.c
|
71
|
+
- vendor/libbase64/lib/arch/generic/32/enc_loop.c
|
72
|
+
- vendor/libbase64/lib/arch/generic/64/enc_loop.c
|
73
|
+
- vendor/libbase64/lib/arch/generic/codec.c
|
74
|
+
- vendor/libbase64/lib/arch/generic/dec_head.c
|
75
|
+
- vendor/libbase64/lib/arch/generic/dec_tail.c
|
76
|
+
- vendor/libbase64/lib/arch/generic/enc_head.c
|
77
|
+
- vendor/libbase64/lib/arch/generic/enc_tail.c
|
78
|
+
- vendor/libbase64/lib/arch/neon32/codec.c
|
79
|
+
- vendor/libbase64/lib/arch/neon32/dec_loop.c
|
80
|
+
- vendor/libbase64/lib/arch/neon32/enc_loop.c
|
81
|
+
- vendor/libbase64/lib/arch/neon32/enc_reshuffle.c
|
82
|
+
- vendor/libbase64/lib/arch/neon32/enc_translate.c
|
83
|
+
- vendor/libbase64/lib/arch/neon64/codec.c
|
84
|
+
- vendor/libbase64/lib/arch/neon64/dec_loop.c
|
85
|
+
- vendor/libbase64/lib/arch/neon64/enc_loop.c
|
86
|
+
- vendor/libbase64/lib/arch/neon64/enc_reshuffle.c
|
87
|
+
- vendor/libbase64/lib/arch/sse41/codec.c
|
88
|
+
- vendor/libbase64/lib/arch/sse42/codec.c
|
89
|
+
- vendor/libbase64/lib/arch/ssse3/codec.c
|
90
|
+
- vendor/libbase64/lib/arch/ssse3/dec_loop.c
|
91
|
+
- vendor/libbase64/lib/arch/ssse3/dec_reshuffle.c
|
92
|
+
- vendor/libbase64/lib/arch/ssse3/enc_loop.c
|
93
|
+
- vendor/libbase64/lib/arch/ssse3/enc_reshuffle.c
|
94
|
+
- vendor/libbase64/lib/arch/ssse3/enc_translate.c
|
95
|
+
- vendor/libbase64/lib/codec_choose.c
|
96
|
+
- vendor/libbase64/lib/codecs.h
|
97
|
+
- vendor/libbase64/lib/env.h
|
98
|
+
- vendor/libbase64/lib/exports.txt
|
99
|
+
- vendor/libbase64/lib/lib.c
|
100
|
+
- vendor/libbase64/lib/lib_openmp.c
|
101
|
+
- vendor/libbase64/lib/tables/.gitignore
|
102
|
+
- vendor/libbase64/lib/tables/Makefile
|
103
|
+
- vendor/libbase64/lib/tables/table_dec_32bit.h
|
104
|
+
- vendor/libbase64/lib/tables/table_enc_12bit.h
|
105
|
+
- vendor/libbase64/lib/tables/table_enc_12bit.py
|
106
|
+
- vendor/libbase64/lib/tables/table_generator.c
|
107
|
+
- vendor/libbase64/lib/tables/tables.c
|
108
|
+
- vendor/libbase64/lib/tables/tables.h
|
49
109
|
homepage: https://github.com/jcmfernandes/ob64
|
50
110
|
licenses:
|
51
111
|
- MIT
|
52
112
|
metadata:
|
53
113
|
homepage_uri: https://github.com/jcmfernandes/ob64
|
54
114
|
changelog_uri: https://github.com/jcmfernandes/ob64/blob/master/CHANGELOG.md
|
55
|
-
documentation_uri: https://www.rubydoc.info/gems/ob64/0.
|
56
|
-
source_code_uri: https://github.com/jcmfernandes/ob64/tree/v0.
|
115
|
+
documentation_uri: https://www.rubydoc.info/gems/ob64/0.5.0
|
116
|
+
source_code_uri: https://github.com/jcmfernandes/ob64/tree/v0.5.0
|
57
117
|
post_install_message:
|
58
118
|
rdoc_options: []
|
59
119
|
require_paths:
|