@@ -1720,6 +1720,8 @@ QAST::Operations.add_core_pirop_mapping('mod_i', 'mod', 'Iii', :inlinable(1));
1720
1720
QAST ::Operations. add_core_pirop_mapping(' mod_I' , ' nqp_bigint_mod' , ' PPPP' , : inlinable(1 ));
1721
1721
QAST ::Operations. add_core_pirop_mapping(' expmod_I' , ' nqp_bigint_exp_mod' , ' PPPPP' , : inlinable(1 ));
1722
1722
QAST ::Operations. add_core_pirop_mapping(' isprime_I' , ' nqp_bigint_is_prime' , ' IPi' , : inlinable(1 ));
1723
+ QAST ::Operations. add_core_pirop_mapping(' srand' , ' srand' , ' 0i' , : inlinable(1 ));
1724
+ QAST ::Operations. add_core_pirop_mapping(' rand_n' , ' rand' , ' Nn' , : inlinable(1 ));
1723
1725
QAST ::Operations. add_core_pirop_mapping(' rand_I' , ' nqp_bigint_rand' , ' PPP' , : inlinable(1 ));
1724
1726
QAST ::Operations. add_core_pirop_mapping(' mod_n' , ' mod' , ' Nnn' , : inlinable(1 ));
1725
1727
QAST ::Operations. add_core_pirop_mapping(' pow_n' , ' pow' , ' Nnn' , : inlinable(1 ));
@@ -1745,6 +1747,24 @@ QAST::Operations.add_core_pirop_mapping('radix_I', 'nqp_bigint_radix', 'PisiiP',
1745
1747
QAST ::Operations. add_core_pirop_mapping(' log_n' , ' ln' , ' NN' , : inlinable(1 ));
1746
1748
QAST ::Operations. add_core_pirop_mapping(' exp_n' , ' exp' , ' Nn' , : inlinable(1 ));
1747
1749
QAST ::Operations. add_core_pirop_mapping(' isnanorinf' , ' is_inf_or_nan' , ' In' , : inlinable(1 ));
1750
+ QAST ::Operations. add_core_op(' inf' , : inlinable(1 ), -> $ qastcomp , $ op {
1751
+ $ qastcomp . as_post(QAST ::VM. new (
1752
+ : pirop(' set Ns' ),
1753
+ QAST ::SVal. new ( : value(' Inf' ) )
1754
+ ))
1755
+ });
1756
+ QAST ::Operations. add_core_op(' neginf' , : inlinable(1 ), -> $ qastcomp , $ op {
1757
+ $ qastcomp . as_post(QAST ::VM. new (
1758
+ : pirop(' set Ns' ),
1759
+ QAST ::SVal. new ( : value(' -Inf' ) )
1760
+ ))
1761
+ });
1762
+ QAST ::Operations. add_core_op(' nan' , : inlinable(1 ), -> $ qastcomp , $ op {
1763
+ $ qastcomp . as_post(QAST ::VM. new (
1764
+ : pirop(' set Ns' ),
1765
+ QAST ::SVal. new ( : value(' NaN' ) )
1766
+ ))
1767
+ });
1748
1768
1749
1769
# trig opcodes
1750
1770
QAST ::Operations. add_core_pirop_mapping(' sin_n' , ' sin' , ' NN' , : inlinable(1 ));
0 commit comments