Skip to content

Commit 1e54ea1

Browse files
committed
lut expressions: atan2
1 parent d15294a commit 1e54ea1

File tree

4 files changed

+6
-1
lines changed

4 files changed

+6
-1
lines changed

common/parser/parser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Parser::Parser Parser::getDefaultParser()
139139
/* ternary operator */
140140
parser.addSymbol(Symbol::Interrogation);
141141
/* function */
142-
parser.addSymbol(Symbol::Abs).addSymbol(Symbol::Acos).addSymbol(Symbol::Asin).addSymbol(Symbol::Atan).addSymbol(Symbol::Cos).addSymbol(Symbol::Exp).addSymbol(Symbol::Log).addSymbol(Symbol::Sin).addSymbol(Symbol::Tan).addSymbol(Symbol::Min).addSymbol(Symbol::Max).addSymbol(Symbol::Clip);
142+
parser.addSymbol(Symbol::Abs).addSymbol(Symbol::Acos).addSymbol(Symbol::Asin).addSymbol(Symbol::Atan).addSymbol(Symbol::Atan2).addSymbol(Symbol::Cos).addSymbol(Symbol::Exp).addSymbol(Symbol::Log).addSymbol(Symbol::Sin).addSymbol(Symbol::Tan).addSymbol(Symbol::Min).addSymbol(Symbol::Max).addSymbol(Symbol::Clip);
143143
/* rounding */
144144
parser.addSymbol(Symbol::Round).addSymbol(Symbol::Floor).addSymbol(Symbol::Trunc).addSymbol(Symbol::Ceil);
145145
/* number */

common/parser/symbol.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,15 @@ static double mtmabs (double x) { return abs(x); }
5151
static double mtacos (double x) { return acos(x); }
5252
static double mtasin (double x) { return asin(x); }
5353
static double mtatan (double x) { return atan(x); }
54+
static double mtatan2 (double y, double x) { return atan2(y, x); }
5455
static double mtround (double x) { return double(convert<Int64, double>( x )); }
5556
static double mtclip (double x, double y, double z) { return clip<double, double>( x, y, z ); }
5657
static double mtmin (double x, double y) { return min<double>( x, y ); }
5758
static double mtmax (double x, double y) { return max<double>( x, y ); }
5859
static double mtfloor (double x) { return floor(x); }
5960
static double mtceil (double x) { return ceil(x); }
6061
static double mttrunc (double x) { return double(Int64(x)); }
62+
6163
// bit depth conversion helpers. x:value on 8 bit scale y: target bit depth 8-32 z:base bit depth
6264
static double do_upscaleByShift(double x, int y, int z, bool chroma, bool shift_float)
6365
{
@@ -236,6 +238,7 @@ Symbol Symbol::Log ("log", FUNCTION, mtlog);
236238
Symbol Symbol::Exp ("exp", FUNCTION, mtexp);
237239
Symbol Symbol::Abs ("abs", FUNCTION, mtmabs);
238240
Symbol Symbol::Atan ("atan", FUNCTION, mtatan);
241+
Symbol Symbol::Atan2 ("atan2", FUNCTION, mtatan2);
239242
Symbol Symbol::Acos ("acos", FUNCTION, mtacos);
240243
Symbol Symbol::Asin ("asin", FUNCTION, mtasin);
241244
Symbol Symbol::Round ("round", FUNCTION, mtround);

common/parser/symbol.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ class Symbol {
165165
static Symbol Exp;
166166
static Symbol Acos;
167167
static Symbol Atan;
168+
static Symbol Atan2;
168169
static Symbol Asin;
169170
static Symbol Round;
170171
static Symbol Clip;

masktools/helpers/parser/spirit.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ struct Syntax :
141141
(str_p("tan") >> '(' >> (termter) >> ')')[AddNamedSymbol("tan", self.rpn)] |
142142
(str_p("exp") >> '(' >> (termter) >> ')')[AddNamedSymbol("exp", self.rpn)] |
143143
(str_p("log") >> '(' >> (termter) >> ')')[AddNamedSymbol("log", self.rpn)] |
144+
(str_p("atan2") >> '(' >> (termter) >> ',' >> (termter) >> ')')[AddNamedSymbol("atan2", self.rpn)] |
144145
(str_p("atan") >> '(' >> (termter) >> ')')[AddNamedSymbol("atan", self.rpn)] |
145146
(str_p("acos") >> '(' >> (termter) >> ')')[AddNamedSymbol("acos", self.rpn)] |
146147
(str_p("asin") >> '(' >> (termter) >> ')')[AddNamedSymbol("asin", self.rpn)] |

0 commit comments

Comments
 (0)