diff --git a/include/simstr/sstring.h b/include/simstr/sstring.h index e63ad90..e51a529 100644 --- a/include/simstr/sstring.h +++ b/include/simstr/sstring.h @@ -322,7 +322,7 @@ struct int_convert { // NOLINT if constexpr (sizeof(K) == 1) { return NUMBERS[us]; } else { - return us < 256 ? NUMBERS[us] : 255; + return us < 256 ? NUMBERS[us] : us; } } } diff --git a/src/sstring.cpp b/src/sstring.cpp index feff50a..52d4b7c 100644 --- a/src/sstring.cpp +++ b/src/sstring.cpp @@ -1463,9 +1463,9 @@ SIMSTR_API std::optional impl_to_double(const K* start, const K* end) { return d; } -template std::optional impl_to_double(const u8s* start, const u8s* end); -template std::optional impl_to_double(const u16s* start, const u16s* end); -template std::optional impl_to_double(const u32s* start, const u32s* end); -template std::optional impl_to_double(const uws* start, const uws* end); +template SIMSTR_API std::optional impl_to_double(const u8s* start, const u8s* end); +template SIMSTR_API std::optional impl_to_double(const u16s* start, const u16s* end); +template SIMSTR_API std::optional impl_to_double(const u32s* start, const u32s* end); +template SIMSTR_API std::optional impl_to_double(const uws* start, const uws* end); } // namespace simstr