Great, thanks

> On Jul 14, 2017, at 4:53 PM, Satish Balay <[email protected]> wrote:
> 
> Added - and merged to next.
> 
> satish
> 
> On Fri, 14 Jul 2017, Blaise A Bourdin wrote:
> 
>> Got it. It works.
>> 
>> While you are at it, would you minding adding the binding for 
>> PetscOptionsLeft.
>> I am attaching the patch,
>> 
>> diff --git a/src/sys/objects/ftn-custom/zoptionsf.c 
>> b/src/sys/objects/ftn-custom/zoptionsf.c
>> index 65d64b1580..9d36bc2d4d 100644
>> --- a/src/sys/objects/ftn-custom/zoptionsf.c
>> +++ b/src/sys/objects/ftn-custom/zoptionsf.c
>> @@ -24,6 +24,7 @@
>> #define petscoptionsclear_                 PETSCOPTIONSCLEAR
>> #define petscoptionsinsertstring_          PETSCOPTIONSINSERTSTRING
>> #define petscoptionsview_                  PETSCOPTIONSVIEW
>> +#define petscoptionsleft_                  PETSCOPTIONSLEFT
>> #define petscobjectviewfromoptions_        PETSCOBJECTVIEWFROMOPTIONS
>> #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
>> #define petscoptionsgetenumprivate_        petscoptionsgetenumprivate
>> @@ -42,6 +43,7 @@
>> #define petscoptionsclear_                 petscoptionsclear
>> #define petscoptionsinsertstring_          petscoptionsinsertstring
>> #define petscoptionsview_                  petscoptionsview
>> +#define petscoptionsleft_                  petscoptionsleft
>> #define petscobjectviewfromoptions_        petscobjectviewfromoptions
>> #endif
>> 
>> 
>> 
>> @@ -254,6 +256,12 @@ PETSC_EXTERN void PETSC_STDCALL 
>> petscoptionsview_(PetscOptions *options,PetscVie
>>   *ierr = PetscOptionsView(*options,v);
>> }
>> 
>> 
>> 
>> +PETSC_EXTERN void PETSC_STDCALL petscoptionsleft_(PetscOptions 
>> *options,PetscErrorCode *ierr)
>> +{
>> + CHKFORTRANNULLOBJECTDEREFERENCE(options);
>> +  *ierr = PetscOptionsLeft(*options);
>> +}
>> +
>> PETSC_EXTERN void PETSC_STDCALL petscobjectviewfromoptions_(PetscObject 
>> *obj,PetscObject *bobj,char* option PETSC_MIXED_LEN(loption),PetscErrorCode 
>> *ierr  PETSC_END_LEN(loption))
>> {
>>   char *o;
>> 
>> 
>> Blaise
>> 
>> On Jul 14, 2017, at 3:54 PM, Satish Balay 
>> <[email protected]<mailto:[email protected]>> wrote:
>> 
>> include/petscsys.h:PETSC_EXTERN PetscErrorCode 
>> PetscDataTypeGetSize(PetscDataType,size_t*);
>> 
>> Looks like this needs a custom stub due to 'size_t' parameter.
>> 
>> I've aded the custom interface to balay/add-ftn-PetscDataTypeGetSize. Can 
>> you give it a try?
>> 
>> You would have to use a datatype that matches 'size_t' on the fortran size - 
>> i.e PetscSizeT.
>> 
>> Satish
>> 
>> On Fri, 14 Jul 2017, Blaise A Bourdin wrote:
>> 
>> Hi,
>> 
>> It looks like the fortran binding for PetscDataTypeGetSize was removed a 
>> while ago. Evidently, auto generated binding won’t work here.
>> I’m a bit out of sync with the recent fortran changes, but why are 
>> automatically generated binding not working anymore, and what should the 
>> proper binding look like?
>> 
>> Alternatively, is there a new recommended way to query the size of a Petsc 
>> type from fortran?
>> 
>> Blaise
>> 
>> 
>> 
>> 
>> --
>> Department of Mathematics and Center for Computation & Technology
>> Louisiana State University, Baton Rouge, LA 70803, USA
>> Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 
>> http://www.math.lsu.edu/~bourdin
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 

-- 
Department of Mathematics and Center for Computation & Technology
Louisiana State University, Baton Rouge, LA 70803, USA
Tel. +1 (225) 578 1612, Fax  +1 (225) 578 4276 http://www.math.lsu.edu/~bourdin







Reply via email to