ob64 0.1.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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +20 -4
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +18 -1
  5. data/{LICENSE.txt → LICENSE} +1 -1
  6. data/README.md +34 -2
  7. data/benchmark.rb +42 -3
  8. data/ext/ob64/ob64_ext.c +5 -3
  9. data/lib/ob64/core_ext.rb +2 -0
  10. data/lib/ob64/version.rb +1 -1
  11. data/lib/ob64.rb +52 -0
  12. data/ob64.gemspec +12 -6
  13. data/vendor/libbase64/.gitignore +12 -0
  14. data/vendor/libbase64/.travis.yml +71 -0
  15. data/vendor/libbase64/CMakeLists.txt +264 -0
  16. data/vendor/libbase64/LICENSE +28 -0
  17. data/vendor/libbase64/Makefile +93 -0
  18. data/vendor/libbase64/README.md +474 -0
  19. data/vendor/libbase64/base64-benchmarks.png +0 -0
  20. data/vendor/libbase64/bin/base64.c +132 -0
  21. data/vendor/libbase64/cmake/Modules/TargetArch.cmake +29 -0
  22. data/vendor/libbase64/cmake/Modules/TargetSIMDInstructionSet.cmake +34 -0
  23. data/vendor/libbase64/cmake/base64-config.cmake.in +5 -0
  24. data/vendor/libbase64/cmake/config.h.in +25 -0
  25. data/vendor/libbase64/cmake/test-arch.c +35 -0
  26. data/vendor/libbase64/include/libbase64.h +145 -0
  27. data/vendor/libbase64/lib/arch/avx/codec.c +42 -0
  28. data/vendor/libbase64/lib/arch/avx2/codec.c +42 -0
  29. data/vendor/libbase64/lib/arch/avx2/dec_loop.c +110 -0
  30. data/vendor/libbase64/lib/arch/avx2/dec_reshuffle.c +34 -0
  31. data/vendor/libbase64/lib/arch/avx2/enc_loop.c +89 -0
  32. data/vendor/libbase64/lib/arch/avx2/enc_reshuffle.c +83 -0
  33. data/vendor/libbase64/lib/arch/avx2/enc_translate.c +30 -0
  34. data/vendor/libbase64/lib/arch/generic/32/dec_loop.c +86 -0
  35. data/vendor/libbase64/lib/arch/generic/32/enc_loop.c +73 -0
  36. data/vendor/libbase64/lib/arch/generic/64/enc_loop.c +77 -0
  37. data/vendor/libbase64/lib/arch/generic/codec.c +39 -0
  38. data/vendor/libbase64/lib/arch/generic/dec_head.c +37 -0
  39. data/vendor/libbase64/lib/arch/generic/dec_tail.c +91 -0
  40. data/vendor/libbase64/lib/arch/generic/enc_head.c +24 -0
  41. data/vendor/libbase64/lib/arch/generic/enc_tail.c +34 -0
  42. data/vendor/libbase64/lib/arch/neon32/codec.c +72 -0
  43. data/vendor/libbase64/lib/arch/neon32/dec_loop.c +106 -0
  44. data/vendor/libbase64/lib/arch/neon32/enc_loop.c +58 -0
  45. data/vendor/libbase64/lib/arch/neon32/enc_reshuffle.c +54 -0
  46. data/vendor/libbase64/lib/arch/neon32/enc_translate.c +57 -0
  47. data/vendor/libbase64/lib/arch/neon64/codec.c +70 -0
  48. data/vendor/libbase64/lib/arch/neon64/dec_loop.c +129 -0
  49. data/vendor/libbase64/lib/arch/neon64/enc_loop.c +66 -0
  50. data/vendor/libbase64/lib/arch/neon64/enc_reshuffle.c +54 -0
  51. data/vendor/libbase64/lib/arch/sse41/codec.c +42 -0
  52. data/vendor/libbase64/lib/arch/sse42/codec.c +42 -0
  53. data/vendor/libbase64/lib/arch/ssse3/codec.c +42 -0
  54. data/vendor/libbase64/lib/arch/ssse3/dec_loop.c +173 -0
  55. data/vendor/libbase64/lib/arch/ssse3/dec_reshuffle.c +33 -0
  56. data/vendor/libbase64/lib/arch/ssse3/enc_loop.c +67 -0
  57. data/vendor/libbase64/lib/arch/ssse3/enc_reshuffle.c +48 -0
  58. data/vendor/libbase64/lib/arch/ssse3/enc_translate.c +33 -0
  59. data/vendor/libbase64/lib/codec_choose.c +281 -0
  60. data/vendor/libbase64/lib/codecs.h +65 -0
  61. data/vendor/libbase64/lib/env.h +67 -0
  62. data/vendor/libbase64/lib/exports.txt +7 -0
  63. data/vendor/libbase64/lib/lib.c +164 -0
  64. data/vendor/libbase64/lib/lib_openmp.c +149 -0
  65. data/vendor/libbase64/lib/tables/.gitignore +1 -0
  66. data/vendor/libbase64/lib/tables/Makefile +17 -0
  67. data/vendor/libbase64/lib/tables/table_dec_32bit.h +393 -0
  68. data/vendor/libbase64/lib/tables/table_enc_12bit.h +1031 -0
  69. data/vendor/libbase64/lib/tables/table_enc_12bit.py +45 -0
  70. data/vendor/libbase64/lib/tables/table_generator.c +184 -0
  71. data/vendor/libbase64/lib/tables/tables.c +40 -0
  72. data/vendor/libbase64/lib/tables/tables.h +23 -0
  73. metadata +67 -6
  74. data/.byebug_history +0 -72
  75. data/.envrc +0 -1
@@ -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.1.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-25 00:00:00.000000000 Z
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:
@@ -18,8 +18,6 @@ extensions:
18
18
  - ext/ob64/extconf.rb
19
19
  extra_rdoc_files: []
20
20
  files:
21
- - ".byebug_history"
22
- - ".envrc"
23
21
  - ".github/workflows/main.yml"
24
22
  - ".gitignore"
25
23
  - ".gitmodules"
@@ -30,7 +28,7 @@ files:
30
28
  - CODE_OF_CONDUCT.md
31
29
  - Gemfile
32
30
  - Guardfile
33
- - LICENSE.txt
31
+ - LICENSE
34
32
  - README.md
35
33
  - Rakefile
36
34
  - benchmark.rb
@@ -48,11 +46,74 @@ files:
48
46
  - lib/ob64/core_ext.rb
49
47
  - lib/ob64/version.rb
50
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
51
109
  homepage: https://github.com/jcmfernandes/ob64
52
110
  licenses:
53
111
  - MIT
54
112
  metadata:
55
113
  homepage_uri: https://github.com/jcmfernandes/ob64
114
+ changelog_uri: https://github.com/jcmfernandes/ob64/blob/master/CHANGELOG.md
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
56
117
  post_install_message:
57
118
  rdoc_options: []
58
119
  require_paths:
@@ -68,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
129
  - !ruby/object:Gem::Version
69
130
  version: '0'
70
131
  requirements: []
71
- rubygems_version: 3.1.4
132
+ rubygems_version: 3.2.15
72
133
  signing_key:
73
134
  specification_version: 4
74
135
  summary: A fast Base64 encoder and decoder.
data/.byebug_history DELETED
@@ -1,72 +0,0 @@
1
- continue
2
- aa == String.new(bb, encoding: 'ASCII-8BIT')
3
- String.new(bb, encoding: 'ASCII').encoding
4
- bb.encoding
5
- aa.encoding
6
- aa == String.new(bb, encoding: 'ASCII')
7
- aa == String.new(bb, encoding: 'ASCII)
8
- aa == String.new(bb)
9
- continue
10
- aa = String.new(bb)
11
- bb.dup.force_encoding(Encoding::ASCII_8BIT) == aa
12
- bb.dup.force_encoding(Encoding::ASCII_8BIT).encoding
13
- bb.dup.force_encoding Encoding::ASCII_8BIT
14
- bb.force_encoding Encoding::ASCII_8BIT
15
- bb.encode Encoding::ASCII_8BIT
16
- aa.encode Encoding::UTF_8
17
- aa.encode Encoding::UTF-8
18
- bb.encode Encoding::ASCII_8BIT
19
- Encoding.constants
20
- Encoding
21
- bb.encoding
22
- aa.encoding
23
- bb.class
24
- aa.class
25
- aa.casecmp? 'ad'
26
- aa.casecmp? bb
27
- bb.bytes
28
- aa.bytes
29
- bb.bytesize
30
- aa.bytesize
31
- bb.size
32
- aa.size
33
- aa.match? bb
34
- aa.match?
35
- aa == bb
36
- aa
37
- a
38
- bb
39
- continue
40
- b
41
- a
42
- exit
43
- eixt
44
- continue
45
- disable-byebug
46
- continue
47
- missing_padding
48
- n
49
- continue
50
- n
51
- missing_padding
52
- string
53
- n
54
- string
55
- continue
56
- string
57
- continue
58
- string
59
- continue
60
- exit
61
- missing_padding
62
- n
63
- string
64
- continue
65
- __decode(string)
66
- string
67
- n
68
- string
69
- missing_padding
70
- next
71
- string
72
- continue
data/.envrc DELETED
@@ -1 +0,0 @@
1
- PATH_add bin