Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtxVec *ConjMul(TMtxVec *Vec) const; | Conjugate and multiply. |
| 2 | TMtxVec *ConjMul(TMtxVec *Vec, int VecIndex, int Index, int Len) const; | Conjugate Vec elements Vec[VecIndex]..Vec[VecIndex+Len-1] and multiply them with corresponding calling object elements [Index]..[Index+Len-1]. |
| 3 | TMtxVec *ConjMul(TMtxVec *Vec1, TMtxVec *Vec2) const; | Conjugate each of Vec2 elements and multiply them with corresponding elements in Vec1. |
| 4 | TMtxVec *ConjMul(TMtxVec *Vec1, TMtxVec *Vec2, int Vec1Index, int Vec2Index, int Index, int Len) const; | Conjugate Vec2 elements [Vec2Index]..[Vec2Index+Len-1] and multiply them with corresponding Vec1 elements [Vec1Index]..[Vec1Index+Len-1]. |
Overload 1: TMtxVec *ConjMul(TMtxVec *Vec) const;
Conjugate and multiply.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVec * |
Conjugate each of Vec elements and multiply them with corresponding elements in the calling object. The results are stored in the calling object. Size and Vector::Complex properties of the calling object are set implicitly to match Vec.
#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.SetIt(true, DewArray<double>{4, 3, 2, 1});
c.ConjMul(a, b);
}
Overload 2: TMtxVec *ConjMul(TMtxVec *Vec, int VecIndex, int Index, int Len) const;
Conjugate Vec elements Vec[VecIndex]..Vec[VecIndex+Len-1] and multiply them with corresponding calling object elements [Index]..[Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec | TMtxVec * | |
| 2 | VecIndex | int | |
| 3 | Index | int | |
| 4 | Len | int |
The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and Vector::Complex properties are not set. An exception is raised if Vector::ConditionCheck is true and array borders are overrun or underrun.
#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 = {Cplx(4, 3), Cplx(2, 1)};
c.ConjMul(a, b);
}
Overload 3: TMtxVec *ConjMul(TMtxVec *Vec1, TMtxVec *Vec2) const;
Conjugate each of Vec2 elements and multiply them with corresponding elements in Vec1.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec1 | TMtxVec * | |
| 2 | Vec2 | TMtxVec * |
The results are stored in the calling object. Size and Vector::Complex properties of the calling object are set implicitly to match Vec1 and Vec2 objects.
Overload 4: TMtxVec *ConjMul(TMtxVec *Vec1, TMtxVec *Vec2, int Vec1Index, int Vec2Index, int Index, int Len) const;
Conjugate Vec2 elements [Vec2Index]..[Vec2Index+Len-1] and multiply them with corresponding Vec1 elements [Vec1Index]..[Vec1Index+Len-1].
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Vec1 | TMtxVec * | |
| 2 | Vec2 | TMtxVec * | |
| 3 | Vec1Index | int | |
| 4 | Vec2Index | int | |
| 5 | Index | int | |
| 6 | Len | int |
The results are stored in the calling object elements [Index]..[Index+Len-1]. Size and Vector::Complex properties of the calling vector must be set explicitly. An exception is raised if Vector::ConditionCheck is true and array borders are overrun.