|
Uni20
Asynchronous tensor and runtime library.
|
An opaque vector space with one explicit arithmetic precision. More...
#include <vector_space.hpp>
Public Types | |
| using | prototype_type = Prototype |
| using | real_type = make_real_t< S > |
| using | scalar_type = S |
| using | vector_type = decltype(std::declval< Ops & >().allocate_like(std::declval< Prototype const & >())) |
Public Member Functions | |
| void | validate () const |
Public Attributes | |
| Ops & | ops |
| Precision | precision |
| Prototype | prototype |
An opaque vector space with one explicit arithmetic precision.
Owns an allocation descriptor, not a numerical vector. The operations and any storage/context borrowed by the descriptor must outlive the solve. Allocation returns an independent owning vector preserving the descriptor's metadata and placement. Fixed scalar types require their native precision; runtime scalars require finite precision. Operations are responsible for performing their arithmetic at that precision.
| using uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::prototype_type = Prototype |
| using uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::real_type = make_real_t<S> |
| using uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::scalar_type = S |
| using uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::vector_type = decltype(std::declval<Ops&>().allocate_like(std::declval<Prototype const&>())) |
|
inline |
| Ops& uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::ops |
| Precision uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::precision |
| Prototype uni20::krylov::KrylovVectorSpace< S, Ops, Prototype >::prototype |