20 virtual shared_ptr<ArrayBase>
30 const int length)
const=0;
43 const int iBeg,
const int iEnd) =0;
44 virtual void zeroPartial(
const int iBeg,
const int iEnd) =0;
46 virtual shared_ptr<ArrayBase>
newSizedClone(
const int size)
const = 0;
54 virtual shared_ptr<ArrayBase>
operator-()
const {
throw;}
55 virtual void limit(
const double min,
const double max) {
throw;}
60 virtual bool operator<(
const double tolerance)
const=0;
65 virtual void print(ostream& os)
const = 0;
72 virtual shared_ptr<ArrayBase>
getOneNorm(
const int lengthToUse)
const=0;
74 const int lengthToUse)
const=0;
75 virtual shared_ptr<ArrayBase>
reduceSum()
const=0;
79 virtual void getShape(
int *shape)
const = 0;
80 virtual void *
getData()
const = 0;
virtual int getDataSize() const =0
virtual shared_ptr< ArrayBase > createOffsetArray(const int offset, const int size)=0
virtual void setSubsetFromSubset(const ArrayBase &other, const ArrayBase &fromIndices, const ArrayBase &toIndices)=0
virtual ArrayBase & operator-=(const ArrayBase &a)=0
virtual int getLength() const =0
virtual void scatter(ArrayBase &other_, const ArrayBase &indices, const int offset=0) const =0
virtual ArrayBase & msaxpy(const ArrayBase &alphabase, const ArrayBase &xbase)=0
virtual PrimType getPrimType() const =0
virtual void copyPartial(const IContainer &oc, const int iBeg, const int iEnd)=0
virtual void limit(const double min, const double max)
virtual void correct(const IContainer &coarseI, const IContainer &coarseIndexI, const IContainer *scaleI, const int length)=0
double max(double x, double y)
virtual ArrayBase & safeDivide(const ArrayBase &a)=0
virtual shared_ptr< ArrayBase > getOneNorm(const int lengthToUse) const =0
virtual shared_ptr< ArrayBase > dotWith(const ArrayBase &a, const int lengthToUse) const =0
virtual void zeroPartial(const int iBeg, const int iEnd)=0
virtual void setSum(const ArrayBase &sumBase)=0
virtual ArrayBase & operator/=(const ArrayBase &a)=0
virtual bool operator<(const double tolerance) const =0
virtual void setMax(const ArrayBase &a)=0
virtual ArrayBase & saxpy(const ArrayBase &alphabase, const ArrayBase &xbase)=0
virtual void getShape(int *shape) const =0
virtual ArrayBase & normalize(const ArrayBase &a)=0
virtual shared_ptr< ArrayBase > newSizedClone(const int size) const =0
virtual ArrayBase & operator*=(const ArrayBase &a)=0
virtual shared_ptr< ArrayBase > reduceSum() const =0
virtual ArrayBase & operator+=(const ArrayBase &a)=0
virtual void * getData() const =0
virtual int getDimension() const =0
virtual void gather(const ArrayBase &other_, const ArrayBase &indices, const int offset=0)=0
virtual void print(ostream &os) const =0
double min(double x, double y)
virtual shared_ptr< ArrayBase > operator-() const
virtual void copyFrom(const IContainer &a)=0
virtual void inject(IContainer &coarseI, const IContainer &coarseIndexI, const int length) const =0