TMtx.Copy Method

Overload List

#SignatureDescription
1TMtx Copy(TMtx Mtx, Int32 MtxRow, Int32 MtxCol, Int32 Row, Int32 Col, Int32 NrRows, Int32 NrCols, Boolean Transpose)Copy the Mtx elements [MtxRow,MtxCol]..[MtxRow+NrRows-1,MtxCol+NrCols-1] to the calling matrix elements [Row,Col],,[Row+NrRows-1,Col+NrCols-1].
2TMtxVec Copy(TMtxVec Src)Copy object values.
└ indexed: TMtxVec Copy(TMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)
3TMtxVec Copy(TMtxVec Src, TMtxFloatPrecision dstFloatPrecision)Copy object values.
4TMtxVec Copy(TMtxVecInt Src, TMtxFloatPrecision dstFloatPrecision)Copy and convert values from TVecInt.
5TMtxVec Copy(TMtxVecInt Src, Int32 SrcIndex, Int32 Index, Int32 Len)Copy and convert values from TVecInt at indexes [SrcIndex]...[SrcIndex+Len-1].

Overload 1: TMtx Copy(TMtx Mtx, Int32 MtxRow, Int32 MtxCol, Int32 Row, Int32 Col, Int32 NrRows, Int32 NrCols, Boolean Transpose)

Copy the Mtx elements [MtxRow,MtxCol]..[MtxRow+NrRows-1,MtxCol+NrCols-1] to the calling matrix elements [Row,Col],,[Row+NrRows-1,Col+NrCols-1].

#NameTypeDescription
1MtxTMtxsource TMtx
2MtxRowInt32
3MtxColInt32
4RowInt32
5ColInt32
6NrRowsInt32
7NrColsInt32
8TransposeBoolean

Result: stored in self (calling object), returns self for chaining

Remarks:

An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is true and bounds are overrun. If Transpose is true, the matrix is transposed as well. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is true and Complex properties of the calling matrix and Mtx do not match.

Overload 2: TMtxVec Copy(TMtxVec Src)

Copy object values.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx

Result: stored in self (calling object), returns self for chaining

Remarks:

Copy each of Vec elements to the calling object. Size and Dew.Math.TMtxVec.Complex properties of the calling object are set implicitly to match Vec object.

Examples
Matrix a = new Matrix();
Matrix x = new Matrix();
x.SetIt(2, 2, false, new double[] { 1.0, 2.0, 3.0, 4.0 });
a.Copy(x);
if (!a.IsEqual(x, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Matrix.Copy: mismatch");
Matrix a;
Matrix b;
Matrix c;
a.SetIt(1,2,true,new double[] {1,2,3,4});  // a = new double[] {1,2,3,4}
b.Copy(a);                // b = new double[] {1,2,3,4}
c.Copy(a,b);  //concatenate a and b and store in c = new double[] {1,2,3,4,1,2,3,4}

Indexed: TMtxVec Copy(TMtxVec Vec, Int32 VecIndex, Int32 Index, Int32 Len)

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

#NameTypeDescription
1VecTMtxVecsource TVec or TMtx
2VecIndexInt32
3IndexInt32start index
4LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

Size and Dew.Math.TMtxVec.Complex properties must be set explicitly. An exception is raised if Dew.Math.TMtxVecBase.ConditionCheck is True and array borders are overrun or underrun.

Overload 3: TMtxVec Copy(TMtxVec Src, TMtxFloatPrecision dstFloatPrecision)

Copy object values.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2dstFloatPrecisionTMtxFloatPrecision

Result: stored in self (calling object), returns self for chaining

Remarks:

Copy each of Vec elements to the calling object. Size and Dew.Math.TMtxVec.Complex properties of the calling object are set implicitly to match Vec object.

Examples
using Dew.Math;
using Dew.Math.Units;

namespace Dew.Examples
{
    void Example()
    {
        TVec a,b,c;
        MtxVec.CreateIt(out a, out b, out c);
        try
        {
            a.SetIt(true,new double[] {1,2,3,4});  // a = [1,2,3,4] i.e 1+2i ; 3+4i
            b.Copy(a, mvSingle);                // convert to single precision
        }
        finally
        {
            MtxVec.FreeIt(ref a,ref b,ref c);
        }
    }
}

Overload 4: TMtxVec Copy(TMtxVecInt Src, TMtxFloatPrecision dstFloatPrecision)

Copy and convert values from TVecInt.

#NameTypeDescription
1SrcTMtxVecIntsource TVecInt or TMtxInt
2dstFloatPrecisionTMtxFloatPrecision

Result: stored in self (calling object), returns self for chaining

Remarks:

Applies appropriate conversion and copy data from TVecInt. The destinaton data format is determined with dstFloatPrecision.

Overload 5: TMtxVec Copy(TMtxVecInt Src, Int32 SrcIndex, Int32 Index, Int32 Len)

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

#NameTypeDescription
1SrcTMtxVecIntsource TVecInt or TMtxInt
2SrcIndexInt32source start index
3IndexInt32start index
4LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

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