|
|
@ -103,14 +103,14 @@ int AR_MATRIX::InitRoutingMatrix() |
|
|
m_DistSide[side] = nullptr; |
|
|
m_DistSide[side] = nullptr; |
|
|
|
|
|
|
|
|
// allocate matrix & initialize everything to empty
|
|
|
// allocate matrix & initialize everything to empty
|
|
|
m_BoardSide[side] = (MATRIX_CELL*) operator new( ii * sizeof( MATRIX_CELL ) ); |
|
|
|
|
|
|
|
|
m_BoardSide[side] = new MATRIX_CELL[ ii * sizeof( MATRIX_CELL ) ]; |
|
|
memset( m_BoardSide[side], 0, ii * sizeof( MATRIX_CELL ) ); |
|
|
memset( m_BoardSide[side], 0, ii * sizeof( MATRIX_CELL ) ); |
|
|
|
|
|
|
|
|
if( m_BoardSide[side] == nullptr ) |
|
|
if( m_BoardSide[side] == nullptr ) |
|
|
return -1; |
|
|
return -1; |
|
|
|
|
|
|
|
|
// allocate Distances
|
|
|
// allocate Distances
|
|
|
m_DistSide[side] = (DIST_CELL*) operator new( ii * sizeof( DIST_CELL ) ); |
|
|
|
|
|
|
|
|
m_DistSide[side] = new DIST_CELL[ ii * sizeof( DIST_CELL ) ]; |
|
|
memset( m_DistSide[side], 0, ii * sizeof( DIST_CELL ) ); |
|
|
memset( m_DistSide[side], 0, ii * sizeof( DIST_CELL ) ); |
|
|
|
|
|
|
|
|
if( m_DistSide[side] == nullptr ) |
|
|
if( m_DistSide[side] == nullptr ) |
|
|
@ -119,8 +119,7 @@ int AR_MATRIX::InitRoutingMatrix() |
|
|
side = AR_SIDE_TOP; |
|
|
side = AR_SIDE_TOP; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
m_MemSize = |
|
|
|
|
|
m_RouteCount * ii * ( sizeof( MATRIX_CELL ) + sizeof( DIST_CELL ) + sizeof( char ) ); |
|
|
|
|
|
|
|
|
m_MemSize = m_RouteCount * ii * ( sizeof( MATRIX_CELL ) + sizeof( DIST_CELL ) ); |
|
|
|
|
|
|
|
|
return m_MemSize; |
|
|
return m_MemSize; |
|
|
} |
|
|
} |
|
|
@ -135,14 +134,14 @@ void AR_MATRIX::UnInitRoutingMatrix() |
|
|
// de-allocate Distances matrix
|
|
|
// de-allocate Distances matrix
|
|
|
if( m_DistSide[ii] ) |
|
|
if( m_DistSide[ii] ) |
|
|
{ |
|
|
{ |
|
|
delete m_DistSide[ii]; |
|
|
|
|
|
|
|
|
delete[] m_DistSide[ii]; |
|
|
m_DistSide[ii] = nullptr; |
|
|
m_DistSide[ii] = nullptr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// de-allocate cells matrix
|
|
|
// de-allocate cells matrix
|
|
|
if( m_BoardSide[ii] ) |
|
|
if( m_BoardSide[ii] ) |
|
|
{ |
|
|
{ |
|
|
delete m_BoardSide[ii]; |
|
|
|
|
|
|
|
|
delete[] m_BoardSide[ii]; |
|
|
m_BoardSide[ii] = nullptr; |
|
|
m_BoardSide[ii] = nullptr; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|