Thanks Barry, now I see.

Nevertheless, I still think that AOMAPPING is not properly implemented as a 
specific AO type. There's even no AOType set in AOCreateMapping(). It would be 
also better to have AOCreate_Mapping() and allow the usual workflow 
AOCreate-AOSetType-AOSetIS-AOSetUp-AOPetscToApplicationIS.

Even with AOBASIC, one has to call AOSetIS() before AOSetType(), otherwise it 
crashes - this would be also solved by introducing AOSetUp().

I will write it all down into a BB issue and hopefully return to fix it at some 
point.

Vaclav

> 27. 8. 2018 v 19:03, Smith, Barry F. <[email protected]>:
> 
> 
>   From the manual page
> 
>   Notes:
>    the arrays myapp and mypetsc need NOT contain the all the integers 0 to 
> napp-1, that is there CAN be "holes"  in the indices.
>       Use AOCreateBasic() or AOCreateBasicIS() if they do not have holes for 
> better performance.
> 
> so they are two different things. Mapping is more general but could be much 
> slower than basic (when basic works).
> 
>    Barry
> 
> 
>> On Aug 27, 2018, at 10:11 AM, Hapla Vaclav <[email protected]> wrote:
>> 
>> Hello
>> 
>> I don't understand the difference between these two (and 
>> AOCreate{Basic,Mapping}IS). They do the same according to docs. My guess 
>> would be the latter is obsolete, dating back to before multiple AOTypes were 
>> introduced?
>> 
>> Maybe just AOMappingHas{Application,Petsc}Index() need to be renamed/edited 
>> to AOBasicHas{Application,Petsc}Index(), and then AOCreateMapping{,IS} could 
>> be removed?
>> 
>> Cheers
>> 
>> Vaclav
> 

Reply via email to