@ -1051,6 +1051,10 @@ int main() {
assert ( cacheMemory [ 33554431 ] = = 0x1f47f056d05cd99b ) ;
} ) ;
if ( cache ! = nullptr )
randomx_release_cache ( cache ) ;
cache = randomx_alloc_cache ( RANDOMX_FLAG_DEFAULT ) ;
runTest ( " Hash batch test " , RANDOMX_HAVE_COMPILER & & stringsEqual ( RANDOMX_ARGON_SALT , " RandomX \x03 " ) , [ ] ( ) {
char hash1 [ RANDOMX_HASH_SIZE ] ;
char hash2 [ RANDOMX_HASH_SIZE ] ;
@ -1070,6 +1074,14 @@ int main() {
assert ( equalsHex ( hash3 , " c36d4ed4191e617309867ed66a443be4075014e2b061bcdaf9ce7b721d2b77a8 " ) ) ;
} ) ;
runTest ( " Preserve rounding mode " , RANDOMX_FREQ_CFROUND > 0 , [ ] ( ) {
rx_set_rounding_mode ( RoundToNearest ) ;
char hash [ RANDOMX_HASH_SIZE ] ;
calcStringHash ( " test key 000 " , " Lorem ipsum dolor sit amet " , & hash ) ;
assert ( equalsHex ( hash , " 300a0adb47603dedb42228ccb2b211104f4da45af709cd7547cd049e9489c969 " ) ) ;
assert ( rx_get_rounding_mode ( ) = = RoundToNearest ) ;
} ) ;
randomx_destroy_vm ( vm ) ;
vm = nullptr ;