|
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>
Inheritance diagram for yask::yc_solution_with_radius_base: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.