@@ -19,7 +19,7 @@ internal static class CompiledMathFunctions
1919 { "logf" , 7 } ,
2020 } ;
2121
22- internal delegate void CompiledFunction ( Stack stack ) ;
22+ internal delegate void CompiledFunction ( Stack < Number > stack ) ;
2323 internal static CompiledFunction [ ] functions =
2424 new CompiledFunction [ ]
2525 {
@@ -35,45 +35,51 @@ internal static class CompiledMathFunctions
3535
3636 internal static Number [ ] buffer = new Number [ 10 ] ;
3737
38- internal static void Sumf ( Stack stack )
38+ internal static void Sumf ( Stack < Number > stack )
3939 {
40- stack . Pop ( 2 , buffer ) ;
41- stack . Push ( buffer [ 0 ] + buffer [ 1 ] ) ;
40+ Number n1 = stack . Pop ( ) ;
41+ Number n2 = stack . Pop ( ) ;
42+ stack . Push ( n1 + n2 ) ;
4243 }
43- internal static void Minusf ( Stack stack )
44+ internal static void Minusf ( Stack < Number > stack )
4445 {
45- stack . Pop ( 2 , buffer ) ;
46- stack . Push ( buffer [ 0 ] - buffer [ 1 ] ) ;
46+ Number n1 = stack . Pop ( ) ;
47+ Number n2 = stack . Pop ( ) ;
48+ stack . Push ( n1 - n2 ) ;
4749 }
48- internal static void Mulf ( Stack stack )
50+ internal static void Mulf ( Stack < Number > stack )
4951 {
50- stack . Pop ( 2 , buffer ) ;
51- stack . Push ( buffer [ 0 ] * buffer [ 1 ] ) ;
52+ Number n1 = stack . Pop ( ) ;
53+ Number n2 = stack . Pop ( ) ;
54+ stack . Push ( n1 * n2 ) ;
5255 }
53- internal static void Divf ( Stack stack )
56+ internal static void Divf ( Stack < Number > stack )
5457 {
55- stack . Pop ( 2 , buffer ) ;
56- stack . Push ( buffer [ 0 ] / buffer [ 1 ] ) ;
58+ Number n1 = stack . Pop ( ) ;
59+ Number n2 = stack . Pop ( ) ;
60+ stack . Push ( n1 / n2 ) ;
5761 }
58- internal static void Powf ( Stack stack )
62+ internal static void Powf ( Stack < Number > stack )
5963 {
60- stack . Pop ( 2 , buffer ) ;
61- stack . Push ( Number . Pow ( buffer [ 0 ] , buffer [ 1 ] ) ) ;
64+ Number n1 = stack . Pop ( ) ;
65+ Number n2 = stack . Pop ( ) ;
66+ stack . Push ( Number . Pow ( n1 , n2 ) ) ;
6267 }
63- internal static void Sinf ( Stack stack )
68+ internal static void Sinf ( Stack < Number > stack )
6469 {
65- stack . Pop ( 1 , buffer ) ;
66- stack . Push ( Number . Sin ( buffer [ 0 ] ) ) ;
70+ Number n = stack . Pop ( ) ;
71+ stack . Push ( Number . Sin ( n ) ) ;
6772 }
68- internal static void Cosf ( Stack stack )
73+ internal static void Cosf ( Stack < Number > stack )
6974 {
70- stack . Pop ( 1 , buffer ) ;
71- stack . Push ( Number . Cos ( buffer [ 0 ] ) ) ;
75+ Number n = stack . Pop ( ) ;
76+ stack . Push ( Number . Cos ( n ) ) ;
7277 }
73- internal static void Logf ( Stack stack )
78+ internal static void Logf ( Stack < Number > stack )
7479 {
75- stack . Pop ( 2 , buffer ) ;
76- stack . Push ( Number . Log ( buffer [ 0 ] , buffer [ 1 ] ) ) ;
80+ Number n1 = stack . Pop ( ) ;
81+ Number n2 = stack . Pop ( ) ;
82+ stack . Push ( Number . Log ( n1 , n2 ) ) ;
7783 }
7884 }
7985}
0 commit comments