From 95e3234d866856be5a944d29e38a8d2d1e5c377d Mon Sep 17 00:00:00 2001 From: "Dr. Colin Hirsch" Date: Wed, 31 Oct 2018 09:17:44 +0100 Subject: [PATCH] Fix naming. --- LICENSE.jeaiii => LICENSE.itoa | 0 include/tao/json/events/to_pretty_stream.hpp | 6 +- include/tao/json/events/to_stream.hpp | 6 +- .../json/external/{jeaiii.hpp => itoa.hpp} | 84 +++++++++---------- include/tao/json/external/ryu.hpp | 12 +-- 5 files changed, 54 insertions(+), 54 deletions(-) rename LICENSE.jeaiii => LICENSE.itoa (100%) rename include/tao/json/external/{jeaiii.hpp => itoa.hpp} (54%) diff --git a/LICENSE.jeaiii b/LICENSE.itoa similarity index 100% rename from LICENSE.jeaiii rename to LICENSE.itoa diff --git a/include/tao/json/events/to_pretty_stream.hpp b/include/tao/json/events/to_pretty_stream.hpp index f6e0e89c..0f4033b1 100644 --- a/include/tao/json/events/to_pretty_stream.hpp +++ b/include/tao/json/events/to_pretty_stream.hpp @@ -17,7 +17,7 @@ #include "../binary_view.hpp" -#include "../external/jeaiii.hpp" +#include "../external/itoa.hpp" #include "../external/ryu.hpp" #include "../internal/escape.hpp" @@ -107,13 +107,13 @@ namespace tao void number( const std::int64_t v ) { next(); - jeaiii::i64tos( os, v ); + itoa::i64tos( os, v ); } void number( const std::uint64_t v ) { next(); - jeaiii::u64tos( os, v ); + itoa::u64tos( os, v ); } void number( const double v ) diff --git a/include/tao/json/events/to_stream.hpp b/include/tao/json/events/to_stream.hpp index 4608a94a..63949f74 100644 --- a/include/tao/json/events/to_stream.hpp +++ b/include/tao/json/events/to_stream.hpp @@ -14,7 +14,7 @@ #include "../binary_view.hpp" -#include "../external/jeaiii.hpp" +#include "../external/itoa.hpp" #include "../external/ryu.hpp" #include "../internal/escape.hpp" @@ -67,13 +67,13 @@ namespace tao void number( const std::int64_t v ) { next(); - jeaiii::i64tos( os, v ); + itoa::i64tos( os, v ); } void number( const std::uint64_t v ) { next(); - jeaiii::u64tos( os, v ); + itoa::u64tos( os, v ); } void number( const double v ) diff --git a/include/tao/json/external/jeaiii.hpp b/include/tao/json/external/itoa.hpp similarity index 54% rename from include/tao/json/external/jeaiii.hpp rename to include/tao/json/external/itoa.hpp index 97ef6ad6..307e98ae 100644 --- a/include/tao/json/external/jeaiii.hpp +++ b/include/tao/json/external/itoa.hpp @@ -23,8 +23,8 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. -#ifndef TAO_JSON_EXTERNAL_JEAIII_HPP -#define TAO_JSON_EXTERNAL_JEAIII_HPP +#ifndef TAO_JSON_EXTERNAL_ITOA_HPP +#define TAO_JSON_EXTERNAL_ITOA_HPP #include #include @@ -48,7 +48,7 @@ namespace tao { namespace json { - namespace jeaiii + namespace itoa { struct pair { @@ -57,51 +57,51 @@ namespace tao }; // clang-format off -#define TAO_JSON_JEAIII_P( T ) { T, '0' }, { T, '1' }, { T, '2' }, { T, '3' }, { T, '4' }, { T, '5' }, { T, '6' }, { T, '7' }, { T, '8' }, { T, '9' } +#define TAO_JSON_ITOA_P( T ) { T, '0' }, { T, '1' }, { T, '2' }, { T, '3' }, { T, '4' }, { T, '5' }, { T, '6' }, { T, '7' }, { T, '8' }, { T, '9' } // clang-format on - static const pair s_pairs[] = { TAO_JSON_JEAIII_P( '0' ), - TAO_JSON_JEAIII_P( '1' ), - TAO_JSON_JEAIII_P( '2' ), - TAO_JSON_JEAIII_P( '3' ), - TAO_JSON_JEAIII_P( '4' ), - TAO_JSON_JEAIII_P( '5' ), - TAO_JSON_JEAIII_P( '6' ), - TAO_JSON_JEAIII_P( '7' ), - TAO_JSON_JEAIII_P( '8' ), - TAO_JSON_JEAIII_P( '9' ) }; - -#define TAO_JSON_JEAIII_W( N, I ) *(pair*)&b[ N ] = s_pairs[ I ] -#define TAO_JSON_JEAIII_A( N ) t = ( std::uint64_t( 1 ) << ( 32 + N / 5 * N * 53 / 16 ) ) / std::uint32_t( 1e##N ) + 1 + N / 6 - N / 8, t *= u, t >>= N / 5 * N * 53 / 16, t += N / 6 * 4, TAO_JSON_JEAIII_W( 0, t >> 32 ) -#define TAO_JSON_JEAIII_S( N ) b[ N ] = char( std::uint64_t( 10 ) * std::uint32_t( t ) >> 32 ) + '0' -#define TAO_JSON_JEAIII_D( N ) t = std::uint64_t( 100 ) * std::uint32_t( t ), TAO_JSON_JEAIII_W( N, t >> 32 ) - -#define TAO_JSON_JEAIII_L0 b[ 0 ] = char( u ) + '0' -#define TAO_JSON_JEAIII_L1 TAO_JSON_JEAIII_W( 0, u ) -#define TAO_JSON_JEAIII_L2 TAO_JSON_JEAIII_A( 1 ), TAO_JSON_JEAIII_S( 2 ) -#define TAO_JSON_JEAIII_L3 TAO_JSON_JEAIII_A( 2 ), TAO_JSON_JEAIII_D( 2 ) -#define TAO_JSON_JEAIII_L4 TAO_JSON_JEAIII_A( 3 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_S( 4 ) -#define TAO_JSON_JEAIII_L5 TAO_JSON_JEAIII_A( 4 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_D( 4 ) -#define TAO_JSON_JEAIII_L6 TAO_JSON_JEAIII_A( 5 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_D( 4 ), TAO_JSON_JEAIII_S( 6 ) -#define TAO_JSON_JEAIII_L7 TAO_JSON_JEAIII_A( 6 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_D( 4 ), TAO_JSON_JEAIII_D( 6 ) -#define TAO_JSON_JEAIII_L8 TAO_JSON_JEAIII_A( 7 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_D( 4 ), TAO_JSON_JEAIII_D( 6 ), TAO_JSON_JEAIII_S( 8 ) -#define TAO_JSON_JEAIII_L9 TAO_JSON_JEAIII_A( 8 ), TAO_JSON_JEAIII_D( 2 ), TAO_JSON_JEAIII_D( 4 ), TAO_JSON_JEAIII_D( 6 ), TAO_JSON_JEAIII_D( 8 ) - -#define TAO_JSON_JEAIII_LN( N ) ( TAO_JSON_JEAIII_L##N, b += N + 1 ) - -#define TAO_JSON_JEAIII_LG( F ) ( u < 100 ? u < 10 ? F( 0 ) : F( 1 ) : u < 1000000 ? u < 10000 ? u < 1000 ? F( 2 ) : F( 3 ) : u < 100000 ? F( 4 ) : F( 5 ) : u < 100000000 ? u < 10000000 ? F( 6 ) : F( 7 ) : u < 1000000000 ? F( 8 ) : F( 9 ) ) + static const pair s_pairs[] = { TAO_JSON_ITOA_P( '0' ), + TAO_JSON_ITOA_P( '1' ), + TAO_JSON_ITOA_P( '2' ), + TAO_JSON_ITOA_P( '3' ), + TAO_JSON_ITOA_P( '4' ), + TAO_JSON_ITOA_P( '5' ), + TAO_JSON_ITOA_P( '6' ), + TAO_JSON_ITOA_P( '7' ), + TAO_JSON_ITOA_P( '8' ), + TAO_JSON_ITOA_P( '9' ) }; + +#define TAO_JSON_ITOA_W( N, I ) *(pair*)&b[ N ] = s_pairs[ I ] +#define TAO_JSON_ITOA_A( N ) t = ( std::uint64_t( 1 ) << ( 32 + N / 5 * N * 53 / 16 ) ) / std::uint32_t( 1e##N ) + 1 + N / 6 - N / 8, t *= u, t >>= N / 5 * N * 53 / 16, t += N / 6 * 4, TAO_JSON_ITOA_W( 0, t >> 32 ) +#define TAO_JSON_ITOA_S( N ) b[ N ] = char( std::uint64_t( 10 ) * std::uint32_t( t ) >> 32 ) + '0' +#define TAO_JSON_ITOA_D( N ) t = std::uint64_t( 100 ) * std::uint32_t( t ), TAO_JSON_ITOA_W( N, t >> 32 ) + +#define TAO_JSON_ITOA_L0 b[ 0 ] = char( u ) + '0' +#define TAO_JSON_ITOA_L1 TAO_JSON_ITOA_W( 0, u ) +#define TAO_JSON_ITOA_L2 TAO_JSON_ITOA_A( 1 ), TAO_JSON_ITOA_S( 2 ) +#define TAO_JSON_ITOA_L3 TAO_JSON_ITOA_A( 2 ), TAO_JSON_ITOA_D( 2 ) +#define TAO_JSON_ITOA_L4 TAO_JSON_ITOA_A( 3 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_S( 4 ) +#define TAO_JSON_ITOA_L5 TAO_JSON_ITOA_A( 4 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_D( 4 ) +#define TAO_JSON_ITOA_L6 TAO_JSON_ITOA_A( 5 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_D( 4 ), TAO_JSON_ITOA_S( 6 ) +#define TAO_JSON_ITOA_L7 TAO_JSON_ITOA_A( 6 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_D( 4 ), TAO_JSON_ITOA_D( 6 ) +#define TAO_JSON_ITOA_L8 TAO_JSON_ITOA_A( 7 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_D( 4 ), TAO_JSON_ITOA_D( 6 ), TAO_JSON_ITOA_S( 8 ) +#define TAO_JSON_ITOA_L9 TAO_JSON_ITOA_A( 8 ), TAO_JSON_ITOA_D( 2 ), TAO_JSON_ITOA_D( 4 ), TAO_JSON_ITOA_D( 6 ), TAO_JSON_ITOA_D( 8 ) + +#define TAO_JSON_ITOA_LN( N ) ( TAO_JSON_ITOA_L##N, b += N + 1 ) + +#define TAO_JSON_ITOA_LG( F ) ( u < 100 ? u < 10 ? F( 0 ) : F( 1 ) : u < 1000000 ? u < 10000 ? u < 1000 ? F( 2 ) : F( 3 ) : u < 100000 ? F( 4 ) : F( 5 ) : u < 100000000 ? u < 10000000 ? F( 6 ) : F( 7 ) : u < 1000000000 ? F( 8 ) : F( 9 ) ) inline char* u32toa( const std::uint32_t u, char* b ) { std::uint64_t t; - return TAO_JSON_JEAIII_LG( TAO_JSON_JEAIII_LN ); + return TAO_JSON_ITOA_LG( TAO_JSON_ITOA_LN ); } inline char* i32toa( const std::int32_t i, char* b ) { const std::uint32_t u = i < 0 ? ( *b++ = '-', 0 - std::uint32_t( i ) ) : i; std::uint64_t t; - return TAO_JSON_JEAIII_LG( TAO_JSON_JEAIII_LN ); + return TAO_JSON_ITOA_LG( TAO_JSON_ITOA_LN ); } inline char* u64toa( const std::uint64_t n, char* b ) @@ -110,22 +110,22 @@ namespace tao std::uint64_t t; if( std::uint32_t( n >> 32 ) == 0 ) { - return u = std::uint32_t( n ), TAO_JSON_JEAIII_LG( TAO_JSON_JEAIII_LN ); + return u = std::uint32_t( n ), TAO_JSON_ITOA_LG( TAO_JSON_ITOA_LN ); } std::uint64_t a = n / 100000000; if( std::uint32_t( a >> 32 ) == 0 ) { u = std::uint32_t( a ); - TAO_JSON_JEAIII_LG( TAO_JSON_JEAIII_LN ); + TAO_JSON_ITOA_LG( TAO_JSON_ITOA_LN ); } else { u = std::uint32_t( a / 100000000 ); - TAO_JSON_JEAIII_LG( TAO_JSON_JEAIII_LN ); + TAO_JSON_ITOA_LG( TAO_JSON_ITOA_LN ); u = a % 100000000; - TAO_JSON_JEAIII_LN( 7 ); + TAO_JSON_ITOA_LN( 7 ); } u = n % 100000000; - return TAO_JSON_JEAIII_LN( 7 ); + return TAO_JSON_ITOA_LN( 7 ); } inline char* i64toa( const std::int64_t i, char* b ) @@ -148,7 +148,7 @@ namespace tao o.write( b, s - b ); } - } // namespace jeaiii + } // namespace itoa } // namespace json diff --git a/include/tao/json/external/ryu.hpp b/include/tao/json/external/ryu.hpp index e333ea93..7a3a432a 100644 --- a/include/tao/json/external/ryu.hpp +++ b/include/tao/json/external/ryu.hpp @@ -42,7 +42,7 @@ #include #include -#include "jeaiii.hpp" +#include "itoa.hpp" namespace tao { @@ -142,7 +142,7 @@ namespace tao // static const char digit_table[ 200 ] = { // '0', '0', '0', '1', '0', '2', '0', '3', '0', '4', '0', '5', '0', '6', '0', '7', '0', '8', '0', '9', '1', '0', '1', '1', '1', '2', '1', '3', '1', '4', '1', '5', '1', '6', '1', '7', '1', '8', '1', '9', '2', '0', '2', '1', '2', '2', '2', '3', '2', '4', '2', '5', '2', '6', '2', '7', '2', '8', '2', '9', '3', '0', '3', '1', '3', '2', '3', '3', '3', '4', '3', '5', '3', '6', '3', '7', '3', '8', '3', '9', '4', '0', '4', '1', '4', '2', '4', '3', '4', '4', '4', '5', '4', '6', '4', '7', '4', '8', '4', '9', '5', '0', '5', '1', '5', '2', '5', '3', '5', '4', '5', '5', '5', '6', '5', '7', '5', '8', '5', '9', '6', '0', '6', '1', '6', '2', '6', '3', '6', '4', '6', '5', '6', '6', '6', '7', '6', '8', '6', '9', '7', '0', '7', '1', '7', '2', '7', '3', '7', '4', '7', '5', '7', '6', '7', '7', '7', '8', '7', '9', '8', '0', '8', '1', '8', '2', '8', '3', '8', '4', '8', '5', '8', '6', '8', '7', '8', '8', '8', '9', '9', '0', '9', '1', '9', '2', '9', '3', '9', '4', '9', '5', '9', '6', '9', '7', '9', '8', '9', '9' // }; - // NOTE: Now uses jeaiii::s_pairs to prevent having the same data twice. + // NOTE: Now uses itoa::s_pairs to prevent having the same data twice. // These tables are generated by PrintDoubleLookupTable. static const std::uint64_t pow5_inv_split[ 292 ][ 2 ] = { @@ -984,11 +984,11 @@ namespace tao if( exp <= 0 ) { std::memcpy( result, "0.", 2 ); std::memset( result + 2, '0', -exp ); - const auto* end = jeaiii::u64toa( output, result + 2 - exp ); + const auto* end = itoa::u64toa( output, result + 2 - exp ); return static_cast< std::uint32_t >( end - result ); } else if( exp >= olength ) { - jeaiii::u64toa( output, result ); // Return value MUST be result + olength + itoa::u64toa( output, result ); // Return value MUST be result + olength std::memset( result + olength, '0', exp + 2 - olength ); result[ exp ] = '.'; return exp + 2; @@ -1014,7 +1014,7 @@ namespace tao int index = olength; if( olength > 1 ) { - jeaiii::u64toa( output, result + 1 ); + itoa::u64toa( output, result + 1 ); result[ 0 ] = result[ 1 ]; result[ 1 ] = '.'; ++index; @@ -1024,7 +1024,7 @@ namespace tao } if( exp ) { result[ index++ ] = 'e'; - const auto end = jeaiii::i32toa( exp, result + index ); + const auto end = itoa::i32toa( exp, result + index ); return static_cast< std::uint32_t >( end - result ); } return index;