# 2.2.3.9.56 matrixbase::ReplaceGreaterThan

## Description

Replace all cell values greater than dThresholdVal with dReplaceVal.

## Syntax

BOOL ReplaceGreaterThan( double dThresholdVal, double dReplaceVal )

## Parameters

dThresholdVal
[input] Condition or threshold value
dReplaceVal
[input] Replacement value

## Return

Returns TRUE on success or FALSE on failure.

## Examples

EX1

void matrixbase_ReplaceGreaterThan_ex1()
{
BOOL rc;

matrix<double> mat1 = {
{-2.0,  0.05, 0.1, 2},
{-0.1,  0,    0,   0},
{-0.05, 0,    0,   0},
{ 2,    0,    0,   0}
};
MatrixPage MatPg1;
MatPg1.Create("Origin");
MatrixLayer MatLy1 = MatPg1.Layers(0);
Matrix Mat1(MatLy1);
Mat1 = mat1;
printf("  The original matrix is %s.\n",Mat1.GetName());

matrix mat2(mat1);  // Create mat2, and copy mat1 to mat2
rc=mat2.ReplaceGreaterThan(0.1, 10.0); // Demonstrate  ReplaceGreaterThan
// Result matrix:
//    {-2.0,  0.05, 0.1, 10},
//    {-0.1,  0,    0,    0},
//    {-0.05, 0,    0,    0},
//    {10,    0,    0,    0}

if(!rc) printf("Error: ReplaceGreaterThan(0.1, 10.0) on a matrix failed.\n");
else
{
MatrixPage MatPg2;
MatPg2.Create("Origin");
MatrixLayer MatLy2 = MatPg2.Layers(0);
Matrix Mat2(MatLy2);
Mat2 = mat2;
printf("  Observe the ReplaceGreaterThan (>0.1) matrix in %s.\n",
Mat2.GetName());
}

matrix mat3(mat1);  // Create mat2, and copy mat1 to mat2
rc=mat3.ReplaceGreaterThan(-0.1, 10.0); // Demonstrate  ReplaceGreaterThan
// Result matrix:
//    {-2,   10,  10, 10},
//    {-0.1, 10,  10, 10},
//    {10,   10,  10, 10},
//    {10,   10,  10, 10}

if(!rc) printf("Error: ReplaceGreaterThan(-0.1, 10.0) on a matrix failed.\n");
else
{
MatrixPage MatPg3;
MatPg3.Create("Origin");
MatrixLayer MatLy3 = MatPg3.Layers(0);
Matrix Mat3(MatLy3);
Mat3 = mat3;
printf("  Observe the ReplaceGreaterThan (>-0.1) matrix in %s.\n",
Mat3.GetName());
}
}

## Remark

Replace all cell values greater than dThresholdVal with dReplaceVal.