YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
|
A base class for stencils that have a "radius" size parameter. More...
#include <yc_solution_api.hpp>
Public Member Functions | |
yc_solution_with_radius_base (const std::string &name, int radius) | |
Constructor. | |
virtual void | define () override |
Define all functionality of this solution. | |
virtual bool | set_radius (int radius) |
Set radius and updates the solution decription. | |
virtual int | get_radius () const |
Get radius. | |
Public Member Functions inherited from yask::yc_solution_base | |
yc_solution_base (const std::string &name) | |
Constructor. | |
yc_solution_base (yc_solution_base &base) | |
[Advanced] Constructor that uses an existing yc_solution_base to share underlying solutions. | |
virtual | ~yc_solution_base () |
Destructor. | |
yc_solution_ptr | get_soln () |
Access the underlying solution. | |
yc_index_node_ptr | new_step_index (const std::string &name) |
A simple wrapper for yc_node_factory::new_step_index(). | |
yc_index_node_ptr | new_domain_index (const std::string &name) |
A simple wrapper for yc_node_factory::new_domain_index(). | |
yc_index_node_ptr | new_misc_index (const std::string &name) |
A simple wrapper for yc_node_factory::new_misc_index(). | |
yc_number_node_ptr | new_number_node (yc_number_any_arg arg) |
A simple wrapper for yc_node_factory::new_number_node(). | |
yc_number_node_ptr | first_domain_index (yc_index_node_ptr dim) |
A simple wrapper for yc_node_factory::new_first_domain_index(). | |
yc_number_node_ptr | last_domain_index (yc_index_node_ptr dim) |
A simple wrapper for yc_node_factory::new_last_domain_index(). | |
Additional Inherited Members | |
Public Types inherited from yask::yc_solution_base | |
typedef std::map< std::string, yc_solution_base * > | soln_map |
Type for a common registry shared among all yc_solution_base objects. | |
Static Public Member Functions inherited from yask::yc_solution_base | |
static soln_map & | get_registry () |
Access to the registry. | |
A base class for stencils that have a "radius" size parameter.
For a symmetric finite-difference stencil, the "radius" is often the number of points in the spatial dimension(s) from the center point of a finite-difference approximation. However, any meaning may be given to this variable. For example, it could be the minimum or maximum radius for an asymmetical stencil.
|
overridevirtual |
Define all functionality of this solution.
See yc_solution_base::define().
Reimplemented from yask::yc_solution_base.
|
inlinevirtual |
Set radius and updates the solution decription.
The DSL programmer can overload this method to set the description differently and/or other side-effects.
true
if the radius
is valid.
|
inlinevirtual |
Get radius.