Skip to content

Commit 6dc168e

Browse files
committed
use dragonbox's string generation for teju
1 parent ff76a9d commit 6dc168e

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

benchmarks/algorithms.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,15 @@ template<arithmetic_float T>
241241
int teju_jagua(T d, std::span<char>& buffer) {
242242
const auto fields = teju::traits_t<T>::teju(d);
243243
const bool sign = std::signbit(d);
244-
return to_chars(fields.mantissa, fields.exponent, sign, buffer.data());
244+
// return to_chars(fields.mantissa, fields.exponent, sign, buffer.data());
245+
246+
char* ptr = buffer.data();
247+
if(sign) *ptr++ = '-';
248+
using traits = jkj::dragonbox::default_float_traits<T>;
249+
using carrier_uint = typename traits::carrier_uint;
250+
const char* end = jkj::dragonbox::to_chars_detail::to_chars<T, traits>(
251+
static_cast<carrier_uint>(fields.mantissa), fields.exponent, ptr);
252+
return end - buffer.data();
245253
}
246254

247255
template<arithmetic_float T>

0 commit comments

Comments
 (0)