mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-22 19:22:05 +00:00
@@ -119,6 +119,14 @@ int32_t fix_Div(int32_t i, int32_t j)
|
||||
return double2fix(fix2double(i) / fix2double(j));
|
||||
}
|
||||
|
||||
/*
|
||||
* Modulo
|
||||
*/
|
||||
int32_t fix_Mod(int32_t i, int32_t j)
|
||||
{
|
||||
return double2fix(fmod(fix2double(i), fix2double(j)));
|
||||
}
|
||||
|
||||
/*
|
||||
* Power
|
||||
*/
|
||||
|
||||
@@ -181,6 +181,7 @@ static struct KeywordMapping {
|
||||
{"FLOOR", T_OP_FLOOR},
|
||||
{"DIV", T_OP_FDIV},
|
||||
{"MUL", T_OP_FMUL},
|
||||
{"FMOD", T_OP_FMOD},
|
||||
{"POW", T_OP_POW},
|
||||
{"LOG", T_OP_LOG},
|
||||
{"SIN", T_OP_SIN},
|
||||
|
||||
@@ -558,6 +558,7 @@ enum {
|
||||
%token T_OP_ASIN "ASIN" T_OP_ACOS "ACOS" T_OP_ATAN "ATAN" T_OP_ATAN2 "ATAN2"
|
||||
%token T_OP_FDIV "FDIV"
|
||||
%token T_OP_FMUL "FMUL"
|
||||
%token T_OP_FMOD "FMOD"
|
||||
%token T_OP_POW "POW"
|
||||
%token T_OP_LOG "LOG"
|
||||
%token T_OP_ROUND "ROUND"
|
||||
@@ -1488,6 +1489,9 @@ relocexpr_no_str : scoped_anon_id { rpn_Symbol(&$$, $1); }
|
||||
| T_OP_FMUL T_LPAREN const T_COMMA const T_RPAREN {
|
||||
rpn_Number(&$$, fix_Mul($3, $5));
|
||||
}
|
||||
| T_OP_FMOD T_LPAREN const T_COMMA const T_RPAREN {
|
||||
rpn_Number(&$$, fix_Mod($3, $5));
|
||||
}
|
||||
| T_OP_POW T_LPAREN const T_COMMA const T_RPAREN {
|
||||
rpn_Number(&$$, fix_Pow($3, $5));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user