I really like "const" usage, but isn't this too much?
Lisandro Dalcin
dalcinl at gmail.com
Wed Dec 3 19:37:20 CST 2008
On Wed, Dec 3, 2008 at 9:17 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> That is wierd; it seems strange that it would even compile.
OK, I'll try to review all this tomorrow, there are some other weird
Vec calls with such "const".
> BTW: I think your new change
> 7 - v->unplacedarray = v->array; /* save previous array so reset can bring
> it back */ 8
> - v->array = (PetscScalar *)a; 9 +
> if (a) { 10 + v->unplacedarray = v->array; /* save previous array so reset
> can bring it back */ 11
> + v->array = (PetscScalar *)a; 12 + }
> is TOTALLY wrong.
You see, I should never push before commenting :-(
> It is perfectly legitimate to place null arrays and one
> wants
> them to behave just like regular place arrays (saving the previous array).
What's the use case? This is used internally in PETSc? I do not remember...
> Why did you make this change and what was wrong with the way it was?
Do you mean that it is legitimate taht if a user makes the nasty bug
of calling VecPlaceArray(x,ptr) with ptr being NULL, then next he/she
will get a nasty segfault when calling Vec operations (let say,
VecMax()) ???
Barry, feel free to revert the changeset. Anyway, please let me know
the rationale for this "feature", I still do not get it...
>
> Barry
>
>
> On Dec 3, 2008, at 4:45 PM, Lisandro Dalcin wrote:
>
>> VecPlaceArray(Vec vec,const PetscScalar array[])
>> VecReplaceArray(Vec vec,const PetscScalar array[])
>>
>> --
>> Lisandro Dalcín
>> ---------------
>> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
>> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
>> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
>> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
>> Tel/Fax: +54-(0)342-451.1594
>>
>
>
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
More information about the petsc-dev
mailing list