Switch to 32-bit math by default.

I'll need a way to get back into 64-bit mode.
This commit is contained in:
2025-09-17 11:38:14 -04:00
parent e8e2027a1a
commit cc4e57d6b5
2 changed files with 20 additions and 8 deletions

View File

@ -228,10 +228,11 @@ namespace Dillo::Hydrogen::JavaScriptForge ::detail:: StackMachine_m
{
if( std::holds_alternative< T >( peek() ) ) return std::get< T >( pop() );
else if( std::holds_alternative< Integer >( peek() ) ) return boost::lexical_cast< T >( std::get< Integer >( pop() ) );
else if( std::holds_alternative< Long >( peek() ) ) return boost::lexical_cast< T >( std::get< Long >( pop() ) );
else return boost::lexical_cast< T >( std::get< std::string >( pop() ) );
}
std::variant< std::string, StackMachine::Integer >
StackMachine::Value
StackMachine::pop()
{
const auto rv= std::move( peek() );
@ -239,7 +240,7 @@ namespace Dillo::Hydrogen::JavaScriptForge ::detail:: StackMachine_m
return rv;
}
std::variant< std::string, StackMachine::Integer > &
StackMachine::Value &
StackMachine::peek()
{
if( stack.empty() ) throw std::runtime_error{ "FATAL: No more elements in stack." };
@ -247,7 +248,7 @@ namespace Dillo::Hydrogen::JavaScriptForge ::detail:: StackMachine_m
}
void
StackMachine::push( std::variant< std::string, Integer > element )
StackMachine::push( Value element )
{
stack.push_back( std::move( element ) );
}
@ -264,11 +265,18 @@ namespace Dillo::Hydrogen::JavaScriptForge ::detail:: StackMachine_m
stack.push_back( std::move( element ) );
}
void
StackMachine::push( Long element )
{
stack.push_back( std::move( element ) );
}
template< typename T >
void
StackMachine::push( const T &t )
{
if constexpr( std::is_same_v< Integer, T > ) push( t );
else if constexpr( std::is_same_v< Long, T > ) push( t );
else if constexpr( std::is_same_v< std::string, T > ) push( t );
else push( boost::lexical_cast< std::string >( t ) );
}