zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #18812
[Merge] lp:~paul-lucas/zorba/pjl-misc into lp:zorba
Paul J. Lucas has proposed merging lp:~paul-lucas/zorba/pjl-misc into lp:zorba.
Commit message:
Moved itoa() functions from ztd namespace to ascii namespace since (A) it converts using only ASCII digits and (B) preparation for the forthcoming utf8::itoa() that will convert using an sequence of Unicode digits.
Requested reviews:
Matthias Brantner (matthias-brantner)
Paul J. Lucas (paul-lucas)
For more details, see:
https://code.launchpad.net/~paul-lucas/zorba/pjl-misc/+merge/152695
Moved itoa() functions from ztd namespace to ascii namespace since (A) it converts using only ASCII digits and (B) preparation for the forthcoming utf8::itoa() that will convert using an sequence of Unicode digits.
--
https://code.launchpad.net/~paul-lucas/zorba/pjl-misc/+merge/152695
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'src/api/serialization/serializer.cpp'
--- src/api/serialization/serializer.cpp 2013-03-07 10:10:10 +0000
+++ src/api/serialization/serializer.cpp 2013-03-11 15:03:21 +0000
@@ -214,8 +214,8 @@
if (cp >= 0x10000 && cp <= 0x10FFFF)
{
- ztd::itoa_buf_type cp_buf;
- tr << "&#" << ztd::itoa(cp, cp_buf) << ';';
+ ascii::itoa_buf_type cp_buf;
+ tr << "&#" << ascii::itoa(cp, cp_buf) << ';';
chars += (char_length-1);
}
else
=== modified file 'src/store/naive/loader_fast.cpp'
--- src/store/naive/loader_fast.cpp 2013-02-26 04:12:43 +0000
+++ src/store/naive/loader_fast.cpp 2013-03-11 15:03:21 +0000
@@ -41,6 +41,7 @@
#include "diagnostics/xquery_diagnostics.h"
#include "diagnostics/assert.h"
+#include "util/ascii_util.h"
#include "util/stream_util.h"
namespace zorba {
@@ -104,11 +105,11 @@
if ( error->level == XML_ERR_NONE )
return;
- ztd::itoa_buf_type itoa_buf;
+ ascii::itoa_buf_type itoa_buf;
zstring libxml_dict_key_4( ZED_PREFIX "libxml_" );
libxml_dict_key_4 += error->level == XML_ERR_WARNING ? "WAR_" : "ERR_";
- libxml_dict_key_4 += ztd::itoa( error->code, itoa_buf );
+ libxml_dict_key_4 += ascii::itoa( error->code, itoa_buf );
char const *const error_str1_5 = error->str1 ? error->str1 : "";
char const *const error_str2_6 = error->str2 ? error->str2 : "";
@@ -130,7 +131,7 @@
case XML_ERR_INTERNAL_ERROR:
case XML_ERR_TAG_NOT_FINISHED:
// For these error codes, int1 is an int.
- error_int1_8 = ztd::itoa( error->int1, itoa_buf );
+ error_int1_8 = ascii::itoa( error->int1, itoa_buf );
break;
default:
// For an unaccounted-for error code, use a heuristic to guess whether
@@ -138,7 +139,7 @@
if ( ascii::is_print( error->int1 ) )
error_int1_8 = static_cast<char>( error->int1 );
else
- error_int1_8 = ztd::itoa( error->int1, itoa_buf );
+ error_int1_8 = ascii::itoa( error->int1, itoa_buf );
} // switch
} // if
=== modified file 'src/unit_tests/test_time_parse.cpp'
--- src/unit_tests/test_time_parse.cpp 2013-01-10 00:59:49 +0000
+++ src/unit_tests/test_time_parse.cpp 2013-03-11 15:03:21 +0000
@@ -22,6 +22,7 @@
#include <stdexcept>
#include <string>
+#include "util/ascii_util.h"
#include "util/stl_util.h"
#include "util/time_parse.h"
#include "zorbatypes/zstring.h"
@@ -178,13 +179,13 @@
static void test_range( char const *conv, int low, int high,
ztm_int_ptr ztm_mbr,
unary_fn_type unary_fn = &my_identity ) {
- ztd::itoa_buf_type buf;
+ ascii::itoa_buf_type buf;
iso639_1::type lang = iso639_1::unknown;
iso3166_1::type country = iso3166_1::unknown;
ztm tm;
for ( int i = low; i <= high; ++i ) {
- ztd::itoa( i, buf );
+ ascii::itoa( i, buf );
size_t const len = ::strlen( buf );
char const *bp;
::memset( &tm, 0, sizeof( tm ) );
@@ -196,14 +197,14 @@
time::parse( "JUNK", conv, lang, country, &tm ), invalid_value
);
- ztd::itoa( --low, buf );
+ ascii::itoa( --low, buf );
ASSERT_EXCEPTION(
time::parse( buf, conv, lang, country, &tm ), invalid_value
);
int const high2 = high + 1;
if ( num_digits( high2 ) == num_digits( high ) ) {
- ztd::itoa( ++high, buf );
+ ascii::itoa( ++high, buf );
ASSERT_EXCEPTION(
time::parse( buf, conv, lang, country, &tm ), invalid_value
);
=== modified file 'src/util/ascii_util.cpp'
--- src/util/ascii_util.cpp 2013-02-26 04:12:43 +0000
+++ src/util/ascii_util.cpp 2013-03-11 15:03:21 +0000
@@ -37,6 +37,44 @@
return true;
}
+char* itoa( long long n, char *buf ) {
+ //
+ // This implementation is much faster than using sprintf(3).
+ //
+ char *s = buf;
+ long long n_prev;
+ do {
+ n_prev = n;
+ n /= 10;
+ *s++ = "9876543210123456789" [ 9 + n_prev - n * 10 ];
+ } while ( n );
+
+ if ( n_prev < 0 ) *s++ = '-';
+ *s = '\0';
+
+ for ( char *t = buf; t < s; ++t ) {
+ char const c = *--s; *s = *t; *t = c;
+ }
+ return buf;
+}
+
+char* itoa( unsigned long long n, char *buf ) {
+ char *s = buf;
+ unsigned long long n_prev;
+ do {
+ n_prev = n;
+ n /= 10;
+ *s++ = "0123456789" [ n_prev - n * 10 ];
+ } while ( n );
+
+ *s = '\0';
+
+ for ( char *t = buf; t < s; ++t ) {
+ char const c = *--s; *s = *t; *t = c;
+ }
+ return buf;
+}
+
ostream& printable_char( ostream &o, char c ) {
if ( ascii::is_print( c ) )
o << c;
=== modified file 'src/util/ascii_util.h'
--- src/util/ascii_util.h 2013-02-28 11:15:32 +0000
+++ src/util/ascii_util.h 2013-03-11 15:03:21 +0000
@@ -661,6 +661,142 @@
return replace_all( s, from.data(), from.size(), to.data(), to.size() );
}
+////////// Integer-to-string conversion ///////////////////////////////////////
+
+/**
+ * A type that can hold the largest possible C string equivalent of the largest
+ * possible integral value.
+ */
+typedef char itoa_buf_type[48];
+
+/**
+ * Converts a <code>long long</code> to a C string.
+ *
+ * @param n The <code>long long</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+char* itoa( long long n, char *buf );
+
+/**
+ * Converts a \c char to a C string.
+ *
+ * @param n The \c char to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( char n, char *buf ) {
+ return itoa( static_cast<long long>( n ), buf );
+}
+
+/**
+ * Converts a <code>signed char</code> to a C string.
+ *
+ * @param n The <code>signed char</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( signed char n, char *buf ) {
+ return itoa( static_cast<long long>( n ), buf );
+}
+
+/**
+ * Converts a \c short to a C string.
+ *
+ * @param n The \c short to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( short n, char *buf ) {
+ return itoa( static_cast<long long>( n ), buf );
+}
+
+/**
+ * Converts an \c int to a C string.
+ *
+ * @param n The \c int to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( int n, char *buf ) {
+ return itoa( static_cast<long long>( n ), buf );
+}
+
+/**
+ * Converts a \c long to a C string.
+ *
+ * @param n The \c long to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( long n, char *buf ) {
+ return itoa( static_cast<long long>( n ), buf );
+}
+
+/**
+ * Converts an <code>unsigned long long</code> to a C string.
+ *
+ * @param n The <code>unsigned long long</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+char* itoa( unsigned long long n, char *buf );
+
+/**
+ * Converts an <code>unsigned char</code> to a C string.
+ *
+ * @param n The <code>unsigned char</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( unsigned char n, char *buf ) {
+ return itoa( static_cast<unsigned long long>( n ), buf );
+}
+
+/**
+ * Converts an <code>unsigned short</code> to a C string.
+ *
+ * @param n The <code>unsigned short</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( unsigned short n, char *buf ) {
+ return itoa( static_cast<unsigned long long>( n ), buf );
+}
+
+/**
+ * Converts an <code>unsigned int</code> to a C string.
+ *
+ * @param n The <code>unsigned int</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( unsigned int n, char *buf ) {
+ return itoa( static_cast<unsigned long long>( n ), buf );
+}
+
+/**
+ * Converts an <code>unsigned long</code> to a C string.
+ *
+ * @param n The <code>unsigned long</code> to convert.
+ * @param buf The buffer for the result. The caller must ensure it's of
+ * sufficient size.
+ * @return Returns \a buf for convenience.
+ */
+inline char* itoa( unsigned long n, char *buf ) {
+ return itoa( static_cast<unsigned long long>( n ), buf );
+}
+
////////// Whitespace /////////////////////////////////////////////////////////
/**
=== modified file 'src/util/string_util.cpp'
--- src/util/string_util.cpp 2013-03-06 01:20:25 +0000
+++ src/util/string_util.cpp 2013-03-11 15:03:21 +0000
@@ -168,44 +168,6 @@
return n;
}
-char* itoa( long long n, char *buf ) {
- //
- // This implementation is much faster than using sprintf(3).
- //
- char *s = buf;
- long long n_prev;
- do {
- n_prev = n;
- n /= 10;
- *s++ = "9876543210123456789" [ 9 + n_prev - n * 10 ];
- } while ( n );
-
- if ( n_prev < 0 ) *s++ = '-';
- *s = '\0';
-
- for ( char *t = buf; t < s; ++t ) {
- char const c = *--s; *s = *t; *t = c;
- }
- return buf;
-}
-
-char* itoa( unsigned long long n, char *buf ) {
- char *s = buf;
- unsigned long long n_prev;
- do {
- n_prev = n;
- n /= 10;
- *s++ = "0123456789" [ n_prev - n * 10 ];
- } while ( n );
-
- *s = '\0';
-
- for ( char *t = buf; t < s; ++t ) {
- char const c = *--s; *s = *t; *t = c;
- }
- return buf;
-}
-
///////////////////////////////////////////////////////////////////////////////
} // namespace ztd
=== modified file 'src/util/string_util.h'
--- src/util/string_util.h 2013-03-02 15:51:30 +0000
+++ src/util/string_util.h 2013-03-11 15:03:21 +0000
@@ -25,6 +25,7 @@
#include <string>
#include <zorba/internal/ztd.h>
+#include "ascii_util.h"
#include "cxx_util.h"
#include "stl_util.h"
@@ -657,140 +658,6 @@
using internal::ztd::to_string;
/**
- * A type that can hold the largest possible C string equivalent of the largest
- * possible integral value.
- */
-typedef char itoa_buf_type[48];
-
-/**
- * Converts a <code>long long</code> to a C string.
- *
- * @param n The <code>long long</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-char* itoa( long long n, char *buf );
-
-/**
- * Converts a \c char to a C string.
- *
- * @param n The \c char to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( char n, char *buf ) {
- return itoa( static_cast<long long>( n ), buf );
-}
-
-/**
- * Converts a <code>signed char</code> to a C string.
- *
- * @param n The <code>signed char</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( signed char n, char *buf ) {
- return itoa( static_cast<long long>( n ), buf );
-}
-
-/**
- * Converts a \c short to a C string.
- *
- * @param n The \c short to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( short n, char *buf ) {
- return itoa( static_cast<long long>( n ), buf );
-}
-
-/**
- * Converts an \c int to a C string.
- *
- * @param n The \c int to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( int n, char *buf ) {
- return itoa( static_cast<long long>( n ), buf );
-}
-
-/**
- * Converts a \c long to a C string.
- *
- * @param n The \c long to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( long n, char *buf ) {
- return itoa( static_cast<long long>( n ), buf );
-}
-
-/**
- * Converts an <code>unsigned long long</code> to a C string.
- *
- * @param n The <code>unsigned long long</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-char* itoa( unsigned long long n, char *buf );
-
-/**
- * Converts an <code>unsigned char</code> to a C string.
- *
- * @param n The <code>unsigned char</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( unsigned char n, char *buf ) {
- return itoa( static_cast<unsigned long long>( n ), buf );
-}
-
-/**
- * Converts an <code>unsigned short</code> to a C string.
- *
- * @param n The <code>unsigned short</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( unsigned short n, char *buf ) {
- return itoa( static_cast<unsigned long long>( n ), buf );
-}
-
-/**
- * Converts an <code>unsigned int</code> to a C string.
- *
- * @param n The <code>unsigned int</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( unsigned int n, char *buf ) {
- return itoa( static_cast<unsigned long long>( n ), buf );
-}
-
-/**
- * Converts an <code>unsigned long</code> to a C string.
- *
- * @param n The <code>unsigned long</code> to convert.
- * @param buf The buffer for the result. The caller must ensure it's of
- * sufficient size.
- * @return Returns \a buf for convenience.
- */
-inline char* itoa( unsigned long n, char *buf ) {
- return itoa( static_cast<unsigned long long>( n ), buf );
-}
-
-/**
* Converts an object to its string representation.
*
* @tparam T The object type that:
@@ -823,8 +690,8 @@
template<typename T,class OutputStringType> inline
typename std::enable_if<ZORBA_TR1_NS::is_integral<T>::value,void>::type
to_string( T t, OutputStringType *out ) {
- itoa_buf_type buf;
- *out = itoa( t, buf );
+ ascii::itoa_buf_type buf;
+ *out = ascii::itoa( t, buf );
}
/**
=== modified file 'src/util/xml_util.tcc'
--- src/util/xml_util.tcc 2013-02-07 17:24:36 +0000
+++ src/util/xml_util.tcc 2013-03-11 15:03:21 +0000
@@ -21,7 +21,7 @@
# error "This file is not meant to be included directly."
#endif /* ZORBA_XML_UTIL_H */
-#include "string_util.h"
+#include "ascii_util.h"
namespace zorba {
namespace xml {
@@ -36,7 +36,7 @@
case '\'':
case '<':
case '>':
- ztd::itoa( c, buf_ + 2 /* skip over "&#" */ );
+ ascii::itoa( c, buf_ + 2 /* skip over "&#" */ );
buf_[4] = ';'; // because it gets overwritten with null by itoa()
this->container->append( buf_, 5 );
break;
=== modified file 'src/zorbatypes/datetime/duration.cpp'
--- src/zorbatypes/datetime/duration.cpp 2013-02-28 11:15:32 +0000
+++ src/zorbatypes/datetime/duration.cpp 2013-03-11 15:03:21 +0000
@@ -909,27 +909,28 @@
if (facet != DAYTIMEDURATION_FACET)
{
+ ascii::itoa_buf_type buf;
+
if (data[YEAR_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[YEAR_DATA], buf);
+ result += ascii::itoa(data[YEAR_DATA], buf);
result.append("Y", 1);
}
if (data[MONTH_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[MONTH_DATA], buf);
+ result += ascii::itoa(data[MONTH_DATA], buf);
result.append("M", 1);
}
}
if (facet != YEARMONTHDURATION_FACET)
{
+ ascii::itoa_buf_type buf;
+
if (data[DAY_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[DAY_DATA], buf);
+ result += ascii::itoa(data[DAY_DATA], buf);
result.append("D", 1);
}
@@ -944,22 +945,19 @@
if (data[HOUR_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[HOUR_DATA], buf);
+ result += ascii::itoa(data[HOUR_DATA], buf);
result.append("H", 1);
}
if (data[MINUTE_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[MINUTE_DATA], buf);
+ result += ascii::itoa(data[MINUTE_DATA], buf);
result.append("M", 1);
}
if (data[SECONDS_DATA] != 0 || data[FRACSECONDS_DATA] != 0)
{
- ztd::itoa_buf_type buf;
- result += ztd::itoa(data[SECONDS_DATA], buf);
+ result += ascii::itoa(data[SECONDS_DATA], buf);
if ( data[FRACSECONDS_DATA] != 0 )
{
=== modified file 'src/zorbatypes/decimal.cpp'
--- src/zorbatypes/decimal.cpp 2013-02-26 04:12:43 +0000
+++ src/zorbatypes/decimal.cpp 2013-03-11 15:03:21 +0000
@@ -21,7 +21,6 @@
#include "common/common.h"
#include "util/ascii_util.h"
-#include "util/string_util.h"
#include "decimal.h"
#include "integer.h"
@@ -180,18 +179,18 @@
////////// constructors ///////////////////////////////////////////////////////
Decimal::Decimal( long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
Decimal::Decimal( unsigned long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
Decimal::Decimal( unsigned long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
Decimal::Decimal( float f ) {
@@ -233,14 +232,14 @@
////////// assignment operators ///////////////////////////////////////////////
Decimal& Decimal::operator=( long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
return *this;
}
Decimal& Decimal::operator=( unsigned long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
return *this;
}
=== modified file 'src/zorbatypes/integer.cpp'
--- src/zorbatypes/integer.cpp 2013-02-26 04:12:43 +0000
+++ src/zorbatypes/integer.cpp 2013-03-11 15:03:21 +0000
@@ -73,26 +73,26 @@
#ifdef ZORBA_WITH_BIG_INTEGER
IntegerImpl::IntegerImpl( long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
#if ZORBA_SIZEOF_INT == ZORBA_SIZEOF_LONG
TEMPLATE_DECL(T)
INTEGER_IMPL(T)::IntegerImpl( unsigned int n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
#endif /* ZORBA_SIZEOF_INT == ZORBA_SIZEOF_LONG */
IntegerImpl::IntegerImpl( unsigned long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
IntegerImpl::IntegerImpl( unsigned long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
}
#endif /* ZORBA_WITH_BIG_INTEGER */
@@ -119,20 +119,20 @@
#ifdef ZORBA_WITH_BIG_INTEGER
IntegerImpl& IntegerImpl::operator=( long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
return *this;
}
IntegerImpl& IntegerImpl::operator=( unsigned long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
return *this;
}
IntegerImpl& IntegerImpl::operator=( unsigned long long n ) {
- ztd::itoa_buf_type buf;
- value_ = ztd::itoa( n, buf );
+ ascii::itoa_buf_type buf;
+ value_ = ascii::itoa( n, buf );
return *this;
}
#endif /* ZORBA_WITH_BIG_INTEGER */
@@ -186,14 +186,14 @@
#ifdef ZORBA_WITH_BIG_INTEGER
-#define ZORBA_INTEGER_OP(OP,T) \
- IntegerImpl operator OP( IntegerImpl const &i, T n ) { \
- ztd::itoa_buf_type buf; \
- return i.value_ OP IntegerImpl::value_type( ztd::itoa( n, buf ) ); \
- } \
- IntegerImpl operator OP( T n, IntegerImpl const &i ) { \
- ztd::itoa_buf_type buf; \
- return IntegerImpl::value_type( ztd::itoa( n, buf ) ) OP i.value_; \
+#define ZORBA_INTEGER_OP(OP,T) \
+ IntegerImpl operator OP( IntegerImpl const &i, T n ) { \
+ ascii::itoa_buf_type buf; \
+ return i.value_ OP IntegerImpl::value_type( ascii::itoa( n, buf ) ); \
+ } \
+ IntegerImpl operator OP( T n, IntegerImpl const &i ) { \
+ ascii::itoa_buf_type buf; \
+ return IntegerImpl::value_type( ascii::itoa( n, buf ) ) OP i.value_; \
}
ZORBA_INTEGER_OP(+,long long)
@@ -210,16 +210,16 @@
ZORBA_INTEGER_OP(%,unsigned long long)
#undef ZORBA_INTEGER_OP
-#define ZORBA_INTEGER_OP(T) \
- IntegerImpl operator/( IntegerImpl const &i, T n ) { \
- ztd::itoa_buf_type buf; \
- IntegerImpl::value_type const temp( ztd::itoa( n, buf ) ); \
- return IntegerImpl::ftoi( i.value_ / temp ); \
- } \
- IntegerImpl operator/( T n, IntegerImpl const &i ) { \
- ztd::itoa_buf_type buf; \
- IntegerImpl::value_type const temp( ztd::itoa( n, buf ) ); \
- return IntegerImpl::ftoi( temp / i.value_ ); \
+#define ZORBA_INTEGER_OP(T) \
+ IntegerImpl operator/( IntegerImpl const &i, T n ) { \
+ ascii::itoa_buf_type buf; \
+ IntegerImpl::value_type const temp( ascii::itoa( n, buf ) ); \
+ return IntegerImpl::ftoi( i.value_ / temp ); \
+ } \
+ IntegerImpl operator/( T n, IntegerImpl const &i ) { \
+ ascii::itoa_buf_type buf; \
+ IntegerImpl::value_type const temp( ascii::itoa( n, buf ) ); \
+ return IntegerImpl::ftoi( temp / i.value_ ); \
}
ZORBA_INTEGER_OP(long long)
@@ -227,12 +227,12 @@
ZORBA_INTEGER_OP(unsigned long long)
#undef ZORBA_INTEGER_OP
-#define ZORBA_INTEGER_OP(OP,T) \
- IntegerImpl& IntegerImpl::operator OP( T n ) { \
- ztd::itoa_buf_type buf; \
- value_type const temp( ztd::itoa( n, buf ) ); \
- value_ OP temp; \
- return *this; \
+#define ZORBA_INTEGER_OP(OP,T) \
+ IntegerImpl& IntegerImpl::operator OP( T n ) { \
+ ascii::itoa_buf_type buf; \
+ value_type const temp( ascii::itoa( n, buf ) ); \
+ value_ OP temp; \
+ return *this; \
}
ZORBA_INTEGER_OP(+=,long long)
@@ -250,11 +250,11 @@
#undef ZORBA_INTEGER_OP
#define ZORBA_INTEGER_OP(T) \
- IntegerImpl& IntegerImpl::operator/=( T n ) { \
- ztd::itoa_buf_type buf; \
- value_type const temp( ztd::itoa( n, buf ) ); \
- value_ = ftoi( value_ / temp ); \
- return *this; \
+ IntegerImpl& IntegerImpl::operator/=( T n ) { \
+ ascii::itoa_buf_type buf; \
+ value_type const temp( ascii::itoa( n, buf ) ); \
+ value_ = ftoi( value_ / temp ); \
+ return *this; \
}
ZORBA_INTEGER_OP(long long)
@@ -286,14 +286,14 @@
#ifdef ZORBA_WITH_BIG_INTEGER
#define ZORBA_INTEGER_OP(OP,T) \
- bool operator OP( IntegerImpl const &i, T n ) { \
- ztd::itoa_buf_type buf; \
- return i.value_ OP IntegerImpl::value_type( ztd::itoa( n, buf ) ); \
- } \
- \
- bool operator OP( T n, IntegerImpl const &i ) { \
- ztd::itoa_buf_type buf; \
- return IntegerImpl::value_type( ztd::itoa( n, buf ) ) OP i.value_; \
+ bool operator OP( IntegerImpl const &i, T n ) { \
+ ascii::itoa_buf_type buf; \
+ return i.value_ OP IntegerImpl::value_type( ascii::itoa( n, buf ) ); \
+ } \
+ \
+ bool operator OP( T n, IntegerImpl const &i ) { \
+ ascii::itoa_buf_type buf; \
+ return IntegerImpl::value_type( ascii::itoa( n, buf ) ) OP i.value_; \
}
ZORBA_INTEGER_OP(==,long long)
@@ -376,8 +376,8 @@
MAPM INTEGER_IMPL(T)::itod() const {
if ( is_cxx_long() )
return static_cast<long>( value_ );
- ztd::itoa_buf_type buf;
- return ztd::itoa( value_, buf );
+ ascii::itoa_buf_type buf;
+ return ascii::itoa( value_, buf );
}
#endif /* ZORBA_WITH_BIG_INTEGER */
@@ -438,8 +438,8 @@
delete[] buf;
return result;
#else
- ztd::itoa_buf_type buf;
- return ztd::itoa( value_, buf );
+ ascii::itoa_buf_type buf;
+ return ascii::itoa( value_, buf );
#endif /* ZORBA_WITH_BIG_INTEGER */
}
Follow ups