base64.cpp |
The basic insight of this approach is that our goal is computing
f(x) = y where x is in [0,63) and y is the correct base64 encoding.
Instead of doing this directly, we compute
offset(x) such that f(x) = x + offset(x)
This is described in
http://0x80.pl/notesen/2016-01-12-sse-base64-encoding.html#improved-version
Here we do a SWAR (simd within a register) implementation of Wojciech's lookup_version2_swar
|
7432 |
base64.h |
Perform base64 encoding
@param output an array of at least base64_encode_max_output bytes
@param input is some binary data
@param input_length length of input in bytes
@param input_consumed is an output parameter which says how many
bytes of input were actually consumed. If less than
input_length, then the range input[consumed:length]
should be passed in later along with more input.
@param final_inputs true iff this is the last input, in which case
padding chars will be applied if needed
@return number of bytes written to output
|
5173 |
info.txt |
|
174 |