On Sat, 31 Jan 2009, Roy Stogner wrote:
> On Sat, 31 Jan 2009, Tim Kroeger wrote:
>> On Fri, 30 Jan 2009, Roy Stogner wrote:
>>> I think we need another argument to init. Probably a boolean with a
>>> sane default value so as not to break API compatibility, but I'm not
>>> sure on the details yet.
>> What about an enum type for that? It could take the values AUTOMATIC
>> (which would be the default and mimic the current implementation), SERIAL,
>> PARALLEL, and GHOSTED. Also, the vector should then store this information
>> (preferably in the base class) and make it readable. This would then also
>> replace my is_ghosted() method.
> This sounds like a big improvement over my boolean idea. Unless
> anyone else has input, I'll implement this tomorrow.
This is all in svn now. Everything still seems to be working, but
I've been making a lot of commits to core parts of the code lately;
people should feel free to yell at me if they think they've found a
I'm also open to suggestions as to how to make debug-mode gcc shut up
about a hidden overloaded NumericVector::init() version. How does a
function with arguments "int, int, vector, bool, enum" hide a function
with arguments "NumericVector, bool"? Even with implicit
Vector/vector constructors from int and with default function
arguments for the bool and enum, there should be no ambiguity here...
The part of the code that really *is* a regression is attached, as
yet-another patch version. As far as I can tell, the most prominent
(but hopefully increasingly lonely) current bug is that
PetscVector::localize() doesn't seem to properly update a GHOSTED
current_local_solution vector from a PARALLEL solution vector; it
seems to just leave current_local_solution with zeros. Not sure how
soon I'll get time to work on this again... Tim, could you take a