TVec::Mul Method

Overload List

#SignatureDescription
1TMtxVec *Mul(const double Value);Multiply object elements with Value.
2TMtxVec *Mul(const TCplx &Value);Multiply all calling object elements with complex Value in-place.
3TMtxVec *Mul(const double Value, int Index, int Len);Multipy calling object elements [Index]..[Index+Len-1] with Value in-place.
4TMtxVec *Mul(const TCplx &Value, int Index, int Len);Multipy calling object elements [Index]..[Index+Len-1] with complex Value in-place.
5TMtxVec *Mul(TMtxVec *Vec, const double Value);Multiply each element of Vec with Value.
6TMtxVec *Mul(TMtxVec *Vec, const TCplx &Value);Multiply each element of Vec with complex Value.
7TMtxVec *Mul(TMtxVec *Vec, const double Value, int VecIndex, int Index, int Len);Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with Value.
8TMtxVec *Mul(TMtxVec *Vec, const TCplx &Value, int VecIndex, int Index, int Len);Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with complex Value.
9TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, TMtxVec *Z);Compute X*Y*Z
10TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, const double Z);Compute X*Y*zScalar
11TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, const TCplx &Z);Compute X*Y*zScalar
12TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, TMtxVec *Z, int zIndex, int Index, int Len);Compute X*Y*Z on sub array
13TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, const double Z, int Index, int Len);Compute X*Y*zScalar on sub array
14TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, const TCplx &Z, int Index, int Len);Compute X*Y*zScalar on sub array
15TMtxVec *Mul(TMtxVec *Vec);Vector multiplication.
16TMtxVec *Mul(TMtxVec *Vec, int VecIndex, int Index, int Len);Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with calling object elements [Index]..[Index+Len-1] in-place.
17TMtxVec *Mul(TMtxVec *Vec1, TMtxVec *Vec2);Multiply all Vec1 elements with corresponding Vec2 elements.
18TMtxVec *Mul(TMtxVec *Vec1, TMtxVec *Vec2, int Vec1Index, int Vec2Index, int Index, int Len);Multiply Vec1 elements [Vec1Index]..[Vec1Index+Len-1] with Vec2 object elements [Vec2Index]..[Vec2Index+Len-1].

Overload 1: TMtxVec *Mul(const double Value);

Multiply object elements with Value.

#NameTypeDescription
1Valueconst double
Remarks:

Multiplies all calling object elements with Value in-place.

See Also: TVec::Add
Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 2: TMtxVec *Mul(const TCplx &Value);

Multiply all calling object elements with complex Value in-place.

#NameTypeDescription
1Valueconst TCplx &
Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 3: TMtxVec *Mul(const double Value, int Index, int Len);

Multipy calling object elements [Index]..[Index+Len-1] with Value in-place.

#NameTypeDescription
1Valueconst double
2Indexint
3Lenint
Remarks:

An exception is raised if array borders are overrun or underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 4: TMtxVec *Mul(const TCplx &Value, int Index, int Len);

Multipy calling object elements [Index]..[Index+Len-1] with complex Value in-place.

#NameTypeDescription
1Valueconst TCplx &
2Indexint
3Lenint
Remarks:

An exception is raised if array borders are overrun or underrun.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 5: TMtxVec *Mul(TMtxVec *Vec, const double Value);

Multiply each element of Vec with Value.

#NameTypeDescription
1VecTMtxVec *
2Valueconst double
Remarks:

Store the result in the calling object. Size and TVec::Complex properties of the calling object are adjusted automatically.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 6: TMtxVec *Mul(TMtxVec *Vec, const TCplx &Value);

Multiply each element of Vec with complex Value.

#NameTypeDescription
1VecTMtxVec *
2Valueconst TCplx &
Remarks:

Store the result in the calling object. Size of the calling object is set automatically. TVec::Complex property of the calling object is set to True.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 7: TMtxVec *Mul(TMtxVec *Vec, const double Value, int VecIndex, int Index, int Len);

Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with Value.

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

Store the result in calling object elements [Index]..[Index+Len-1]. Size of the calling object is not changed. An exception is raised if array borders are overrun or underrun. TVec::Complex propertiy of the calling object is set implicitly.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 8: TMtxVec *Mul(TMtxVec *Vec, const TCplx &Value, int VecIndex, int Index, int Len);

Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with complex Value.

#NameTypeDescription
1VecTMtxVec *
2Valueconst TCplx &
3VecIndexint
4Indexint
5Lenint
Remarks:

Store the result in calling object elements [Index]..[Index+Len-1]. Size of the calling object is not changed. An exception is raised if array borders are overrun or underrun. TVec::Complex propertiy of the calling object is set to True.

Declared in Dew::Math::TMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 9: TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, TMtxVec *Z);

Compute X*Y*Z

#NameTypeDescription
1XTMtxVec *
2YTMtxVec *
3ZTMtxVec *
Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Z parameter:

X^2*Y

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 10: TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, const double Z);

Compute X*Y*zScalar

#NameTypeDescription
1XTMtxVec *
2YTMtxVec *
3Zconst double
Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Z parameter:

X^2*zScalar

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 11: TMtxVec *Mul(TMtxVec *X, TMtxVec *Y, const TCplx &Z);

Compute X*Y*zScalar

#NameTypeDescription
1XTMtxVec *
2YTMtxVec *
3Zconst TCplx &
Remarks:

The following expression would also run at the same or higher speed, when passing X also for the Z parameter:

X^2*zScalar

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 12: TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, TMtxVec *Z, int zIndex, int Index, int Len);

Compute X*Y*Z on sub array

#NameTypeDescription
1XTMtxVec *
2XIndexint
3YTMtxVec *
4YIndexint
5ZTMtxVec *
6zIndexint
7Indexint
8Lenint
Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 13: TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, const double Z, int Index, int Len);

Compute X*Y*zScalar on sub array

#NameTypeDescription
1XTMtxVec *
2XIndexint
3YTMtxVec *
4YIndexint
5Zconst double
6Indexint
7Lenint
Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 14: TMtxVec *Mul(TMtxVec *X, int XIndex, TMtxVec *Y, int YIndex, const TCplx &Z, int Index, int Len);

Compute X*Y*zScalar on sub array

#NameTypeDescription
1XTMtxVec *
2XIndexint
3YTMtxVec *
4YIndexint
5Zconst TCplx &
6Indexint
7Lenint
Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 15: TMtxVec *Mul(TMtxVec *Vec);

Vector multiplication.

#NameTypeDescription
1VecTMtxVec *
Remarks:

Multiply each of Vec elements with corresponding elements in the calling object. Size and TVec::Complex property of the calling object are set automatically. The result is stored in the calling object.

See Also: TVec::Divide
Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 16: TMtxVec *Mul(TMtxVec *Vec, int VecIndex, int Index, int Len);

Multiply Vec elements [VecIndex]..[VecIndex+Len-1] with calling object elements [Index]..[Index+Len-1] in-place.

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

An exception is raised if Vec and calling object TVec::Complex property do not match or if array borders are overrun/underrun.

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 17: TMtxVec *Mul(TMtxVec *Vec1, TMtxVec *Vec2);

Multiply all Vec1 elements with corresponding Vec2 elements.

#NameTypeDescription
1Vec1TMtxVec *
2Vec2TMtxVec *
Remarks:

Store the results in calling object. Size and TVec::Complex property of calling object are adjusted automatically to match those of Vec1 and Vec2. An exception is raised if Vec1 and Vec2 size and TVec::Complex property do not match.

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler

Overload 18: TMtxVec *Mul(TMtxVec *Vec1, TMtxVec *Vec2, int Vec1Index, int Vec2Index, int Index, int Len);

Multiply Vec1 elements [Vec1Index]..[Vec1Index+Len-1] with Vec2 object elements [Vec2Index]..[Vec2Index+Len-1].

#NameTypeDescription
1Vec1TMtxVec *
2Vec2TMtxVec *
3Vec1Indexint
4Vec2Indexint
5Indexint
6Lenint
Remarks:

Store the results in calling object elements [Index]..[Index+Len-1]. Size and TVec::Complex properties of the calling object must be set explicitly. An exception is raised if TVec::ConditionCheck is True and array borders are overrun or underrun.

Declared in Dew::Math::TDenseMtxVec · Dew.Math/AbstractMtxVec.h · Cross-compiler