YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
Loading...
Searching...
No Matches
Public Member Functions | List of all members
yask::yc_solution_with_radius_base Class Reference

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_mapget_registry ()
 Access to the registry.
 

Detailed Description

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.

Member Function Documentation

◆ define()

virtual void yask::yc_solution_with_radius_base::define ( )
overridevirtual

Define all functionality of this solution.

See yc_solution_base::define().

Reimplemented from yask::yc_solution_base.

◆ set_radius()

virtual bool yask::yc_solution_with_radius_base::set_radius ( int  radius)
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.

Returns
true if the radius is valid.

◆ get_radius()

virtual int yask::yc_solution_with_radius_base::get_radius ( ) const
inlinevirtual

Get radius.

Returns
current radius setting.

The documentation for this class was generated from the following file: