1818 */
1919static prjm_eval_function_def_t intrinsic_function_table [] = {
2020 /* Special intrinsic functions. Cannot be used via expression syntax. */
21- { "/*const*/" , prjm_eval_func_const , 0 , true, false },
22- { "/*var*/" , prjm_eval_func_var , 0 , false, false },
23- { "/*list*/" , prjm_eval_func_execute_list , 1 , true, false },
24- { "/*or*/" , prjm_eval_func_or , 2 , true, false },
25- { "/*and*/" , prjm_eval_func_and , 2 , true, false },
26-
27- { "if" , prjm_eval_func_if , 3 , true, false },
28- { "_if" , prjm_eval_func_if , 3 , true, false },
29- { "_and" , prjm_eval_func_band_op , 2 , true, false },
30- { "_or" , prjm_eval_func_bor_op , 2 , true, false },
31- { "loop" , prjm_eval_func_execute_loop , 2 , true, false },
32- { "while" , prjm_eval_func_execute_while , 1 , true, false },
33-
34- { "_not" , prjm_eval_func_bnot , 1 , true, false },
35- { "bnot" , prjm_eval_func_bnot , 1 , true, false },
36- { "_equal" , prjm_eval_func_equal , 2 , true, false },
37- { "equal" , prjm_eval_func_equal , 2 , true, false },
38- { "_noteq" , prjm_eval_func_notequal , 2 , true, false },
39- { "_below" , prjm_eval_func_below , 2 , true, false },
40- { "below" , prjm_eval_func_below , 2 , true, false },
41- { "_above" , prjm_eval_func_above , 2 , true, false },
42- { "above" , prjm_eval_func_above , 2 , true, false },
43- { "_beleq" , prjm_eval_func_beloweq , 2 , true, false },
44- { "_aboeq" , prjm_eval_func_aboveeq , 2 , true, false },
45-
46- { "_set" , prjm_eval_func_set , 2 , false, true },
47- { "assign" , prjm_eval_func_set , 2 , false, true },
48- { "_add" , prjm_eval_func_add , 2 , true, false },
49- { "_sub" , prjm_eval_func_sub , 2 , true, false },
50- { "_mul" , prjm_eval_func_mul , 2 , true, false },
51- { "_div" , prjm_eval_func_div , 2 , true, false },
52- { "_mod" , prjm_eval_func_mod , 2 , true, false },
53- { "_mulop" , prjm_eval_func_mulop , 2 , false, true },
54- { "_divop" , prjm_eval_func_divop , 2 , false, true },
55- { "_orop" , prjm_eval_func_orop , 2 , false, true },
56- { "_andop" , prjm_eval_func_andop , 2 , false, true },
57- { "_addop" , prjm_eval_func_addop , 2 , false, true },
58- { "_subop" , prjm_eval_func_subop , 2 , false, true },
59- { "_modop" , prjm_eval_func_modop , 2 , false, true },
60-
61- { "sin" , prjm_eval_func_sin , 1 , true, false },
62- { "cos" , prjm_eval_func_cos , 1 , true, false },
63- { "tan" , prjm_eval_func_tan , 1 , true, false },
64- { "asin" , prjm_eval_func_asin , 1 , true, false },
65- { "acos" , prjm_eval_func_acos , 1 , true, false },
66- { "atan" , prjm_eval_func_atan , 1 , true, false },
67- { "atan2" , prjm_eval_func_atan2 , 2 , true, false },
68- { "sqr" , prjm_eval_func_sqr , 1 , true, false },
69- { "sqrt" , prjm_eval_func_sqrt , 1 , true, false },
70- { "pow" , prjm_eval_func_pow , 2 , true, false },
71- { "_powop" , prjm_eval_func_powop , 2 , false, true },
72- { "exp" , prjm_eval_func_exp , 1 , true, false },
73- { "_neg" , prjm_eval_func_neg , 1 , true, false },
74-
75- { "log" , prjm_eval_func_log , 1 , true, false },
76- { "log10" , prjm_eval_func_log10 , 1 , true, false },
77- { "abs" , prjm_eval_func_abs , 1 , true, false },
78- { "min" , prjm_eval_func_min , 2 , true, false },
79- { "max" , prjm_eval_func_max , 2 , true, false },
80- { "sign" , prjm_eval_func_sign , 1 , true, false },
81- { "rand" , prjm_eval_func_rand , 1 , false, false },
82- { "floor" , prjm_eval_func_floor , 1 , true, false },
83- { "int" , prjm_eval_func_floor , 1 , true, false },
84- { "ceil" , prjm_eval_func_ceil , 1 , true, false },
85- { "invsqrt" , prjm_eval_func_invsqrt , 1 , true, false },
86- { "sigmoid" , prjm_eval_func_sigmoid , 2 , true, false },
87-
88- { "band" , prjm_eval_func_band_func , 2 , true, false },
89- { "bor" , prjm_eval_func_bor_func , 2 , true, false },
90-
91- { "exec2" , prjm_eval_func_exec2 , 2 , true, false },
92- { "exec3" , prjm_eval_func_exec3 , 3 , true, false },
93- { "_mem" , prjm_eval_func_mem , 1 , false, true },
94- { "megabuf" , prjm_eval_func_mem , 1 , false, true },
95- { "_gmem" , prjm_eval_func_mem , 1 , false, true },
96- { "gmegabuf" , prjm_eval_func_mem , 1 , false, true },
97- { "freembuf" , prjm_eval_func_freembuf , 1 , false, true },
98- { "memcpy" , prjm_eval_func_memcpy , 3 , false, true },
99- { "memset" , prjm_eval_func_memset , 3 , false, true }
21+ { "/*const*/" , prjm_eval_func_const , 0 , true, false },
22+ { "/*var*/" , prjm_eval_func_var , 0 , false, false },
23+ { "/*list*/" , prjm_eval_func_execute_list , 1 , true, false },
24+ { "/*or*/" , prjm_eval_func_bitwise_or , 2 , true, false },
25+ { "/*and*/" , prjm_eval_func_bitwise_and , 2 , true, false },
26+
27+ { "if" , prjm_eval_func_if , 3 , true, false },
28+ { "_if" , prjm_eval_func_if , 3 , true, false },
29+ { "_and" , prjm_eval_func_boolean_and_op , 2 , true, false },
30+ { "_or" , prjm_eval_func_boolean_or_op , 2 , true, false },
31+ { "loop" , prjm_eval_func_execute_loop , 2 , true, false },
32+ { "while" , prjm_eval_func_execute_while , 1 , true, false },
33+
34+ { "_not" , prjm_eval_func_bnot , 1 , true, false },
35+ { "bnot" , prjm_eval_func_bnot , 1 , true, false },
36+ { "_equal" , prjm_eval_func_equal , 2 , true, false },
37+ { "equal" , prjm_eval_func_equal , 2 , true, false },
38+ { "_noteq" , prjm_eval_func_notequal , 2 , true, false },
39+ { "_below" , prjm_eval_func_below , 2 , true, false },
40+ { "below" , prjm_eval_func_below , 2 , true, false },
41+ { "_above" , prjm_eval_func_above , 2 , true, false },
42+ { "above" , prjm_eval_func_above , 2 , true, false },
43+ { "_beleq" , prjm_eval_func_beloweq , 2 , true, false },
44+ { "_aboeq" , prjm_eval_func_aboveeq , 2 , true, false },
45+
46+ { "_set" , prjm_eval_func_set , 2 , false, true },
47+ { "assign" , prjm_eval_func_set , 2 , false, true },
48+ { "_add" , prjm_eval_func_add , 2 , true, false },
49+ { "_sub" , prjm_eval_func_sub , 2 , true, false },
50+ { "_mul" , prjm_eval_func_mul , 2 , true, false },
51+ { "_div" , prjm_eval_func_div , 2 , true, false },
52+ { "_mod" , prjm_eval_func_mod , 2 , true, false },
53+ { "_mulop" , prjm_eval_func_mul_op , 2 , false, true },
54+ { "_divop" , prjm_eval_func_div_op , 2 , false, true },
55+ { "_orop" , prjm_eval_func_bitwise_or_op , 2 , false, true },
56+ { "_andop" , prjm_eval_func_bitwise_and_op , 2 , false, true },
57+ { "_addop" , prjm_eval_func_add_op , 2 , false, true },
58+ { "_subop" , prjm_eval_func_sub_op , 2 , false, true },
59+ { "_modop" , prjm_eval_func_mod_op , 2 , false, true },
60+
61+ { "sin" , prjm_eval_func_sin , 1 , true, false },
62+ { "cos" , prjm_eval_func_cos , 1 , true, false },
63+ { "tan" , prjm_eval_func_tan , 1 , true, false },
64+ { "asin" , prjm_eval_func_asin , 1 , true, false },
65+ { "acos" , prjm_eval_func_acos , 1 , true, false },
66+ { "atan" , prjm_eval_func_atan , 1 , true, false },
67+ { "atan2" , prjm_eval_func_atan2 , 2 , true, false },
68+ { "sqr" , prjm_eval_func_sqr , 1 , true, false },
69+ { "sqrt" , prjm_eval_func_sqrt , 1 , true, false },
70+ { "pow" , prjm_eval_func_pow , 2 , true, false },
71+ { "_powop" , prjm_eval_func_pow_op , 2 , false, true },
72+ { "exp" , prjm_eval_func_exp , 1 , true, false },
73+ { "_neg" , prjm_eval_func_neg , 1 , true, false },
74+
75+ { "log" , prjm_eval_func_log , 1 , true, false },
76+ { "log10" , prjm_eval_func_log10 , 1 , true, false },
77+ { "abs" , prjm_eval_func_abs , 1 , true, false },
78+ { "min" , prjm_eval_func_min , 2 , true, false },
79+ { "max" , prjm_eval_func_max , 2 , true, false },
80+ { "sign" , prjm_eval_func_sign , 1 , true, false },
81+ { "rand" , prjm_eval_func_rand , 1 , false, false },
82+ { "floor" , prjm_eval_func_floor , 1 , true, false },
83+ { "int" , prjm_eval_func_floor , 1 , true, false },
84+ { "ceil" , prjm_eval_func_ceil , 1 , true, false },
85+ { "invsqrt" , prjm_eval_func_invsqrt , 1 , true, false },
86+ { "sigmoid" , prjm_eval_func_sigmoid , 2 , true, false },
87+
88+ { "band" , prjm_eval_func_boolean_and_func , 2 , true, false },
89+ { "bor" , prjm_eval_func_boolean_or_func , 2 , true, false },
90+
91+ { "exec2" , prjm_eval_func_exec2 , 2 , true, false },
92+ { "exec3" , prjm_eval_func_exec3 , 3 , true, false },
93+ { "_mem" , prjm_eval_func_mem , 1 , false, true },
94+ { "megabuf" , prjm_eval_func_mem , 1 , false, true },
95+ { "_gmem" , prjm_eval_func_mem , 1 , false, true },
96+ { "gmegabuf" , prjm_eval_func_mem , 1 , false, true },
97+ { "freembuf" , prjm_eval_func_freembuf , 1 , false, true },
98+ { "memcpy" , prjm_eval_func_memcpy , 3 , false, true },
99+ { "memset" , prjm_eval_func_memset , 3 , false, true }
100100};
101101
102102
@@ -610,7 +610,7 @@ prjm_eval_function_decl(mod)
610610 assign_ret_val ((PRJM_EVAL_F ) ((int ) * val1_ptr % divisor ));
611611}
612612
613- prjm_eval_function_decl (band_op )
613+ prjm_eval_function_decl (boolean_and_op )
614614{
615615 assert_valid_ctx ();
616616
@@ -637,7 +637,7 @@ prjm_eval_function_decl(band_op)
637637 }
638638}
639639
640- prjm_eval_function_decl (bor_op )
640+ prjm_eval_function_decl (boolean_or_op )
641641{
642642 assert_valid_ctx ();
643643
@@ -664,7 +664,7 @@ prjm_eval_function_decl(bor_op)
664664 }
665665}
666666
667- prjm_eval_function_decl (band_func )
667+ prjm_eval_function_decl (boolean_and_func )
668668{
669669 assert_valid_ctx ();
670670
@@ -680,7 +680,7 @@ prjm_eval_function_decl(band_func)
680680 assign_ret_val (fabs (* val1_ptr ) > close_factor && fabs (* val2_ptr ) > close_factor ? 1.0 : 0.0 );
681681}
682682
683- prjm_eval_function_decl (bor_func )
683+ prjm_eval_function_decl (boolean_or_func )
684684{
685685 assert_valid_ctx ();
686686
@@ -708,7 +708,7 @@ prjm_eval_function_decl(neg)
708708 assign_ret_val (- (* val1_ptr ));
709709}
710710
711- prjm_eval_function_decl (addop )
711+ prjm_eval_function_decl (add_op )
712712{
713713 assert_valid_ctx ();
714714
@@ -721,7 +721,7 @@ prjm_eval_function_decl(addop)
721721 assign_ret_val (* * ret_val + * val2_ptr );
722722}
723723
724- prjm_eval_function_decl (subop )
724+ prjm_eval_function_decl (sub_op )
725725{
726726 assert_valid_ctx ();
727727
@@ -734,7 +734,7 @@ prjm_eval_function_decl(subop)
734734 assign_ret_val (* * ret_val - * val2_ptr );
735735}
736736
737- prjm_eval_function_decl (mulop )
737+ prjm_eval_function_decl (mul_op )
738738{
739739 assert_valid_ctx ();
740740
@@ -747,7 +747,7 @@ prjm_eval_function_decl(mulop)
747747 assign_ret_val (* * ret_val * * val2_ptr );
748748}
749749
750- prjm_eval_function_decl (divop )
750+ prjm_eval_function_decl (div_op )
751751{
752752 assert_valid_ctx ();
753753
@@ -766,7 +766,7 @@ prjm_eval_function_decl(divop)
766766 assign_ret_val (* * ret_val / * val2_ptr );
767767}
768768
769- prjm_eval_function_decl (orop )
769+ prjm_eval_function_decl (bitwise_or_op )
770770{
771771 assert_valid_ctx ();
772772
@@ -779,7 +779,7 @@ prjm_eval_function_decl(orop)
779779 assign_ret_val ((PRJM_EVAL_F ) ((int )(* * ret_val ) | (int )(* val2_ptr )));
780780}
781781
782- prjm_eval_function_decl (or )
782+ prjm_eval_function_decl (bitwise_or )
783783{
784784 assert_valid_ctx ();
785785
@@ -794,7 +794,7 @@ prjm_eval_function_decl(or)
794794 assign_ret_val ((PRJM_EVAL_F ) ((int )(* val1_ptr ) | (int )(* val2_ptr )));
795795}
796796
797- prjm_eval_function_decl (andop )
797+ prjm_eval_function_decl (bitwise_and_op )
798798{
799799 assert_valid_ctx ();
800800
@@ -807,7 +807,7 @@ prjm_eval_function_decl(andop)
807807 assign_ret_val ((PRJM_EVAL_F ) ((int )(* * ret_val ) & (int )(* val2_ptr )));
808808}
809809
810- prjm_eval_function_decl (and )
810+ prjm_eval_function_decl (bitwise_and )
811811{
812812 assert_valid_ctx ();
813813
@@ -822,7 +822,7 @@ prjm_eval_function_decl(and)
822822 assign_ret_val ((PRJM_EVAL_F ) ((int )(* val1_ptr ) & (int )(* val2_ptr )));
823823}
824824
825- prjm_eval_function_decl (modop )
825+ prjm_eval_function_decl (mod_op )
826826{
827827 assert_valid_ctx ();
828828
@@ -841,7 +841,7 @@ prjm_eval_function_decl(modop)
841841 assign_ret_val ((PRJM_EVAL_F ) ((int )(* * ret_val ) % divisor ));
842842}
843843
844- prjm_eval_function_decl (powop )
844+ prjm_eval_function_decl (pow_op )
845845{
846846 assert_valid_ctx ();
847847
0 commit comments