Date: 2026-01-20T11:35:20+00:00

Actual source code: finit.c

      1: /*
      2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
      4:    Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain

      6:    This file is part of SLEPc.
      7:    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
      8:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      9: */

     11: #include <slepc/private/slepcimpl.h>

     13: /*@C
     14:    SlepcInitializeFortran - Routine that should be called from C after
     15:    the call to `SlepcInitialize()` if one is using a C main program
     16:    that calls Fortran routines that in turn call SLEPc routines.

     18:    Collective on `PETSC_COMM_WORLD`

     20:    Level: advanced

     22:    Note:
     23:    `SlepcInitializeFortran()` initializes some of the default SLEPc variables
     24:    for use in Fortran if a user's main program is written in C.
     25:    `SlepcInitializeFortran()` is NOT needed if a user's main
     26:    program is written in Fortran; in this case, just calling
     27:    `SlepcInitialize()` in the main (Fortran) program is sufficient.

     29: .seealso: [](sec:fortran), `SlepcInitialize()`
     30: @*/
     31: PetscErrorCode SlepcInitializeFortran(void)
     32: {
     33: #if defined(PETSC_USE_FORTRAN_BINDINGS)
     34:   PetscCall(PetscInitializeFortran());
     35: #endif
     36:   return PETSC_SUCCESS;
     37: }