//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
* @file FBaseIntMatrix.cpp
* @brief This is the implementation for IntMatrix class.
*/
-
#include <FBaseIntMatrix.h>
#include <FBaseSysLog.h>
#include <unique_ptr.h>
IntMatrix::~IntMatrix(void)
{
- for ( int i = 0 ; i < __row ; i++ )
+ for (int i = 0; i < __row; i++)
{
delete[] __pMatrix[i];
}
bool
IntMatrix::Equals(const Tizen::Base::Object& obj) const
{
- const IntMatrix* pOther = dynamic_cast <const IntMatrix*>(&obj);
+ const IntMatrix* pOther = dynamic_cast< const IntMatrix* >(&obj);
if (pOther == null)
{
bool
IntMatrix::AllocateCapacity(int rowCount, int columnCount)
{
- std::unique_ptr<int* []> pMatrix(new (std::nothrow) int* [rowCount]);
+ std::unique_ptr< int*[] > pMatrix(new (std::nothrow) int*[rowCount]);
SysTryReturn(NID_BASE, pMatrix != null, false, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
- for ( int i = 0 ; i < rowCount ; i++ )
+ for (int i = 0; i < rowCount; i++)
{
pMatrix[i] = new (std::nothrow) int[columnCount];
if (pMatrix[i] == null)
{
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pMatrix[j];
}
- return false;
+ return false;
}
}
}
int determinant = 0;
- std::unique_ptr<int* []> pMinor(new (std::nothrow) int* [order - 1]);
+ std::unique_ptr< int*[] > pMinor(new (std::nothrow) int*[order - 1]);
SysTryReturn(NID_BASE, pMinor != null, false, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
- for (int i = 0; i < order -1; i++)
+ for (int i = 0; i < order - 1; i++)
{
pMinor[i] = new (std::nothrow) int[order - 1];
if (pMinor[i] == null)
{
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pMinor[j];
}
- return determinant;
+ return determinant;
}
}
if (signFlag == true)
{
- determinant += pMatrix[0][i] * CalculateDeterminant(pMinor.get(), order -1);
+ determinant += pMatrix[0][i] * CalculateDeterminant(pMinor.get(), order - 1);
signFlag = false;
}
else
{
- determinant += -pMatrix[0][i] * CalculateDeterminant(pMinor.get(), order -1);
+ determinant += -pMatrix[0][i] * CalculateDeterminant(pMinor.get(), order - 1);
signFlag = true;
}
}
- for (int i = 0; i < order -1; i++)
+ for (int i = 0; i < order - 1; i++)
{
delete[] pMinor[i];
}
"[%s] Invalid argument is used. The columnIndex is larger than the column count of the current instance.",
GetErrorMessage(E_INVALID_ARG));
- std::unique_ptr<int []> pColumn(new (std::nothrow) int [__row]);
+ std::unique_ptr< int[] > pColumn(new (std::nothrow) int[__row]);
SysTryReturn(NID_BASE, pColumn != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
SysTryReturn(NID_BASE, __row == __column, null, E_INVALID_OPERATION,
"[%s] The current instance is not a square matrix.", GetErrorMessage(E_INVALID_OPERATION));
- std::unique_ptr<IntMatrix> pInverseMatrix(new (std::nothrow) IntMatrix(__row, __column));
+ std::unique_ptr< IntMatrix > pInverseMatrix(new (std::nothrow) IntMatrix(__row, __column));
SysTryReturn(NID_BASE, pInverseMatrix != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
return null;
}
- std::unique_ptr<int* []> pMinor(new (std::nothrow) int* [__row - 1]);
+ std::unique_ptr< int*[] > pMinor(new (std::nothrow) int*[__row - 1]);
SysTryReturn(NID_BASE, pMinor != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
pMinor[i] = new (std::nothrow) int[__row - 1];
if (pMinor[i] == null)
{
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pMinor[j];
}
}
}
- for ( int i = 0 ; i < __row - 1 ; i++)
+ for (int i = 0; i < __row - 1; i++)
{
delete[] pMinor[i];
}
"[%s] Invalid argument is used. The rowIndex is larger than the row count of the current instance.",
GetErrorMessage(E_INVALID_ARG));
- std::unique_ptr<int []> pRow(new (std::nothrow) int [__column]);
+ std::unique_ptr< int[] > pRow(new (std::nothrow) int[__column]);
SysTryReturn(NID_BASE, pRow != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
SysTryReturn(NID_BASE, __row == __column, null, E_INVALID_OPERATION,
"[%s] The current instance is not a square matrix.", GetErrorMessage(E_INVALID_OPERATION));
- std::unique_ptr<IntMatrix> pTransposeMatrix(new (std::nothrow) IntMatrix(*this));
+ std::unique_ptr< IntMatrix > pTransposeMatrix(new (std::nothrow) IntMatrix(*this));
SysTryReturn(NID_BASE, pTransposeMatrix != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
SysTryReturnResult(NID_BASE, __column == matrix.__row, E_INVALID_ARG,
"The column count of the current instance is not same with the row count of the specified instance.");
- std::unique_ptr<int* []> pResult(new (std::nothrow) int* [__row]);
+ std::unique_ptr< int*[] > pResult(new (std::nothrow) int*[__row]);
SysTryReturnResult(NID_BASE, pResult != null, E_OUT_OF_MEMORY, "Memory allocation failed.");
- for ( int i = 0 ; i < __row ; i++ )
+ for (int i = 0; i < __row; i++)
{
pResult[i] = new int[matrix.__column];
if (pResult[i] == null)
{
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pResult[j];
}
}
}
- for ( int i = 0 ; i < __row ; i++ )
+ for (int i = 0; i < __row; i++)
{
delete[] __pMatrix[i];
}
int determinant = CalculateDeterminant(__pMatrix, __row);
SysTryReturnResult(NID_BASE, determinant != 0, E_INVALID_OPERATION, "The current instance is not invertible.");
- std::unique_ptr<int* []> pInverse(new (std::nothrow) int* [__row]);
+ std::unique_ptr< int*[] > pInverse(new (std::nothrow) int*[__row]);
SysTryReturn(NID_BASE, pInverse != null, false, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.",
GetErrorMessage(E_OUT_OF_MEMORY));
pInverse[i] = new (std::nothrow) int[__row];
if (pInverse[i] == null)
{
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pInverse[j];
- }
+ }
return E_OUT_OF_MEMORY;
}
}
- std::unique_ptr<int* []> pMinor(new (std::nothrow) int* [__row - 1]);
+ std::unique_ptr< int*[] > pMinor(new (std::nothrow) int*[__row - 1]);
if (pMinor == null)
{
- for ( int i = 0 ; i < __row ; i++ )
+ for (int i = 0; i < __row; i++)
{
delete[] pInverse[i];
}
pMinor[i] = new int[__row - 1];
if (pMinor[i] == null)
{
- for ( int i = 0 ; i < __row ; i++ )
+ for (int k = 0; k < __row; k++)
{
- delete[] pInverse[i];
+ delete[] pInverse[k];
}
- for (int j = 0; j < i; j++)
+ for (int j = 0; j < i; j++)
{
delete[] pMinor[j];
}
{
GetMinor(__pMatrix, pMinor.get(), i, j, __row);
pInverse[j][i] = CalculateDeterminant(pMinor.get(), __row - 1) / determinant;
- if ((i +j +2) % 2 == 1)
+ if ((i + j + 2) % 2 == 1)
{
pInverse[j][i] = -pInverse[j][i];
}
}
}
- for ( int i = 0 ; i < __row ; i++ )
+ for (int i = 0; i < __row; i++)
{
delete[] __pMatrix[i];
}
__pMatrix = pInverse.release();
- for ( int i = 0 ; i < __row - 1; i++ )
+ for (int i = 0; i < __row - 1; i++)
{
delete[] pMinor[i];
}