Commit 3c199079 authored by Kirill Terekhov's avatar Kirill Terekhov

Reverse-Cuthill-McKee reordering in MPTILUC preconditioner

Added Reverse-Cuthill-McKee reordering into INNER_MPTILUC preconditioner
as default reordering when Metis_NodeND is not provided. On the tests
RCM shows 10% more fill-in in inverse factors then with Metis_NodeND,
but the RCM reordering procedure is 4 times faster then Metis_NodeND and
overall computational time decreases with RCM.

Fix type mismatch warnings in autodiff.cpp
parent 9c538219
......@@ -255,8 +255,8 @@ namespace INMOST
Storage::integer_array indarr = jt->IntegerArray(it->indices);
for (Storage::integer_array::iterator qt = indarr.begin(); qt != indarr.end(); ++qt)
{
if( *qt < first_num ) Pre.insert(*qt);
else if( *qt >= last_num ) Post.insert(*qt);
if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) < first_num ) Pre.insert(*qt);
else if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) >= last_num ) Post.insert(*qt);
}
}
}
......@@ -271,8 +271,8 @@ namespace INMOST
indarr.resize(jt->RealArray(it->d.t).size());
for (Storage::integer_array::iterator qt = indarr.begin(); qt != indarr.end(); ++qt)
{
if( *qt < first_num ) Pre.insert(*qt);
else if( *qt >= last_num ) Post.insert(*qt);
if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) < first_num ) Pre.insert(*qt);
else if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) >= last_num ) Post.insert(*qt);
}
}
}
......@@ -289,8 +289,8 @@ namespace INMOST
Storage::integer_array indarr = jt->IntegerArray(it->indices);
for (Storage::integer_array::iterator qt = indarr.begin(); qt != indarr.end(); ++qt)
{
if( *qt < first_num ) Pre.insert(*qt);
else if( *qt >= last_num ) Post.insert(*qt);
if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) < first_num ) Pre.insert(*qt);
else if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) >= last_num ) Post.insert(*qt);
}
}
}
......@@ -304,8 +304,8 @@ namespace INMOST
Storage::integer_array indarr = jt->IntegerArray(it->indices);
for (Storage::integer_array::iterator qt = indarr.begin(); qt != indarr.end(); ++qt)
{
if( *qt < first_num ) Pre.insert(*qt);
else if( *qt >= last_num ) Post.insert(*qt);
if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) < first_num ) Pre.insert(*qt);
else if( static_cast<INMOST_DATA_ENUM_TYPE>(*qt) >= last_num ) Post.insert(*qt);
}
}
}
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment