YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
|
Go to the source code of this file.
Classes | |
class | yask::yc_expr_node |
Base class for all AST nodes. More... | |
class | yask::yc_equation_node |
Equation node. More... | |
class | yask::yc_number_node |
Base class for all numerical AST nodes. More... | |
class | yask::yc_bool_node |
Base class for all boolean AST nodes. More... | |
class | yask::yc_index_node |
A dimension or an index in that dimension. More... | |
class | yask::yc_var_point_node |
A reference to a point in a var. More... | |
class | yask::yc_const_number_node |
A constant numerical value. More... | |
class | yask::yc_negate_node |
A numerical negation operator. More... | |
class | yask::yc_commutative_number_node |
Base class for commutative numerical operators. More... | |
class | yask::yc_add_node |
An addition node. More... | |
class | yask::yc_multiply_node |
A multiplication node. More... | |
class | yask::yc_binary_number_node |
Base class for numerical binary operators. More... | |
class | yask::yc_subtract_node |
A subtraction node. More... | |
class | yask::yc_divide_node |
A division node. More... | |
class | yask::yc_mod_node |
A modulo node. More... | |
class | yask::yc_not_node |
A boolean inversion operator. More... | |
class | yask::yc_binary_bool_node |
Base class for boolean binary operators that take boolean inputs. More... | |
class | yask::yc_and_node |
A boolean 'and' operator. More... | |
class | yask::yc_or_node |
A boolean 'or' operator. More... | |
class | yask::yc_binary_comparison_node |
Base class for boolean binary operators that take numerical inputs. More... | |
class | yask::yc_equals_node |
A numerical-comparison 'equals' operator. More... | |
class | yask::yc_not_equals_node |
A numerical-comparison 'not_equals' operator. More... | |
class | yask::yc_less_than_node |
A numerical-comparison 'less_than' operator. More... | |
class | yask::yc_greater_than_node |
A numerical-comparison 'greater_than' operator. More... | |
class | yask::yc_not_less_than_node |
A numerical-comparison 'not_less_than' operator. More... | |
class | yask::yc_not_greater_than_node |
A numerical-comparison 'not_greater_than' operator. More... | |
class | yask::yc_number_ptr_arg |
Arguments that may be YASK numeric pointer types. More... | |
class | yask::yc_number_const_arg |
Arguments that may be non-YASK numeric types. More... | |
class | yask::yc_number_any_arg |
Arguments that may be YASK or non-YASK numeric types. More... | |
class | yask::yc_node_factory |
Factory to create AST nodes. More... | |
Macros | |
#define | UNARY_MATH_EXPR(fn_name) yc_number_node_ptr fn_name(const yc_number_node_ptr rhs) |
Unary math functions. Used internally to define sqrt(), sin(), etc. | |
#define | BINARY_MATH_EXPR(fn_name) |
Binary math functions. Used internally. | |
#define | BOOL_OPER(oper, fn) |
Binary numerical-to-boolean operators. Used internally to define == , < , etc. | |
#define | EQUALS << |
Recommended macro to make the "equality" operator readable and self-explanatory. | |
#define | IF_DOMAIN ^= |
Recommended macro to make the domain-condition operator readable and self-explanatory. | |
#define | IF_STEP |= |
Recommended macro to make the step-condition operator readable and self-explanatory. | |
Typedefs | |
typedef std::shared_ptr< yc_const_number_node > | yask::yc_const_number_node_ptr |
Shared pointer to yc_const_number_node. | |
typedef std::shared_ptr< yc_negate_node > | yask::yc_negate_node_ptr |
Shared pointer to yc_negate_node. | |
typedef std::shared_ptr< yc_commutative_number_node > | yask::yc_commutative_number_node_ptr |
Shared pointer to yc_commutative_number_node. | |
typedef std::shared_ptr< yc_binary_number_node > | yask::yc_binary_number_node_ptr |
Shared pointer to yc_binary_number_node. | |
typedef std::shared_ptr< yc_binary_bool_node > | yask::yc_binary_bool_node_ptr |
Shared pointer to yc_binary_bool_node. | |
typedef std::shared_ptr< yc_binary_comparison_node > | yask::yc_binary_comparison_node_ptr |
Shared pointer to yc_binary_comparison_node. | |
typedef std::shared_ptr< yc_add_node > | yask::yc_add_node_ptr |
Shared pointer to yc_add_node. | |
typedef std::shared_ptr< yc_multiply_node > | yask::yc_multiply_node_ptr |
Shared pointer to yc_multiply_node. | |
typedef std::shared_ptr< yc_subtract_node > | yask::yc_subtract_node_ptr |
Shared pointer to yc_subtract_node. | |
typedef std::shared_ptr< yc_divide_node > | yask::yc_divide_node_ptr |
Shared pointer to yc_divide_node. | |
typedef std::shared_ptr< yc_mod_node > | yask::yc_mod_node_ptr |
Shared pointer to yc_mod_node. | |
typedef std::shared_ptr< yc_not_node > | yask::yc_not_node_ptr |
Shared pointer to yc_not_node. | |
typedef std::shared_ptr< yc_equals_node > | yask::yc_equals_node_ptr |
Shared pointer to yc_equals_node. | |
typedef std::shared_ptr< yc_not_equals_node > | yask::yc_not_equals_node_ptr |
Shared pointer to yc_not_equals_node. | |
typedef std::shared_ptr< yc_less_than_node > | yask::yc_less_than_node_ptr |
Shared pointer to yc_less_than_node. | |
typedef std::shared_ptr< yc_greater_than_node > | yask::yc_greater_than_node_ptr |
Shared pointer to yc_greater_than_node. | |
typedef std::shared_ptr< yc_not_less_than_node > | yask::yc_not_less_than_node_ptr |
Shared pointer to yc_not_less_than_node. | |
typedef std::shared_ptr< yc_not_greater_than_node > | yask::yc_not_greater_than_node_ptr |
Shared pointer to yc_not_greater_than_node. | |
typedef std::shared_ptr< yc_and_node > | yask::yc_and_node_ptr |
Shared pointer to yc_and_node. | |
typedef std::shared_ptr< yc_or_node > | yask::yc_or_node_ptr |
Shared pointer to yc_or_node. | |
Functions | |
yask::UNARY_MATH_EXPR (sqrt) | |
Create an expression node to calculate the square-root of the argument node. | |
yask::UNARY_MATH_EXPR (cbrt) | |
Create an expression node to calculate the cube-root of the argument node. | |
yask::UNARY_MATH_EXPR (fabs) | |
Create an expression node to calculate the absolute-value of the argument node. | |
yask::UNARY_MATH_EXPR (erf) | |
Create an expression node to calculate the error function of the argument node. | |
yask::UNARY_MATH_EXPR (exp) | |
Create an expression node to calculate the natural exponent of the argument node. | |
yask::UNARY_MATH_EXPR (log) | |
Create an expression node to calculate the natural log of the argument node. | |
yask::UNARY_MATH_EXPR (sin) | |
Create an expression node to calculate the sine of the argument node. | |
yask::UNARY_MATH_EXPR (cos) | |
Create an expression node to calculate the cosine of the argument node. | |
yask::UNARY_MATH_EXPR (atan) | |
Create an expression node to calculate the arc-tangent of the argument node. | |
yask::BINARY_MATH_EXPR (pow) | |
Power function. | |
yask::BINARY_MATH_EXPR (min) | |
Minimum function. | |
yask::BINARY_MATH_EXPR (max) | |
Maximum function. | |
yc_number_node_ptr | yask::operator- (yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_negate_node(). | |
yc_number_node_ptr | yask::operator+ (yc_number_ptr_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_add_node(). | |
yc_number_node_ptr | yask::operator+ (yc_number_const_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_add_node(). | |
yc_number_node_ptr | yask::operator+ (yc_number_ptr_arg lhs, yc_number_const_arg rhs) |
Operator version of yc_node_factory::new_add_node(). | |
yc_number_node_ptr | yask::operator/ (yc_number_ptr_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_divide_node(). | |
yc_number_node_ptr | yask::operator/ (yc_number_const_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_divide_node(). | |
yc_number_node_ptr | yask::operator/ (yc_number_ptr_arg lhs, yc_number_const_arg rhs) |
Operator version of yc_node_factory::new_divide_node(). | |
yc_number_node_ptr | yask::operator% (yc_number_ptr_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_mod_node(). | |
yc_number_node_ptr | yask::operator% (yc_number_const_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_mod_node(). | |
yc_number_node_ptr | yask::operator% (yc_number_ptr_arg lhs, yc_number_const_arg rhs) |
Operator version of yc_node_factory::new_mod_node(). | |
yc_number_node_ptr | yask::operator* (yc_number_ptr_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_multiply_node(). | |
yc_number_node_ptr | yask::operator* (yc_number_const_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_multiply_node(). | |
yc_number_node_ptr | yask::operator* (yc_number_ptr_arg lhs, yc_number_const_arg rhs) |
Operator version of yc_node_factory::new_multiply_node(). | |
yc_number_node_ptr | yask::operator- (yc_number_ptr_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_subtract_node(). | |
yc_number_node_ptr | yask::operator- (yc_number_const_arg lhs, yc_number_ptr_arg rhs) |
Operator version of yc_node_factory::new_subtract_node(). | |
yc_number_node_ptr | yask::operator- (yc_number_ptr_arg lhs, yc_number_const_arg rhs) |
Operator version of yc_node_factory::new_subtract_node(). | |
void | yask::operator+= (yc_number_node_ptr &lhs, yc_number_node_ptr rhs) |
Shortcut for creating expression A = A + B. | |
void | yask::operator+= (yc_number_node_ptr &lhs, yc_number_const_arg rhs) |
Shortcut for creating expression A = A + B. | |
void | yask::operator-= (yc_number_node_ptr &lhs, yc_number_node_ptr rhs) |
Shortcut for creating expression A = A - B. | |
void | yask::operator-= (yc_number_node_ptr &lhs, yc_number_const_arg rhs) |
Shortcut for creating expression A = A - B. | |
void | yask::operator*= (yc_number_node_ptr &lhs, yc_number_node_ptr rhs) |
Shortcut for creating expression A = A * B. | |
void | yask::operator*= (yc_number_node_ptr &lhs, yc_number_const_arg rhs) |
Shortcut for creating expression A = A * B. | |
void | yask::operator/= (yc_number_node_ptr &lhs, yc_number_node_ptr rhs) |
Shortcut for creating expression A = A / B. | |
void | yask::operator/= (yc_number_node_ptr &lhs, yc_number_const_arg rhs) |
Shortcut for creating expression A = A / B. | |
yc_bool_node_ptr | yask::operator! (yc_bool_node_ptr rhs) |
Operator version of yc_node_factory::new_not_node(). | |
yc_bool_node_ptr | yask::operator|| (yc_bool_node_ptr lhs, yc_bool_node_ptr rhs) |
Operator version of yc_node_factory::new_or_node(). | |
yc_bool_node_ptr | yask::operator&& (yc_bool_node_ptr lhs, yc_bool_node_ptr rhs) |
Operator version of yc_node_factory::new_and_node(). | |
yc_equation_node_ptr | yask::operator EQUALS (yc_var_point_node_ptr gpp, const yc_number_any_arg rhs) |
The operator version of yc_node_factory::new_equation_node() used for defining a var-point value. | |
yc_equation_node_ptr | yask::operator IF_DOMAIN (yc_equation_node_ptr expr, const yc_bool_node_ptr cond) |
The operator version of yc_equation_node::set_cond() to add a domain condition. | |
yc_equation_node_ptr | yask::operator IF_STEP (yc_equation_node_ptr expr, const yc_bool_node_ptr cond) |
The operator version of yc_equation_node::set_step_cond() to add a domain condition. | |