TSparseMtx.ThreshTop Method

Overload List

#SignatureDescription
1function ThreshTop(const Src: TMtxVec; const Value: Double): TMtxVec;Perform threshold operation on all Src object values.
└ indexed: function ThreshTop(const Vec: TMtxVec; const Value: Double; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;
2function ThreshTop(const Value: Double): TMtxVec;Threshold top operation.
└ indexed: function ThreshTop(const Value: Double; Index: Integer; Len: Integer): TMtxVec;

Overload 1: function ThreshTop(const Src: TMtxVec; const Value: Double): TMtxVec;

Perform threshold operation on all Src object values.

#NameTypeDescription
1SrcTMtxVecsource TVec or TMtx
2ValueDoublescalar

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

Remarks:

Store the results in calling object. Size and TMtxVec.Complex properties of the calling object are adjusted automatically.

Indexed: function ThreshTop(const Vec: TMtxVec; const Value: Double; VecIndex: Integer; Index: Integer; Len: Integer): TMtxVec;

Perform a threshold operation Vec elements [VecIndex]..[VecIndex+Len-1].

#NameTypeDescription
1VecTMtxVecsource TVec or TMtx
2ValueDoublescalar
3VecIndexInteger
4IndexIntegerstart index
5LenIntegerelement count

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

Remarks:

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

Overload 2: function ThreshTop(const Value: Double): TMtxVec;

Threshold top operation.

#NameTypeDescription
1ValueDoublescalar

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

Remarks:

Perform threshold operation on all calling object values. The Value parameter is an upper bound for threshold operation. All values bigger than Value will be replaced with Value.

Examples
var a: Matrix;
begin
    a.SetIt(1,2,True,[2,0.1,3,4]);
    a.Threshtop(0.2); // a = [0.2,0.1,0.2,0.2]
end;
var
    a, expected: Matrix;
begin
    a := [[1.0, 5.0, 3.0, 7.0, 2.0]];
    a.ThreshTop(4.0);
    expected := [[1.0, 4.0, 3.0, 4.0, 2.0]];
    if not a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute) then
        raise Exception.Create('Matrix.ThreshTop: mismatch');
end;

Indexed: function ThreshTop(const Value: Double; Index: Integer; Len: Integer): TMtxVec;

Perfrom the threshold operation on calling object values [Index]..[Index+Len-1].

#NameTypeDescription
1ValueDoublescalar
2IndexIntegerstart index
3LenIntegerelement count

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

Remarks:

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