Vector::Copy Method

Overload List

#SignatureDescription
1TMtxVec *Copy(TMtxVec *Vec) const;Copy object values.
2TMtxVec *Copy(TMtxVec *Src, const TMtxFloatPrecision dstFloatPrecision) const;Copy object values.
3TMtxVec *Copy(TMtxVec *Vec, int VecIndex, int Index, int Len) const;Copy Vec elements [VecIndex]..[VecIndex+Len-1] in the calling object elements [Index]..[Index+Len-1].
4TMtxVec *Copy(TVecInt *Src, const TMtxFloatPrecision dstFloatPrecision) const;Copy and convert values from TVecInt.
5TMtxVec *Copy(TVecInt *Src) const;Copy and convert values from TVecInt.
6TMtxVec *Copy(TVecInt *Src, int SrcIndex, int Index, int Len) const;Copy and convert values from TVecInt at indexes [SrcIndex]...[SrcIndex+Len-1].
7TVec *Copy(TMtxVec *Vec1, TMtxVec *Vec2) const;Copies values from Vec1 and Vec2 (concatenate).

Overload 1: TMtxVec *Copy(TMtxVec *Vec) const;

Copy object values.

#NameTypeDescription
1VecTMtxVec *
Remarks:

Copy each of Vec elements to the calling object. Size and Vector::Complex properties of the calling object are set implicitly to match Vec object.

Examples
#include "Math387.h"
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a;
    Vector x;
    x.SetIt(DewArray<double>{ 1.0, 2.0, 3.0, 4.0 });
    a.Copy(x);
    if (!a.IsEqual(x, 1e-10, TCompare::cmpAbsolute))
        throw tException("Vector.Copy: mismatch");
}
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a, b, c;

    a.SetIt(true, DewArray<double>{1, 2, 3, 4}); // a = [1,2,3,4]
    b.Copy(a); // b = [1,2,3,4]
    c.Copy(a, b); //concatenate a and b and store in c = [1,2,3,4,1,2,3,4]
}
See Also: Vector::Assign
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 2: TMtxVec *Copy(TMtxVec *Src, const TMtxFloatPrecision dstFloatPrecision) const;

Copy object values.

#NameTypeDescription
1SrcTMtxVec *
2dstFloatPrecisionconst TMtxFloatPrecision
Remarks:

Copy each of Src elements to the calling object. Size and Vector::Complex properties of the calling object are set implicitly to match Src object.

Examples
#include "Math387.h"
#include "MtxVec.h"
#include "Units.MtxVec.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Math::Units::MtxVec;

void Example()
{
    TVec *a, *b, *c;
    CreateIt(a, b, c);
    a->SetIt(true,DewArray<double>{1,2,3,4});  // a = [1,2,3,4] i.e 1+2i ; 3+4i
    b->Copy(a, TMtxFloatPrecision::mvSingleComplex);                // convert to single precision
    FreeIt(a,b,c);
}
See Also: Vector::Assign
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 3: TMtxVec *Copy(TMtxVec *Vec, int VecIndex, int Index, int Len) const;

Copy Vec elements [VecIndex]..[VecIndex+Len-1] in the calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1VecTMtxVec *
2VecIndexint
3Indexint
4Lenint
Remarks:

Size and Vector::Complex properties must be set explicitly. An exception is raised if Vector::ConditionCheck is True and array borders are overrun or underrun.

Examples
#include "MtxExpr.h"
#include "Units.Math387.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Math::Units::Math387;

void Example()
{
    Vector a, b, c;

    a = {Cplx(1, 2), Cplx(3, 4)};  // a = [1,2,3,4]
    b.Copy(a, TMtxFloatPrecision::mvSingleComplex);               // convert to single precision
}
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 4: TMtxVec *Copy(TVecInt *Src, const TMtxFloatPrecision dstFloatPrecision) const;

Copy and convert values from TVecInt.

#NameTypeDescription
1SrcTVecInt *
2dstFloatPrecisionconst TMtxFloatPrecision
Remarks:

Applies appropriate conversion and copy data from TVecInt.

Examples
#include "MtxExpr.h"
#include "Units.Math387.h"

using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Math::Units::Math387;

void Example()
{
    Vector a, b, c;

    a = {Cplx(1, 2), Cplx(3, 4)};
    b.Copy(a);
    c.Copy(a, b); //concatenate a and b and store in c
    // c = [1,2,3,4,1,2,3,4]
}
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 5: TMtxVec *Copy(TVecInt *Src) const;

Copy and convert values from TVecInt.

#NameTypeDescription
1SrcTVecInt *
Remarks:

Applies appropriate conversion and copy data from TVecInt. Existing value of FloatPrecision is preserved.

Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 6: TMtxVec *Copy(TVecInt *Src, int SrcIndex, int Index, int Len) const;

Copy and convert values from TVecInt at indexes [SrcIndex]...[SrcIndex+Len-1].

#NameTypeDescription
1SrcTVecInt *
2SrcIndexint
3Indexint
4Lenint
Remarks:

Applies appropriate conversion and copy data from TVecInt. The results are stored in calling object elements [Index]...[Index+Len-1]. Size and Vector::Complex properties of the calling object must be set explicitly. An exception is raised if array borders are overrun.

Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler

Overload 7: TVec *Copy(TMtxVec *Vec1, TMtxVec *Vec2) const;

Copies values from Vec1 and Vec2 (concatenate).

#NameTypeDescription
1Vec1TMtxVec *
2Vec2TMtxVec *
Remarks:

Copy each of Vec1 and Vec2 elements to the calling vector (concatenate). The Vector::Length and Vector::Complex properties of the calling vector are set implicitly to match Vec1 and Vec2 vector.

Examples
#include "MtxExpr.h"

using namespace Dew;
using namespace Dew::Math;

void Example()
{
    Vector a, b, c;

    a.SetIt(true, DewArray<double>{1, 2, 3, 4});
    b.Copy(a);
    c.Copy(a, b); //concatenate a and b and store in c
    // c = [1,2,3,4,1,2,3,4]
}
See Also: Vector::Assign
Declared in Dew::Math::Vector · Dew.Math/MtxExpr.h · Cross-compiler