| Line | Branch | Exec | Source |
|---|---|---|---|
| 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 | Region enclosed in an ellipse (aligned with the coordinate axes) | ||
| 12 | */ | ||
| 13 | |||
| 14 | #include <slepc/private/rgimpl.h> /*I "slepcrg.h" I*/ | ||
| 15 | #include <petscdraw.h> | ||
| 16 | |||
| 17 | typedef struct { | ||
| 18 | PetscScalar center; /* center of the ellipse */ | ||
| 19 | PetscReal radius; /* radius of the ellipse */ | ||
| 20 | PetscReal vscale; /* vertical scale of the ellipse */ | ||
| 21 | } RG_ELLIPSE; | ||
| 22 | |||
| 23 | 866 | static PetscErrorCode RGEllipseSetParameters_Ellipse(RG rg,PetscScalar center,PetscReal radius,PetscReal vscale) | |
| 24 | { | ||
| 25 | 866 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 26 | |||
| 27 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
866 | PetscFunctionBegin; |
| 28 | 866 | ctx->center = center; | |
| 29 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
|
866 | if (radius == (PetscReal)PETSC_DETERMINE) { |
| 30 | ✗ | ctx->radius = 1.0; | |
| 31 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
866 | } else if (radius != (PetscReal)PETSC_CURRENT) { |
| 32 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
|
866 | PetscCheck(radius>0.0,PetscObjectComm((PetscObject)rg),PETSC_ERR_ARG_OUTOFRANGE,"The radius argument must be > 0.0"); |
| 33 | 866 | ctx->radius = radius; | |
| 34 | } | ||
| 35 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
|
866 | if (vscale == (PetscReal)PETSC_DETERMINE) { |
| 36 | ✗ | ctx->vscale = 1.0; | |
| 37 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
866 | } else if (vscale != (PetscReal)PETSC_CURRENT) { |
| 38 |
1/4✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
|
866 | PetscCheck(vscale>0.0,PetscObjectComm((PetscObject)rg),PETSC_ERR_ARG_OUTOFRANGE,"The vscale argument must be > 0.0"); |
| 39 | 866 | ctx->vscale = vscale; | |
| 40 | } | ||
| 41 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
181 | PetscFunctionReturn(PETSC_SUCCESS); |
| 42 | } | ||
| 43 | |||
| 44 | /*@ | ||
| 45 | RGEllipseSetParameters - Sets the parameters defining the ellipse region. | ||
| 46 | |||
| 47 | Logically Collective | ||
| 48 | |||
| 49 | Input Parameters: | ||
| 50 | + rg - the region context | ||
| 51 | . center - center of the ellipse | ||
| 52 | . radius - radius of the ellipse | ||
| 53 | - vscale - vertical scale of the ellipse | ||
| 54 | |||
| 55 | Options Database Keys: | ||
| 56 | + -rg_ellipse_center \<center\> - sets the center | ||
| 57 | . -rg_ellipse_radius \<radius\> - sets the radius | ||
| 58 | - -rg_ellipse_vscale \<vscale\> - sets the vertical scale | ||
| 59 | |||
| 60 | Notes: | ||
| 61 | In the case of complex scalars, a complex center can be provided in the | ||
| 62 | command line with `[+/-][realnumber][+/-]realnumberi` with no spaces, e.g., | ||
| 63 | `-rg_ellipse_center 1.0+2.0i`. | ||
| 64 | |||
| 65 | When PETSc is built with real scalars, the center is restricted to a real value. | ||
| 66 | |||
| 67 | For `radius` and `vscale`, you can use `PETSC_CURRENT` to keep the current value, and | ||
| 68 | `PETSC_DETERMINE` to set them to a default of 1. | ||
| 69 | |||
| 70 | Level: advanced | ||
| 71 | |||
| 72 | .seealso: [](sec:rg), `RGELLIPSE`, `RGEllipseGetParameters()` | ||
| 73 | @*/ | ||
| 74 | 866 | PetscErrorCode RGEllipseSetParameters(RG rg,PetscScalar center,PetscReal radius,PetscReal vscale) | |
| 75 | { | ||
| 76 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
866 | PetscFunctionBegin; |
| 77 |
3/16✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
866 | PetscValidHeaderSpecific(rg,RG_CLASSID,1); |
| 78 |
30/68✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 2 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✓ Branch 34 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✓ Branch 47 taken 2 times.
✓ Branch 48 taken 2 times.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✓ Branch 51 taken 2 times.
✓ Branch 52 taken 2 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 2 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 2 times.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✓ Branch 60 taken 2 times.
✗ Branch 61 not taken.
✓ Branch 62 taken 2 times.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
✓ Branch 65 taken 2 times.
✗ Branch 66 not taken.
✗ Branch 67 not taken.
|
866 | PetscValidLogicalCollectiveScalar(rg,center,2); |
| 79 |
29/66✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 2 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✓ Branch 34 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✓ Branch 47 taken 2 times.
✓ Branch 48 taken 2 times.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✓ Branch 51 taken 2 times.
✓ Branch 52 taken 2 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 2 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 2 times.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✓ Branch 60 taken 2 times.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
|
866 | PetscValidLogicalCollectiveReal(rg,radius,3); |
| 80 |
29/66✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
✗ Branch 16 not taken.
✓ Branch 17 taken 2 times.
✓ Branch 18 taken 2 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✓ Branch 21 taken 2 times.
✓ Branch 22 taken 2 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 2 times.
✓ Branch 26 taken 2 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 2 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 2 times.
✓ Branch 34 taken 2 times.
✗ Branch 35 not taken.
✓ Branch 36 taken 2 times.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✓ Branch 39 taken 2 times.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✓ Branch 43 taken 2 times.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✓ Branch 47 taken 2 times.
✓ Branch 48 taken 2 times.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✓ Branch 51 taken 2 times.
✓ Branch 52 taken 2 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 2 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 2 times.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✓ Branch 60 taken 2 times.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
✓ Branch 63 taken 2 times.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
|
866 | PetscValidLogicalCollectiveReal(rg,vscale,4); |
| 81 |
8/14✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 10 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 2 times.
|
866 | PetscTryMethod(rg,"RGEllipseSetParameters_C",(RG,PetscScalar,PetscReal,PetscReal),(rg,center,radius,vscale)); |
| 82 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
866 | PetscFunctionReturn(PETSC_SUCCESS); |
| 83 | } | ||
| 84 | |||
| 85 | 1365 | static PetscErrorCode RGEllipseGetParameters_Ellipse(RG rg,PetscScalar *center,PetscReal *radius,PetscReal *vscale) | |
| 86 | { | ||
| 87 | 1365 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 88 | |||
| 89 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
1365 | PetscFunctionBegin; |
| 90 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
1365 | if (center) *center = ctx->center; |
| 91 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
1365 | if (radius) *radius = ctx->radius; |
| 92 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
1365 | if (vscale) *vscale = ctx->vscale; |
| 93 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
1365 | PetscFunctionReturn(PETSC_SUCCESS); |
| 94 | } | ||
| 95 | |||
| 96 | /*@ | ||
| 97 | RGEllipseGetParameters - Gets the parameters that define the ellipse region. | ||
| 98 | |||
| 99 | Not Collective | ||
| 100 | |||
| 101 | Input Parameter: | ||
| 102 | . rg - the region context | ||
| 103 | |||
| 104 | Output Parameters: | ||
| 105 | + center - center of the region | ||
| 106 | . radius - radius of the region | ||
| 107 | - vscale - vertical scale of the region | ||
| 108 | |||
| 109 | Level: advanced | ||
| 110 | |||
| 111 | .seealso: [](sec:rg), `RGELLIPSE`, `RGEllipseSetParameters()` | ||
| 112 | @*/ | ||
| 113 | 1365 | PetscErrorCode RGEllipseGetParameters(RG rg,PetscScalar *center,PetscReal *radius,PetscReal *vscale) | |
| 114 | { | ||
| 115 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
1365 | PetscFunctionBegin; |
| 116 |
3/16✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
1365 | PetscValidHeaderSpecific(rg,RG_CLASSID,1); |
| 117 |
9/16✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 10 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 2 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 2 times.
|
1365 | PetscUseMethod(rg,"RGEllipseGetParameters_C",(RG,PetscScalar*,PetscReal*,PetscReal*),(rg,center,radius,vscale)); |
| 118 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
1365 | PetscFunctionReturn(PETSC_SUCCESS); |
| 119 | } | ||
| 120 | |||
| 121 | 51 | static PetscErrorCode RGView_Ellipse(RG rg,PetscViewer viewer) | |
| 122 | { | ||
| 123 | 51 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 124 | 51 | PetscBool isdraw,isascii; | |
| 125 | 51 | int winw,winh; | |
| 126 | 51 | PetscDraw draw; | |
| 127 | 51 | PetscDrawAxis axis; | |
| 128 | 51 | PetscReal cx,cy,r,ab,cd,lx,ly,w,scale=1.2; | |
| 129 | 51 | char str[50]; | |
| 130 | |||
| 131 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
51 | PetscFunctionBegin; |
| 132 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
51 | PetscCall(PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERDRAW,&isdraw)); |
| 133 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
51 | PetscCall(PetscObjectTypeCompare((PetscObject)viewer,PETSCVIEWERASCII,&isascii)); |
| 134 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
51 | if (isascii) { |
| 135 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
41 | PetscCall(SlepcSNPrintfScalar(str,sizeof(str),ctx->center,PETSC_FALSE)); |
| 136 |
7/10✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 8 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 2 times.
|
41 | PetscCall(PetscViewerASCIIPrintf(viewer," center: %s, radius: %g, vscale: %g\n",str,RGShowReal(ctx->radius),RGShowReal(ctx->vscale))); |
| 137 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
10 | } else if (isdraw) { |
| 138 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscViewerDrawGetDraw(viewer,0,&draw)); |
| 139 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawCheckResizedWindow(draw)); |
| 140 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawGetWindowSize(draw,&winw,&winh)); |
| 141 | 10 | winw = PetscMax(winw,1); winh = PetscMax(winh,1); | |
| 142 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawClear(draw)); |
| 143 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawSetTitle(draw,"Ellipse region")); |
| 144 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawAxisCreate(draw,&axis)); |
| 145 | 10 | cx = PetscRealPart(ctx->center)*rg->sfactor; | |
| 146 | 10 | cy = PetscImaginaryPart(ctx->center)*rg->sfactor; | |
| 147 | 10 | r = ctx->radius*rg->sfactor; | |
| 148 | 10 | lx = 2*r; | |
| 149 | 10 | ly = 2*r*ctx->vscale; | |
| 150 | 10 | ab = cx; | |
| 151 | 10 | cd = cy; | |
| 152 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
10 | w = scale*PetscMax(lx/winw,ly/winh)/2; |
| 153 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawAxisSetLimits(axis,ab-w*winw,ab+w*winw,cd-w*winh,cd+w*winh)); |
| 154 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawAxisDraw(axis)); |
| 155 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawAxisDestroy(&axis)); |
| 156 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawEllipse(draw,cx,cy,2*r,2*r*ctx->vscale,PETSC_DRAW_RED)); |
| 157 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawFlush(draw)); |
| 158 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawSave(draw)); |
| 159 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
10 | PetscCall(PetscDrawPause(draw)); |
| 160 | } | ||
| 161 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
9 | PetscFunctionReturn(PETSC_SUCCESS); |
| 162 | } | ||
| 163 | |||
| 164 | 519 | static PetscErrorCode RGIsTrivial_Ellipse(RG rg,PetscBool *trivial) | |
| 165 | { | ||
| 166 | 519 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 167 | |||
| 168 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
519 | PetscFunctionBegin; |
| 169 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
|
519 | if (rg->complement) *trivial = PetscNot(ctx->radius); |
| 170 | 519 | else *trivial = PetscNot(ctx->radius<PETSC_MAX_REAL); | |
| 171 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
519 | PetscFunctionReturn(PETSC_SUCCESS); |
| 172 | } | ||
| 173 | |||
| 174 | 588 | static PetscErrorCode RGComputeContour_Ellipse(RG rg,PetscInt n,PetscScalar *cr,PetscScalar *ci) | |
| 175 | { | ||
| 176 | 588 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 177 | 588 | PetscReal theta; | |
| 178 | 588 | PetscInt i; | |
| 179 | |||
| 180 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
588 | PetscFunctionBegin; |
| 181 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
22708 | for (i=0;i<n;i++) { |
| 182 | 22120 | theta = 2.0*PETSC_PI*(i+0.5)/n; | |
| 183 | #if defined(PETSC_USE_COMPLEX) | ||
| 184 | 19624 | cr[i] = ctx->center + ctx->radius*PetscCMPLX(PetscCosReal(theta),ctx->vscale*PetscSinReal(theta)); | |
| 185 | #else | ||
| 186 |
1/2✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
|
2496 | if (cr) cr[i] = ctx->center + ctx->radius*PetscCosReal(theta); |
| 187 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 5 times.
|
2496 | if (ci) ci[i] = ctx->radius*ctx->vscale*PetscSinReal(theta); |
| 188 | #endif | ||
| 189 | } | ||
| 190 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
588 | PetscFunctionReturn(PETSC_SUCCESS); |
| 191 | } | ||
| 192 | |||
| 193 | 143 | static PetscErrorCode RGComputeBoundingBox_Ellipse(RG rg,PetscReal *a,PetscReal *b,PetscReal *c,PetscReal *d) | |
| 194 | { | ||
| 195 | 143 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 196 | |||
| 197 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
143 | PetscFunctionBegin; |
| 198 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 5 times.
|
143 | if (a) *a = PetscRealPart(ctx->center) - ctx->radius; |
| 199 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 5 times.
|
143 | if (b) *b = PetscRealPart(ctx->center) + ctx->radius; |
| 200 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
143 | if (c) *c = PetscImaginaryPart(ctx->center) - ctx->radius*ctx->vscale; |
| 201 |
1/2✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
|
143 | if (d) *d = PetscImaginaryPart(ctx->center) + ctx->radius*ctx->vscale; |
| 202 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
143 | PetscFunctionReturn(PETSC_SUCCESS); |
| 203 | } | ||
| 204 | |||
| 205 | 562 | static PetscErrorCode RGComputeQuadrature_Ellipse(RG rg,RGQuadRule quad,PetscInt n,PetscScalar *z,PetscScalar *zn,PetscScalar *w) | |
| 206 | { | ||
| 207 | 562 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 208 | 562 | PetscReal theta; | |
| 209 | 562 | PetscInt i; | |
| 210 | |||
| 211 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
562 | PetscFunctionBegin; |
| 212 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
22422 | for (i=0;i<n;i++) { |
| 213 | #if defined(PETSC_USE_COMPLEX) | ||
| 214 | 19484 | theta = 2.0*PETSC_PI*(i+0.5)/n; | |
| 215 | 19484 | zn[i] = PetscCMPLX(PetscCosReal(theta),ctx->vscale*PetscSinReal(theta)); | |
| 216 | 19484 | w[i] = (PetscCMPLX(ctx->vscale*PetscCosReal(theta),PetscSinReal(theta)))*ctx->radius*rg->sfactor/n; | |
| 217 | #else | ||
| 218 | 2376 | theta = PETSC_PI*(i+0.5)/n; | |
| 219 | 2376 | zn[i] = PetscCosReal(theta); | |
| 220 | 2376 | w[i] = PetscCosReal((n-1)*theta)/n; | |
| 221 | 2376 | z[i] = rg->sfactor*(ctx->center + ctx->radius*zn[i]); | |
| 222 | #endif | ||
| 223 | } | ||
| 224 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
562 | PetscFunctionReturn(PETSC_SUCCESS); |
| 225 | } | ||
| 226 | |||
| 227 | 24388 | static PetscErrorCode RGCheckInside_Ellipse(RG rg,PetscReal px,PetscReal py,PetscInt *inside) | |
| 228 | { | ||
| 229 | 24388 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 230 | 24388 | PetscReal dx,dy,r; | |
| 231 | |||
| 232 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
24388 | PetscFunctionBegin; |
| 233 | #if defined(PETSC_USE_COMPLEX) | ||
| 234 | 17803 | dx = (px-PetscRealPart(ctx->center))/ctx->radius; | |
| 235 | 17803 | dy = (py-PetscImaginaryPart(ctx->center))/ctx->radius; | |
| 236 | #else | ||
| 237 | 6585 | dx = (px-ctx->center)/ctx->radius; | |
| 238 | 6585 | dy = py/ctx->radius; | |
| 239 | #endif | ||
| 240 | 24388 | r = 1.0-dx*dx-(dy*dy)/(ctx->vscale*ctx->vscale); | |
| 241 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
24388 | *inside = PetscSign(r); |
| 242 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
24388 | PetscFunctionReturn(PETSC_SUCCESS); |
| 243 | } | ||
| 244 | |||
| 245 | 152 | static PetscErrorCode RGIsAxisymmetric_Ellipse(RG rg,PetscBool vertical,PetscBool *symm) | |
| 246 | { | ||
| 247 | 152 | RG_ELLIPSE *ctx = (RG_ELLIPSE*)rg->data; | |
| 248 | |||
| 249 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
152 | PetscFunctionBegin; |
| 250 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
|
152 | if (vertical) *symm = (PetscRealPart(ctx->center) == 0.0)? PETSC_TRUE: PETSC_FALSE; |
| 251 | 137 | else *symm = (PetscImaginaryPart(ctx->center) == 0.0)? PETSC_TRUE: PETSC_FALSE; | |
| 252 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
152 | PetscFunctionReturn(PETSC_SUCCESS); |
| 253 | } | ||
| 254 | |||
| 255 | 924 | static PetscErrorCode RGSetFromOptions_Ellipse(RG rg,PetscOptionItems PetscOptionsObject) | |
| 256 | { | ||
| 257 | 924 | PetscScalar s; | |
| 258 | 924 | PetscReal r1,r2; | |
| 259 | 924 | PetscBool flg1,flg2,flg3; | |
| 260 | |||
| 261 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
924 | PetscFunctionBegin; |
| 262 |
1/12✗ Branch 0 not taken.
✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
|
924 | PetscOptionsHeadBegin(PetscOptionsObject,"RG Ellipse Options"); |
| 263 | |||
| 264 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
924 | PetscCall(RGEllipseGetParameters(rg,&s,&r1,&r2)); |
| 265 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
924 | PetscCall(PetscOptionsScalar("-rg_ellipse_center","Center of ellipse","RGEllipseSetParameters",s,&s,&flg1)); |
| 266 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
924 | PetscCall(PetscOptionsReal("-rg_ellipse_radius","Radius of ellipse","RGEllipseSetParameters",r1,&r1,&flg2)); |
| 267 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
924 | PetscCall(PetscOptionsReal("-rg_ellipse_vscale","Vertical scale of ellipse","RGEllipseSetParameters",r2,&r2,&flg3)); |
| 268 |
9/12✓ Branch 0 taken 10 times.
✓ Branch 1 taken 10 times.
✓ Branch 2 taken 10 times.
✓ Branch 3 taken 5 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 10 times.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 8 times.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
924 | if (flg1 || flg2 || flg3) PetscCall(RGEllipseSetParameters(rg,s,r1,r2)); |
| 269 | |||
| 270 |
1/14✗ Branch 0 not taken.
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
|
924 | PetscOptionsHeadEnd(); |
| 271 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
192 | PetscFunctionReturn(PETSC_SUCCESS); |
| 272 | } | ||
| 273 | |||
| 274 | 525 | static PetscErrorCode RGDestroy_Ellipse(RG rg) | |
| 275 | { | ||
| 276 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
525 | PetscFunctionBegin; |
| 277 |
5/8✓ Branch 0 taken 10 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2 times.
✓ Branch 3 taken 8 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 2 times.
|
525 | PetscCall(PetscFree(rg->data)); |
| 278 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
525 | PetscCall(PetscObjectComposeFunction((PetscObject)rg,"RGEllipseSetParameters_C",NULL)); |
| 279 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
525 | PetscCall(PetscObjectComposeFunction((PetscObject)rg,"RGEllipseGetParameters_C",NULL)); |
| 280 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
108 | PetscFunctionReturn(PETSC_SUCCESS); |
| 281 | } | ||
| 282 | |||
| 283 | /*MC | ||
| 284 | RGELLIPSE - RGELLIPSE = "ellipse" - A region consisting of an ellipse defined by | ||
| 285 | its center, radius and vertical scale (1 by default), specified with | ||
| 286 | `RGEllipseSetParameters()`. | ||
| 287 | |||
| 288 | Note: | ||
| 289 | The following figure shows an example of an elliptic region. | ||
| 290 | |||
| 291 |  | ||
| 292 | |||
| 293 | Level: beginner | ||
| 294 | |||
| 295 | .seealso: [](sec:rg), `RG`, `RGType`, `RGSetType()`, `RGEllipseSetParameters()` | ||
| 296 | M*/ | ||
| 297 | |||
| 298 | 525 | SLEPC_EXTERN PetscErrorCode RGCreate_Ellipse(RG rg) | |
| 299 | { | ||
| 300 | 525 | RG_ELLIPSE *ellipse; | |
| 301 | |||
| 302 |
1/2✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
|
525 | PetscFunctionBegin; |
| 303 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
525 | PetscCall(PetscNew(&ellipse)); |
| 304 | 525 | ellipse->center = 0.0; | |
| 305 | 525 | ellipse->radius = PETSC_MAX_REAL; | |
| 306 | 525 | ellipse->vscale = 1.0; | |
| 307 | 525 | rg->data = (void*)ellipse; | |
| 308 | |||
| 309 | 525 | rg->ops->istrivial = RGIsTrivial_Ellipse; | |
| 310 | 525 | rg->ops->computecontour = RGComputeContour_Ellipse; | |
| 311 | 525 | rg->ops->computebbox = RGComputeBoundingBox_Ellipse; | |
| 312 | 525 | rg->ops->computequadrature = RGComputeQuadrature_Ellipse; | |
| 313 | 525 | rg->ops->checkinside = RGCheckInside_Ellipse; | |
| 314 | 525 | rg->ops->isaxisymmetric = RGIsAxisymmetric_Ellipse; | |
| 315 | 525 | rg->ops->setfromoptions = RGSetFromOptions_Ellipse; | |
| 316 | 525 | rg->ops->view = RGView_Ellipse; | |
| 317 | 525 | rg->ops->destroy = RGDestroy_Ellipse; | |
| 318 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
525 | PetscCall(PetscObjectComposeFunction((PetscObject)rg,"RGEllipseSetParameters_C",RGEllipseSetParameters_Ellipse)); |
| 319 |
4/6✓ Branch 0 taken 2 times.
✓ Branch 1 taken 8 times.
✓ Branch 2 taken 2 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 2 times.
|
525 | PetscCall(PetscObjectComposeFunction((PetscObject)rg,"RGEllipseGetParameters_C",RGEllipseGetParameters_Ellipse)); |
| 320 |
6/12✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 2 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 2 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 2 times.
|
108 | PetscFunctionReturn(PETSC_SUCCESS); |
| 321 | } | ||
| 322 |