YASK
Yet Another Stencil Kit: a software framework for creating HPC stencil code. Copyright 2014-2023 Intel Corporation.
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
yask_common_api.hpp File Reference
#include <cstdint>
#include <cinttypes>
#include <climits>
#include <type_traits>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <iostream>
#include <ostream>
#include <sstream>
#include <memory>
#include <functional>

Go to the source code of this file.

Classes

class  yask::yask_exception
 Exception from YASK framework. More...
 
class  yask::yask_output_factory
 Factory to create output objects. More...
 
class  yask::yask_output
 Base interface for output. More...
 
class  yask::yask_file_output
 File output. More...
 
class  yask::yask_string_output
 String output. More...
 
class  yask::yask_stdout_output
 Stdout output. More...
 
class  yask::yask_null_output
 Null output. More...
 
class  yask::command_line_parser
 A class to parse command-line arguments. More...
 
class  yask::command_line_parser::option_base
 Base class for a command-line option. More...
 
class  yask::command_line_parser::bool_option
 A boolean option. More...
 
class  yask::command_line_parser::int_option
 An integer option. More...
 
class  yask::command_line_parser::double_option
 A double option. More...
 
class  yask::command_line_parser::idx_option
 An idx_t option. More...
 
class  yask::command_line_parser::string_option
 A string option. More...
 
class  yask::command_line_parser::string_list_option
 A list-of-strings option. More...
 

Macros

#define YASK_DEPRECATED   [[deprecated]]
 Deprecated attribute.
 
#define YASK_NORETURN   [[noreturn]]
 No-return attribute.
 
#define YASK_INT64_T   std::int64_t
 Signed 64-bit int.
 
#define THROW_YASK_EXCEPTION(message)
 Macro for creating and throwing a yask_exception with a string.
 
#define FORMAT_AND_THROW_YASK_EXCEPTION(message)
 Macro for creating and throwing a yask_exception using stream operators.
 

Typedefs

typedef YASK_INT64_T yask::idx_t
 Type to use for indexing grids.
 
typedef std::vector< idx_tyask::idx_t_vec
 Vector of indices.
 
typedef std::initializer_list< idx_tyask::idx_t_init_list
 Initializer list of indices.
 
typedef std::vector< std::string > yask::string_vec
 Vector of strings.
 
typedef std::shared_ptr< yask_outputyask::yask_output_ptr
 Shared pointer to yask_output.
 
typedef std::shared_ptr< yask_file_outputyask::yask_file_output_ptr
 Shared pointer to yask_file_output.
 
typedef std::shared_ptr< yask_string_outputyask::yask_string_output_ptr
 Shared pointer to yask_string_output.
 
typedef std::shared_ptr< yask_stdout_outputyask::yask_stdout_output_ptr
 Shared pointer to yask_stdout_output.
 
typedef std::shared_ptr< yask_null_outputyask::yask_null_output_ptr
 Shared pointer to yask_null_output.
 

Functions

std::string yask::yask_get_version_string ()
 Version information.
 
std::vector< double > yask::get_center_fd_coefficients (int derivative_order, int radius)
 Create finite-difference (FD) coefficients for the standard center form.
 
std::vector< double > yask::get_forward_fd_coefficients (int derivative_order, int accuracy_order)
 Create finite-difference (FD) coefficients for the standard forward form.
 
std::vector< double > yask::get_backward_fd_coefficients (int derivative_order, int accuracy_order)
 Create finite-difference (FD) coefficients for the standard backward form.
 
std::vector< double > yask::get_arbitrary_fd_coefficients (int derivative_order, double eval_point, const std::vector< double > sample_points)
 Create finite-difference (FD) coefficients at arbitrary evaluation and sample points.
 
void yask::yask_print_splash (std::ostream &os, int argc, char **argv, std::string invocation_leader="invocation: ")
 Print a YASK spash message to os.