!
!  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
!  SLEPc - Scalable Library for Eigenvalue Problem Computations
!  Copyright (c) 2002-2020, Universitat Politecnica de Valencia, Spain
!
!  This file is part of SLEPc.
!  SLEPc is distributed under a 2-clause BSD license (see LICENSE).
!  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
!
      interface SVDGetDimensions
        subroutine SVDGetDimensions000(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscInt c
          PetscInt d
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions100(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b(*)
          PetscInt c
          PetscInt d
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions010(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscInt c(*)
          PetscInt d
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions001(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscInt c
          PetscInt d(*)
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions110(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b(*)
          PetscInt c(*)
          PetscInt d
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions011(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscInt c(*)
          PetscInt d(*)
          PetscErrorCode z
        end subroutine
        subroutine SVDGetDimensions101(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b(*)
          PetscInt c
          PetscInt d(*)
          PetscErrorCode z
        end subroutine
      end interface SVDGetDimensions

      interface SVDGetSingularTriplet
        subroutine SVDGetSingularTriplet0(a,b,c,d,e,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscReal c
          Vec d
          Vec e
          PetscErrorCode z
        end subroutine
        subroutine SVDGetSingularTriplet1(a,b,c,d,e,z)
          use slepcsvddef
          SVD a
          PetscInt b
          PetscReal c(*)
          Vec d
          Vec e
          PetscErrorCode z
        end subroutine
      end interface SVDGetSingularTriplet

      interface SVDGetTolerances
        subroutine SVDGetTolerances00(a,b,c,z)
          use slepcsvddef
          SVD a
          PetscReal b
          PetscInt c
          PetscErrorCode z
        end subroutine
        subroutine SVDGetTolerances10(a,b,c,z)
          use slepcsvddef
          SVD a
          PetscReal b(*)
          PetscInt c
          PetscErrorCode z
        end subroutine
        subroutine SVDGetTolerances01(a,b,c,z)
          use slepcsvddef
          SVD a
          PetscReal b
          PetscInt c(*)
          PetscErrorCode z
        end subroutine
      end interface SVDGetTolerances

      interface SVDSetInitialSpaces
        subroutine SVDSetInitialSpaces00(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          Vec c
          Vec d
          PetscErrorCode z
        end subroutine
        subroutine SVDSetInitialSpaces01(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          Vec c
          Vec d(*)
          PetscErrorCode z
        end subroutine
        subroutine SVDSetInitialSpaces10(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          Vec c(*)
          Vec d
          PetscErrorCode z
        end subroutine
        subroutine SVDSetInitialSpaces11(a,b,c,d,z)
          use slepcsvddef
          SVD a
          PetscInt b
          Vec c(*)
          Vec d(*)
          PetscErrorCode z
        end subroutine
      end interface SVDSetInitialSpaces

