Ginkgo Generated from branch based on main. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
gko::config::type_descriptor Class Referencefinal

This class describes the value and index types to be used when building a Ginkgo type from a configuration file. More...

#include <ginkgo/core/config/type_descriptor.hpp>

Public Member Functions

 type_descriptor (std::string value_typestr="float64", std::string index_typestr="int32", std::string global_index_typestr="int64")
 type_descriptor constructor.
 
const std::string & get_value_typestr () const
 Get the value type string.
 
const std::string & get_index_typestr () const
 Get the index type string.
 
const std::string & get_local_index_typestr () const
 Get the local index type string, which gives the same result as get_index_typestr()
 
const std::string & get_global_index_typestr () const
 Get the global index type string.
 

Detailed Description

This class describes the value and index types to be used when building a Ginkgo type from a configuration file.

A type_descriptor is passed in order to define the parse function defines which template parameters, in terms of value_type and/or index_type, the created object will have. For example, a CG solver created like this:

auto cg = parse(config, context, type_descriptor("float64", "int32"));
type_descriptor(std::string value_typestr="float64", std::string index_typestr="int32", std::string global_index_typestr="int64")
type_descriptor constructor.

will have the value type float64 and the index type int32. Any Ginkgo object that does not require one of these types will just ignore it. In value_type, one additional value void can be used to specify that no default type is provided. In this case, the configuration has to provide the necessary template types.

If the configuration specifies one field (only allow value_type now):

value_type: "some_value_type"

this type will take precedence over the type_descriptor.

Constructor & Destructor Documentation

◆ type_descriptor()

gko::config::type_descriptor::type_descriptor ( std::string value_typestr = "float64",
std::string index_typestr = "int32",
std::string global_index_typestr = "int64" )
explicit

type_descriptor constructor.

There is free function make_type_descriptor to create the object by template.

Parameters
value_typestrthe value type string. "void" means no default.
index_typestrthe (local) index type string.
global_index_typestrthe global index type string.
Note
there is no way to call the constructor with explicit template, so we create another free function to handle it.

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