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
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to