1#ifndef included_AMP_ManagedSundialsVector
2#define included_AMP_ManagedSundialsVector
4#include "AMP/vectors/sundials/SundialsVector.h"
8#include "sundials/sundials_nvector.h"
38 std::string
type()
const override;
39 std::unique_ptr<Vector>
rawClone()
const override;
A class that can provide a Sundials N_Vector view of an AMP Vector.
static realtype minquotient_AMP(N_Vector num, N_Vector denom)
std::string type() const override
Return the name of the vector.
static N_Vector_Ops createNVectorOps()
static N_Vector cloneempty_no_impl(N_Vector w)
static void multiply_AMP(N_Vector x, N_Vector y, N_Vector z)
static void reciprocal_AMP(N_Vector x, N_Vector z)
static void compare_no_impl(realtype c, N_Vector x, N_Vector z)
std::unique_ptr< Vector > rawClone() const override
Allocate space in the same fashion as this
static realtype * getarraypointer_no_impl(N_Vector v)
static realtype min_AMP(N_Vector x)
static void linearSum_AMP(realtype a, N_Vector x, realtype b, N_Vector y, N_Vector z)
std::shared_ptr< Vector > getManagedVec() override
ManagedSundialsVector(const ManagedSundialsVector &)
static realtype wl2norm_no_impl(N_Vector x, N_Vector w)
static void divide_AMP(N_Vector x, N_Vector y, N_Vector z)
static realtype L1Norm_AMP(N_Vector x)
static booleantype invtest_no_impl(N_Vector x, N_Vector z)
void operator=(const ManagedSundialsVector &)
static void setarraypointer_no_impl(realtype *v_data, N_Vector v)
static realtype WRMSNormMask_AMP(N_Vector x, N_Vector w, N_Vector mask)
static void scale_AMP(realtype c, N_Vector x, N_Vector z)
static realtype WRMSNorm_AMP(N_Vector x, N_Vector w)
ManagedSundialsVector(shared_ptr alias)
Create a view to an AMP vector.
static N_Vector clone_AMP(N_Vector w)
std::shared_ptr< const Vector > getManagedVec() const override
static void setToScalar_AMP(realtype c, N_Vector z)
static void freeVectorComponents_AMP(N_Vector v)
static void addScalar_AMP(N_Vector x, realtype b, N_Vector z)
void swapVectors(Vector &other) override
Swap the data in this Vector for another.
virtual ~ManagedSundialsVector()
Destructor.
static booleantype constrmask_no_impl(N_Vector c, N_Vector x, N_Vector m)
static void abs_AMP(N_Vector x, N_Vector z)
static realtype maxNorm_AMP(N_Vector x)
static realtype dot_AMP(N_Vector x, N_Vector y)
SundialsVector is a bridge between AMP::LinearAlgebra::Vector and the Sundials N_Vector data structur...
Abstraction of a discrete Vector in a linear simulation.
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< Vector > shared_from_this()