LCOV - code coverage report
Current view: top level - home/gitlab-runner/builds/q8svuz_Y/0/slepc/slepc/include/slepc/private - slepccontour.h (source / functions) Hit Total Coverage
Test: SLEPc Lines: 8 8 100.0 %
Date: 2024-05-01 00:51:33 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
       3             :    SLEPc - Scalable Library for Eigenvalue Problem Computations
       4             :    Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain
       5             : 
       6             :    This file is part of SLEPc.
       7             :    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
       8             :    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
       9             : */
      10             : 
      11             : #pragma once
      12             : 
      13             : #include <slepc/private/slepcimpl.h>
      14             : #include <petscksp.h>
      15             : 
      16             : /*
      17             :   CISS_BlockHankel - Builds a block Hankel matrix from the contents of Mu.
      18             : */
      19          16 : static inline PetscErrorCode CISS_BlockHankel(PetscScalar *Mu,PetscInt s,PetscInt L,PetscInt M,PetscScalar *H)
      20             : {
      21          16 :   PetscInt i,j,k;
      22             : 
      23          16 :   PetscFunctionBegin;
      24        1356 :   for (k=0;k<L*M;k++)
      25       11980 :     for (j=0;j<M;j++)
      26      143328 :       for (i=0;i<L;i++)
      27      132688 :         H[j*L+i+k*L*M] = Mu[i+k*L+(j+s)*L*L];
      28          16 :   PetscFunctionReturn(PETSC_SUCCESS);
      29             : }
      30             : 
      31             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcCISS_isGhost(Mat,PetscInt,PetscReal*,PetscReal,PetscBool*);
      32             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcCISS_BH_SVD(PetscScalar*,PetscInt,PetscReal,PetscReal*,PetscInt*);
      33             : 
      34             : /* Data structures and functions for contour integral methods (used in several classes) */
      35             : struct _n_SlepcContourData {
      36             :   PetscObject  parent;     /* parent object */
      37             :   PetscSubcomm subcomm;    /* subcommunicator for top level parallelization */
      38             :   PetscInt     npoints;    /* number of integration points assigned to the local subcomm */
      39             :   KSP          *ksp;       /* ksp array for storing factorizations at integration points */
      40             :   Mat          *pA;        /* redundant copies of the matrices in the local subcomm */
      41             :   Mat          *pP;        /* redundant copies of the matrices (preconditioner) */
      42             :   PetscInt     nmat;       /* number of matrices in pA */
      43             :   Vec          xsub;       /* aux vector with parallel layout as redundant Mat */
      44             :   Vec          xdup;       /* aux vector with parallel layout as original Mat (with contiguous order) */
      45             :   VecScatter   scatterin;  /* to scatter from regular vector to xdup */
      46             : };
      47             : typedef struct _n_SlepcContourData* SlepcContourData;
      48             : 
      49             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcContourDataCreate(PetscInt,PetscInt,PetscObject,SlepcContourData*);
      50             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcContourDataReset(SlepcContourData);
      51             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcContourDataDestroy(SlepcContourData*);
      52             : 
      53             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcContourRedundantMat(SlepcContourData,PetscInt,Mat*,Mat*);
      54             : SLEPC_SINGLE_LIBRARY_INTERN PetscErrorCode SlepcContourScatterCreate(SlepcContourData,Vec);

Generated by: LCOV version 1.14