Thanks.
dmitry.

On Wed, Aug 17, 2011 at 10:39 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On Aug 17, 2011, at 1:37 PM, Dmitry Karpeev wrote:
>
>> Okay. By "typo" I meant that I never intended to have a "const
>> PetscInt" argument.
>> It just got contaminated from the nearby "const PetscInt *".
>> I'm not sure what meaning "const PetscInt" would have, since C has
>> pass-by-value
>> semantics, but I'm not sure whether some C-subtlety might be at play here.
>
> ? Dmitry,
>
> ? Ok, I'll fix yours.
>
> ? But someone else has done as well I think :-)
>
> ? Barry
>
>>
>> On Wed, Aug 17, 2011 at 10:34 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>>
>>> On Aug 17, 2011, at 1:31 PM, Dmitry Karpeev wrote:
>>>
>>>> That's just a typo on my part.
>>>> I'm rewriting the whole SA ball of wax, but I can push a quicker fix
>>>> for this too,
>>>
>>> ? What do you mean typo? I fixed the repository so that the declaration and 
>>> the prototype match. You don't need to do anything.
>>>
>>> ? But my question remains, should we const declare function arguments?
>>>
>>> ?barry
>>>
>>>> but, unfortunately, I won't be able to do that untill next Monday.
>>>>
>>>>
>>>> Dmitry.
>>>>
>>>> On Wed, Aug 17, 2011 at 10:09 PM, Barry Smith <bsmith at mcs.anl.gov> 
>>>> wrote:
>>>>>
>>>>> ? Some declarations of the form
>>>>>
>>>>> extern PetscErrorCode SAAddData(SA arr, const PetscInt len, const 
>>>>> PetscInt *ia, const PetscScalar *wa, const PetscInt *ja);
>>>>>
>>>>> have crept into PETSc. ?const PetscInt len
>>>>>
>>>>> Do we want to have such beasties? What purpose do they serve?
>>>>>
>>>>> My understanding is that it is contaminating the entire code (because of 
>>>>> the extern PetscErrorCode SAAddData(SA arr, const PetscInt len, const 
>>>>> PetscInt *ia, const PetscScalar *wa, const PetscInt *ja); with the 
>>>>> knowledge that internally the subroutine never changes the value of the 
>>>>> stack variable function which is the opposite of encapsulation. What am I 
>>>>> missing? Is this just stupid C syntax, is there a better way?
>>>>>
>>>>> ? Thanks
>>>>>
>>>>> ? ?Barry
>>>>>
>>>>>
>>>
>>>
>
>

Reply via email to