Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Commit

Permalink
Fix naming.
Browse files Browse the repository at this point in the history
  • Loading branch information
ColinH committed Oct 31, 2018
1 parent 770c837 commit 95e3234
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 54 deletions.
File renamed without changes.
6 changes: 3 additions & 3 deletions include/tao/json/events/to_pretty_stream.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

#include "../binary_view.hpp"

#include "../external/jeaiii.hpp"
#include "../external/itoa.hpp"
#include "../external/ryu.hpp"

#include "../internal/escape.hpp"
Expand Down Expand Up @@ -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 )
Expand Down
6 changes: 3 additions & 3 deletions include/tao/json/events/to_stream.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

#include "../binary_view.hpp"

#include "../external/jeaiii.hpp"
#include "../external/itoa.hpp"
#include "../external/ryu.hpp"

#include "../internal/escape.hpp"
Expand Down Expand Up @@ -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 )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cstdint>
#include <ostream>
Expand All @@ -48,7 +48,7 @@ namespace tao
{
namespace json
{
namespace jeaiii
namespace itoa
{
struct pair
{
Expand All @@ -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 )
Expand All @@ -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 )
Expand All @@ -148,7 +148,7 @@ namespace tao
o.write( b, s - b );
}

} // namespace jeaiii
} // namespace itoa

} // namespace json

Expand Down
12 changes: 6 additions & 6 deletions include/tao/json/external/ryu.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
#include <cstdlib>
#include <cstring>

#include "jeaiii.hpp"
#include "itoa.hpp"

namespace tao
{
Expand Down Expand Up @@ -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 ] = {
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit 95e3234

Please sign in to comment.