├── .editorconfig ├── .github └── workflows │ └── test.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── Makefile ├── README.md ├── base64-benchmarks.png ├── bin ├── base64.c ├── base64.manifest └── base64.rc ├── cmake ├── Modules │ ├── TargetArch.cmake │ └── TargetSIMDInstructionSet.cmake ├── base64-config.cmake.in ├── config.h.in └── test-arch.c ├── include └── libbase64.h ├── lib ├── arch │ ├── avx │ │ ├── codec.c │ │ └── enc_loop_asm.c │ ├── avx2 │ │ ├── codec.c │ │ ├── dec_loop.c │ │ ├── dec_reshuffle.c │ │ ├── enc_loop.c │ │ ├── enc_loop_asm.c │ │ ├── enc_reshuffle.c │ │ └── enc_translate.c │ ├── avx512 │ │ ├── codec.c │ │ ├── enc_loop.c │ │ └── enc_reshuffle_translate.c │ ├── generic │ │ ├── 32 │ │ │ ├── dec_loop.c │ │ │ └── enc_loop.c │ │ ├── 64 │ │ │ └── enc_loop.c │ │ ├── codec.c │ │ ├── dec_head.c │ │ ├── dec_tail.c │ │ ├── enc_head.c │ │ └── enc_tail.c │ ├── neon32 │ │ ├── codec.c │ │ ├── dec_loop.c │ │ ├── enc_loop.c │ │ ├── enc_reshuffle.c │ │ └── enc_translate.c │ ├── neon64 │ │ ├── codec.c │ │ ├── dec_loop.c │ │ ├── enc_loop.c │ │ ├── enc_loop_asm.c │ │ └── enc_reshuffle.c │ ├── sse41 │ │ └── codec.c │ ├── sse42 │ │ └── codec.c │ └── ssse3 │ │ ├── codec.c │ │ ├── dec_loop.c │ │ ├── dec_reshuffle.c │ │ ├── enc_loop.c │ │ ├── enc_loop_asm.c │ │ ├── enc_reshuffle.c │ │ └── enc_translate.c ├── codec_choose.c ├── codecs.h ├── env.h ├── exports.txt ├── lib.c ├── lib_openmp.c └── tables │ ├── .gitignore │ ├── Makefile │ ├── table_dec_32bit.h │ ├── table_enc_12bit.h │ ├── table_enc_12bit.py │ ├── table_generator.c │ ├── tables.c │ └── tables.h └── test ├── CMakeLists.txt ├── Makefile ├── benchmark.c ├── ci ├── .gitattributes ├── analysis.sh ├── checksums.txt ├── test.sh └── 😵‍💫.bin ├── codec_supported.c ├── codec_supported.h ├── moby_dick.h ├── moby_dick_base64.txt ├── moby_dick_plain.txt └── test_base64.c /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/README.md -------------------------------------------------------------------------------- /base64-benchmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/base64-benchmarks.png -------------------------------------------------------------------------------- /bin/base64.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/bin/base64.c -------------------------------------------------------------------------------- /bin/base64.manifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/bin/base64.manifest -------------------------------------------------------------------------------- /bin/base64.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/bin/base64.rc -------------------------------------------------------------------------------- /cmake/Modules/TargetArch.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/cmake/Modules/TargetArch.cmake -------------------------------------------------------------------------------- /cmake/Modules/TargetSIMDInstructionSet.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/cmake/Modules/TargetSIMDInstructionSet.cmake -------------------------------------------------------------------------------- /cmake/base64-config.cmake.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/cmake/base64-config.cmake.in -------------------------------------------------------------------------------- /cmake/config.h.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/cmake/config.h.in -------------------------------------------------------------------------------- /cmake/test-arch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/cmake/test-arch.c -------------------------------------------------------------------------------- /include/libbase64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/include/libbase64.h -------------------------------------------------------------------------------- /lib/arch/avx/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx/codec.c -------------------------------------------------------------------------------- /lib/arch/avx/enc_loop_asm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx/enc_loop_asm.c -------------------------------------------------------------------------------- /lib/arch/avx2/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/codec.c -------------------------------------------------------------------------------- /lib/arch/avx2/dec_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/dec_loop.c -------------------------------------------------------------------------------- /lib/arch/avx2/dec_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/dec_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/avx2/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/avx2/enc_loop_asm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/enc_loop_asm.c -------------------------------------------------------------------------------- /lib/arch/avx2/enc_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/enc_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/avx2/enc_translate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx2/enc_translate.c -------------------------------------------------------------------------------- /lib/arch/avx512/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx512/codec.c -------------------------------------------------------------------------------- /lib/arch/avx512/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx512/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/avx512/enc_reshuffle_translate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/avx512/enc_reshuffle_translate.c -------------------------------------------------------------------------------- /lib/arch/generic/32/dec_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/32/dec_loop.c -------------------------------------------------------------------------------- /lib/arch/generic/32/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/32/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/generic/64/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/64/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/generic/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/codec.c -------------------------------------------------------------------------------- /lib/arch/generic/dec_head.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/dec_head.c -------------------------------------------------------------------------------- /lib/arch/generic/dec_tail.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/dec_tail.c -------------------------------------------------------------------------------- /lib/arch/generic/enc_head.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/enc_head.c -------------------------------------------------------------------------------- /lib/arch/generic/enc_tail.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/generic/enc_tail.c -------------------------------------------------------------------------------- /lib/arch/neon32/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon32/codec.c -------------------------------------------------------------------------------- /lib/arch/neon32/dec_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon32/dec_loop.c -------------------------------------------------------------------------------- /lib/arch/neon32/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon32/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/neon32/enc_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon32/enc_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/neon32/enc_translate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon32/enc_translate.c -------------------------------------------------------------------------------- /lib/arch/neon64/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon64/codec.c -------------------------------------------------------------------------------- /lib/arch/neon64/dec_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon64/dec_loop.c -------------------------------------------------------------------------------- /lib/arch/neon64/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon64/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/neon64/enc_loop_asm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon64/enc_loop_asm.c -------------------------------------------------------------------------------- /lib/arch/neon64/enc_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/neon64/enc_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/sse41/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/sse41/codec.c -------------------------------------------------------------------------------- /lib/arch/sse42/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/sse42/codec.c -------------------------------------------------------------------------------- /lib/arch/ssse3/codec.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/codec.c -------------------------------------------------------------------------------- /lib/arch/ssse3/dec_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/dec_loop.c -------------------------------------------------------------------------------- /lib/arch/ssse3/dec_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/dec_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/ssse3/enc_loop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/enc_loop.c -------------------------------------------------------------------------------- /lib/arch/ssse3/enc_loop_asm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/enc_loop_asm.c -------------------------------------------------------------------------------- /lib/arch/ssse3/enc_reshuffle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/enc_reshuffle.c -------------------------------------------------------------------------------- /lib/arch/ssse3/enc_translate.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/arch/ssse3/enc_translate.c -------------------------------------------------------------------------------- /lib/codec_choose.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/codec_choose.c -------------------------------------------------------------------------------- /lib/codecs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/codecs.h -------------------------------------------------------------------------------- /lib/env.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/env.h -------------------------------------------------------------------------------- /lib/exports.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/exports.txt -------------------------------------------------------------------------------- /lib/lib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/lib.c -------------------------------------------------------------------------------- /lib/lib_openmp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/lib_openmp.c -------------------------------------------------------------------------------- /lib/tables/.gitignore: -------------------------------------------------------------------------------- 1 | table_generator 2 | -------------------------------------------------------------------------------- /lib/tables/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/Makefile -------------------------------------------------------------------------------- /lib/tables/table_dec_32bit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/table_dec_32bit.h -------------------------------------------------------------------------------- /lib/tables/table_enc_12bit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/table_enc_12bit.h -------------------------------------------------------------------------------- /lib/tables/table_enc_12bit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/table_enc_12bit.py -------------------------------------------------------------------------------- /lib/tables/table_generator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/table_generator.c -------------------------------------------------------------------------------- /lib/tables/tables.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/tables.c -------------------------------------------------------------------------------- /lib/tables/tables.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/lib/tables/tables.h -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/Makefile -------------------------------------------------------------------------------- /test/benchmark.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/benchmark.c -------------------------------------------------------------------------------- /test/ci/.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/ci/.gitattributes -------------------------------------------------------------------------------- /test/ci/analysis.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/ci/analysis.sh -------------------------------------------------------------------------------- /test/ci/checksums.txt: -------------------------------------------------------------------------------- 1 | 4cd842ba8dce30216f77d2d5bf8a648e2dba6d95be5b12884f81e55bfab7b3cc *😵‍💫.bin 2 | -------------------------------------------------------------------------------- /test/ci/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/ci/test.sh -------------------------------------------------------------------------------- /test/ci/😵‍💫.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/ci/😵‍💫.bin -------------------------------------------------------------------------------- /test/codec_supported.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/codec_supported.c -------------------------------------------------------------------------------- /test/codec_supported.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/codec_supported.h -------------------------------------------------------------------------------- /test/moby_dick.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/moby_dick.h -------------------------------------------------------------------------------- /test/moby_dick_base64.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/moby_dick_base64.txt -------------------------------------------------------------------------------- /test/moby_dick_plain.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/moby_dick_plain.txt -------------------------------------------------------------------------------- /test/test_base64.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aklomp/base64/HEAD/test/test_base64.c --------------------------------------------------------------------------------