Skip to content
Snippets Groups Projects
Commit 4bf5a44f authored by Matti Pellika's avatar Matti Pellika
Browse files

Clean-up & small syntax change for homology commands.
parent 456b95c7
No related branches found
No related tags found
No related merge requests found
...@@ -139,6 +139,9 @@ GMSH_PATCH_VERSION return tGMSH_PATCH_VERSION; ...@@ -139,6 +139,9 @@ GMSH_PATCH_VERSION return tGMSH_PATCH_VERSION;
Hide return tHide; Hide return tHide;
Hole return tHole; Hole return tHole;
HomRank return tHomRank;
HomGen return tHomGen;
HomCut return tHomCut;
Hypot return tHypot; Hypot return tHypot;
In return tIn; In return tIn;
...@@ -209,10 +212,6 @@ Using return tUsing; ...@@ -209,10 +212,6 @@ Using return tUsing;
Volume return tVolume; Volume return tVolume;
HomRank return tHomRank;
HomGen return tHomGen;
HomCut return tHomCut;
{digit}+ | {digit}+ |
{digit}+"."{digit}*({exp})? | {digit}+"."{digit}*({exp})? |
{digit}*"."{digit}+({exp})? | {digit}*"."{digit}+({exp})? |
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -3248,12 +3248,13 @@ Coherence : ...@@ -3248,12 +3248,13 @@ Coherence :
// H O M O L O G Y // H O M O L O G Y
Homology : Homology :
tHomRank ListOfDouble ',' ListOfDouble tEND tHomRank '{' ListOfDouble ',' ListOfDouble '}' tEND
{ {
#if defined(HAVE_KBIPACK)
List_T *temp = ListOfDouble2ListOfInt($2); List_T *temp = ListOfDouble2ListOfInt($3);
std::vector<int> domain; std::vector<int> domain;
for (unsigned int i = 0; i < List_Nbr(temp); i++){ for (unsigned int i = 0; i < List_Nbr(temp); i++){
...@@ -3261,30 +3262,31 @@ Homology : ...@@ -3261,30 +3262,31 @@ Homology :
List_Read(temp, i, &item); List_Read(temp, i, &item);
domain.push_back(item); domain.push_back(item);
} }
List_Delete($2); List_Delete($3);
List_Delete(temp); List_Delete(temp);
List_T *temp2 = ListOfDouble2ListOfInt($4); List_T *temp2 = ListOfDouble2ListOfInt($5);
std::vector<int> subdomain; std::vector<int> subdomain;
for (unsigned int i = 0; i < List_Nbr(temp2); i++){ for (unsigned int i = 0; i < List_Nbr(temp2); i++){
int item = 0; int item = 0;
List_Read(temp2, i, &item); List_Read(temp2, i, &item);
subdomain.push_back(item); subdomain.push_back(item);
} }
List_Delete($4); List_Delete($5);
List_Delete(temp2); List_Delete(temp2);
#if defined(HAVE_KBIPACK)
Homology* homology = new Homology(GModel::current(), domain, subdomain); Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->computeBettiNumbers(); homology->computeBettiNumbers();
delete homology; delete homology;
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
#endif #endif
} }
| tHomGen '(' StringExprVar ')' tAFFECT ListOfDouble ',' ListOfDouble tEND | tHomGen '(' StringExprVar ')' tAFFECT '{' ListOfDouble ',' ListOfDouble '}' tEND
{ {
#if defined(HAVE_KBIPACK) List_T *temp = ListOfDouble2ListOfInt($7);
List_T *temp = ListOfDouble2ListOfInt($6);
std::vector<int> domain; std::vector<int> domain;
for (unsigned int i = 0; i < List_Nbr(temp); i++){ for (unsigned int i = 0; i < List_Nbr(temp); i++){
...@@ -3292,31 +3294,33 @@ Homology : ...@@ -3292,31 +3294,33 @@ Homology :
List_Read(temp, i, &item); List_Read(temp, i, &item);
domain.push_back(item); domain.push_back(item);
} }
List_Delete($6); List_Delete($7);
List_Delete(temp); List_Delete(temp);
List_T *temp2 = ListOfDouble2ListOfInt($8); List_T *temp2 = ListOfDouble2ListOfInt($9);
std::vector<int> subdomain; std::vector<int> subdomain;
for (unsigned int i = 0; i < List_Nbr(temp2); i++){ for (unsigned int i = 0; i < List_Nbr(temp2); i++){
int item = 0; int item = 0;
List_Read(temp2, i, &item); List_Read(temp2, i, &item);
subdomain.push_back(item); subdomain.push_back(item);
} }
List_Delete($8); List_Delete($9);
List_Delete(temp2); List_Delete(temp2);
std::string fileName = $3; std::string fileName = $3;
#if defined(HAVE_KBIPACK)
Homology* homology = new Homology(GModel::current(), domain, subdomain); Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->findGenerators(fileName); homology->findGenerators(fileName);
delete homology; delete homology;
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
#endif #endif
} }
| tHomCut '(' StringExprVar ')' tAFFECT ListOfDouble ',' ListOfDouble tEND | tHomCut '(' StringExprVar ')' tAFFECT '{' ListOfDouble ',' ListOfDouble '}' tEND
{ {
#if defined(HAVE_KBIPACK) List_T *temp = ListOfDouble2ListOfInt($7);
List_T *temp = ListOfDouble2ListOfInt($6);
std::vector<int> domain; std::vector<int> domain;
for (unsigned int i = 0; i < List_Nbr(temp); i++){ for (unsigned int i = 0; i < List_Nbr(temp); i++){
...@@ -3324,24 +3328,27 @@ Homology : ...@@ -3324,24 +3328,27 @@ Homology :
List_Read(temp, i, &item); List_Read(temp, i, &item);
domain.push_back(item); domain.push_back(item);
} }
List_Delete($6); List_Delete($7);
List_Delete(temp); List_Delete(temp);
List_T *temp2 = ListOfDouble2ListOfInt($8); List_T *temp2 = ListOfDouble2ListOfInt($9);
std::vector<int> subdomain; std::vector<int> subdomain;
for (unsigned int i = 0; i < List_Nbr(temp2); i++){ for (unsigned int i = 0; i < List_Nbr(temp2); i++){
int item = 0; int item = 0;
List_Read(temp2, i, &item); List_Read(temp2, i, &item);
subdomain.push_back(item); subdomain.push_back(item);
} }
List_Delete($8); List_Delete($9);
List_Delete(temp2); List_Delete(temp2);
std::string fileName = $3; std::string fileName = $3;
#if defined(HAVE_KBIPACK)
Homology* homology = new Homology(GModel::current(), domain, subdomain); Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->findDualGenerators(fileName); homology->findDualGenerators(fileName);
delete homology; delete homology;
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
#endif #endif
} }
; ;
......
...@@ -408,68 +408,68 @@ static yyconst flex_int16_t yy_accept[645] = ...@@ -408,68 +408,68 @@ static yyconst flex_int16_t yy_accept[645] =
27, 30, 148, 148, 148, 148, 148, 148, 148, 148, 27, 30, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 86, 85, 148, 148, 148, 148, 148, 148, 148, 148, 89, 88, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
104, 148, 148, 148, 148, 148, 148, 148, 148, 148, 107, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 131, 132, 148, 148, 148, 148, 148, 148, 148, 148, 134, 135, 148, 148,
148, 148, 148, 148, 148, 23, 22, 0, 145, 0, 148, 148, 148, 148, 148, 23, 22, 0, 145, 0,
0, 147, 148, 148, 148, 148, 148, 148, 148, 148, 0, 147, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 49, 148, 148, 148, 148, 148, 148, 148, 148, 148, 49,
148, 148, 148, 148, 148, 148, 148, 148, 148, 63, 148, 148, 148, 148, 148, 148, 148, 148, 148, 63,
148, 148, 148, 148, 148, 76, 148, 148, 148, 148, 148, 148, 148, 148, 148, 76, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
93, 148, 148, 148, 148, 148, 148, 148, 148, 148, 96, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
118, 148, 148, 148, 148, 148, 148, 148, 148, 148, 121, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 137, 148, 148, 148, 148, 148, 0, 146, 0, 148, 140, 148, 148, 148, 148, 148, 0, 146, 0,
0, 145, 31, 148, 148, 148, 148, 35, 37, 148, 0, 145, 31, 148, 148, 148, 148, 35, 37, 148,
148, 148, 57, 148, 44, 148, 148, 148, 148, 148, 148, 148, 57, 148, 44, 148, 148, 148, 148, 148,
148, 148, 48, 148, 148, 148, 148, 62, 148, 148, 148, 148, 48, 148, 148, 148, 148, 62, 148, 148,
148, 148, 71, 148, 72, 148, 148, 75, 148, 148, 148, 148, 71, 148, 72, 148, 148, 75, 148, 148,
148, 82, 83, 148, 148, 148, 148, 148, 148, 148, 148, 82, 83, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 91, 148, 92, 148, 148, 148, 148, 148, 148, 148, 94, 148, 95, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 148, 114, 148, 148, 148, 148, 148, 148, 148, 148, 148, 117, 148,
148, 148, 148, 128, 119, 148, 148, 148, 148, 117, 148, 148, 148, 131, 122, 148, 148, 148, 148, 120,
148, 148, 148, 148, 148, 148, 133, 136, 148, 148, 148, 148, 148, 148, 148, 148, 136, 139, 148, 148,
148, 148, 10, 15, 9, 8, 148, 12, 14, 0, 148, 148, 10, 15, 9, 8, 148, 12, 14, 0,
145, 33, 148, 148, 148, 39, 148, 148, 148, 148, 145, 33, 148, 148, 148, 39, 148, 148, 148, 148,
148, 148, 148, 52, 148, 148, 148, 148, 148, 148, 148, 148, 148, 52, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 69, 148, 148, 73, 74, 148, 148, 148, 148, 148, 69, 148, 148, 73, 74, 148,
148, 148, 148, 148, 148, 84, 148, 148, 89, 148, 148, 148, 148, 148, 148, 87, 148, 148, 92, 148,
148, 148, 94, 148, 148, 148, 100, 148, 101, 148, 148, 148, 97, 148, 148, 148, 103, 148, 104, 148,
148, 105, 148, 106, 148, 148, 148, 148, 148, 113, 148, 108, 148, 109, 148, 148, 148, 148, 148, 116,
148, 148, 148, 122, 148, 148, 148, 148, 148, 148, 148, 148, 148, 125, 148, 148, 148, 148, 148, 148,
148, 138, 148, 139, 148, 11, 148, 13, 148, 32, 148, 141, 148, 142, 148, 11, 148, 13, 148, 32,
36, 38, 148, 41, 148, 148, 148, 45, 148, 148, 36, 38, 148, 41, 148, 148, 148, 45, 148, 148,
148, 148, 148, 148, 148, 148, 59, 61, 148, 148, 148, 148, 148, 148, 148, 148, 59, 61, 148, 148,
68, 148, 148, 148, 148, 148, 148, 143, 142, 148, 68, 148, 148, 148, 148, 148, 148, 86, 85, 148,
148, 148, 95, 90, 148, 148, 148, 97, 148, 148, 148, 148, 98, 93, 148, 148, 148, 100, 148, 148,
148, 110, 148, 109, 148, 115, 112, 148, 120, 121, 148, 113, 148, 112, 148, 118, 115, 148, 123, 124,
148, 125, 148, 148, 148, 148, 148, 148, 148, 140, 148, 128, 148, 148, 148, 148, 148, 148, 148, 143,
7, 148, 40, 42, 148, 148, 148, 148, 148, 47, 7, 148, 40, 42, 148, 148, 148, 148, 148, 47,
51, 148, 148, 148, 148, 65, 148, 148, 148, 66, 51, 148, 148, 148, 148, 65, 148, 148, 148, 66,
148, 148, 148, 148, 148, 141, 148, 148, 148, 148, 148, 148, 148, 148, 148, 84, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 124, 148, 148, 148, 148, 148, 148, 148, 148, 148, 127, 148, 148,
123, 148, 148, 148, 148, 148, 148, 148, 148, 148, 126, 148, 148, 148, 148, 148, 148, 148, 148, 148,
148, 54, 148, 148, 148, 64, 67, 148, 77, 148, 148, 54, 148, 148, 148, 64, 67, 148, 77, 148,
148, 148, 78, 148, 148, 96, 98, 99, 102, 148, 148, 148, 78, 148, 148, 99, 101, 102, 105, 148,
103, 148, 148, 116, 148, 148, 129, 148, 148, 148, 106, 148, 148, 119, 148, 148, 132, 148, 148, 148,
148, 148, 148, 148, 46, 148, 148, 148, 148, 70, 148, 148, 148, 148, 46, 148, 148, 148, 148, 70,
148, 148, 148, 148, 87, 148, 148, 111, 126, 148, 148, 148, 148, 148, 90, 148, 148, 114, 129, 148,
130, 148, 135, 148, 148, 56, 148, 53, 148, 148, 133, 148, 138, 148, 148, 56, 148, 53, 148, 148,
148, 148, 148, 148, 148, 107, 148, 148, 148, 148, 148, 148, 148, 148, 148, 110, 148, 148, 148, 148,
43, 148, 55, 148, 60, 148, 148, 148, 148, 108, 43, 148, 55, 148, 60, 148, 148, 148, 148, 111,
127, 134, 148, 148, 148, 148, 148, 148, 148, 148, 130, 137, 148, 148, 148, 148, 148, 148, 148, 148,
148, 148, 148, 148, 148, 148, 148, 50, 58, 148, 148, 148, 148, 148, 148, 148, 148, 50, 58, 148,
148, 148, 148, 148, 148, 148, 148, 148, 34, 148, 148, 148, 148, 148, 148, 148, 148, 148, 34, 148,
148, 148, 148, 148, 148, 148, 148, 79, 80, 81, 148, 148, 148, 148, 148, 148, 148, 79, 80, 81,
148, 148, 88, 0 148, 148, 91, 0
} ; } ;
static yyconst flex_int32_t yy_ec[256] = static yyconst flex_int32_t yy_ec[256] =
...@@ -1604,327 +1604,327 @@ return tHole; ...@@ -1604,327 +1604,327 @@ return tHole;
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
#line 142 "Gmsh.l" #line 142 "Gmsh.l"
return tHypot; return tHomRank;
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
#line 144 "Gmsh.l" #line 143 "Gmsh.l"
return tIn; return tHomGen;
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
#line 145 "Gmsh.l" #line 144 "Gmsh.l"
return tIf; return tHomCut;
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
#line 146 "Gmsh.l" #line 145 "Gmsh.l"
return tIntersect; return tHypot;
YY_BREAK YY_BREAK
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
#line 147 "Gmsh.l" #line 147 "Gmsh.l"
return tInterpolationScheme; return tIn;
YY_BREAK YY_BREAK
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
#line 149 "Gmsh.l" #line 148 "Gmsh.l"
return tNurbsKnots; return tIf;
YY_BREAK YY_BREAK
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "Gmsh.l" #line 149 "Gmsh.l"
return tLength; return tIntersect;
YY_BREAK YY_BREAK
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
#line 152 "Gmsh.l" #line 150 "Gmsh.l"
return tLine; return tInterpolationScheme;
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP YY_RULE_SETUP
#line 153 "Gmsh.l" #line 152 "Gmsh.l"
return tLoop; return tNurbsKnots;
YY_BREAK YY_BREAK
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
#line 154 "Gmsh.l" #line 154 "Gmsh.l"
return tLog; return tLength;
YY_BREAK YY_BREAK
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
#line 155 "Gmsh.l" #line 155 "Gmsh.l"
return tLog10; return tLine;
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
#line 156 "Gmsh.l" #line 156 "Gmsh.l"
return tLayers; return tLoop;
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
#line 157 "Gmsh.l" #line 157 "Gmsh.l"
return tLevelset; return tLog;
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
#line 159 "Gmsh.l" #line 158 "Gmsh.l"
return tModulo; return tLog10;
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
#line 160 "Gmsh.l" #line 159 "Gmsh.l"
return tMPI_Rank; return tLayers;
YY_BREAK YY_BREAK
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
#line 161 "Gmsh.l" #line 160 "Gmsh.l"
return tMPI_Size; return tLevelset;
YY_BREAK YY_BREAK
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
#line 163 "Gmsh.l" #line 162 "Gmsh.l"
return tNurbs; return tModulo;
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
#line 165 "Gmsh.l" #line 163 "Gmsh.l"
return tNurbsOrder; return tMPI_Rank;
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
#line 166 "Gmsh.l" #line 164 "Gmsh.l"
return tOCCShape; return tMPI_Size;
YY_BREAK YY_BREAK
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
#line 168 "Gmsh.l" #line 166 "Gmsh.l"
return tPhysical; return tNurbs;
YY_BREAK YY_BREAK
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
#line 169 "Gmsh.l" #line 168 "Gmsh.l"
return tPi; return tNurbsOrder;
YY_BREAK YY_BREAK
case 105: case 105:
YY_RULE_SETUP YY_RULE_SETUP
#line 170 "Gmsh.l" #line 169 "Gmsh.l"
return tPlane; return tOCCShape;
YY_BREAK YY_BREAK
case 106: case 106:
YY_RULE_SETUP YY_RULE_SETUP
#line 171 "Gmsh.l" #line 171 "Gmsh.l"
return tPoint; return tPhysical;
YY_BREAK YY_BREAK
case 107: case 107:
YY_RULE_SETUP YY_RULE_SETUP
#line 172 "Gmsh.l" #line 172 "Gmsh.l"
return tParametric; return tPi;
YY_BREAK YY_BREAK
case 108: case 108:
YY_RULE_SETUP YY_RULE_SETUP
#line 173 "Gmsh.l" #line 173 "Gmsh.l"
return tPolarSphere; return tPlane;
YY_BREAK YY_BREAK
case 109: case 109:
YY_RULE_SETUP YY_RULE_SETUP
#line 174 "Gmsh.l" #line 174 "Gmsh.l"
return tPrintf; return tPoint;
YY_BREAK YY_BREAK
case 110: case 110:
YY_RULE_SETUP YY_RULE_SETUP
#line 175 "Gmsh.l" #line 175 "Gmsh.l"
return tPlugin; return tParametric;
YY_BREAK YY_BREAK
case 111: case 111:
YY_RULE_SETUP YY_RULE_SETUP
#line 177 "Gmsh.l" #line 176 "Gmsh.l"
return tRecombine; return tPolarSphere;
YY_BREAK YY_BREAK
case 112: case 112:
YY_RULE_SETUP YY_RULE_SETUP
#line 178 "Gmsh.l" #line 177 "Gmsh.l"
return tRotate; return tPrintf;
YY_BREAK YY_BREAK
case 113: case 113:
YY_RULE_SETUP YY_RULE_SETUP
#line 179 "Gmsh.l" #line 178 "Gmsh.l"
return tRuled; return tPlugin;
YY_BREAK YY_BREAK
case 114: case 114:
YY_RULE_SETUP YY_RULE_SETUP
#line 180 "Gmsh.l" #line 180 "Gmsh.l"
return tRand; return tRecombine;
YY_BREAK YY_BREAK
case 115: case 115:
YY_RULE_SETUP YY_RULE_SETUP
#line 181 "Gmsh.l" #line 181 "Gmsh.l"
return tReturn; return tRotate;
YY_BREAK YY_BREAK
case 116: case 116:
YY_RULE_SETUP YY_RULE_SETUP
#line 183 "Gmsh.l" #line 182 "Gmsh.l"
return tSmoother; return tRuled;
YY_BREAK YY_BREAK
case 117: case 117:
YY_RULE_SETUP YY_RULE_SETUP
#line 184 "Gmsh.l" #line 183 "Gmsh.l"
return tSqrt; return tRand;
YY_BREAK YY_BREAK
case 118: case 118:
YY_RULE_SETUP YY_RULE_SETUP
#line 185 "Gmsh.l" #line 184 "Gmsh.l"
return tSin; return tReturn;
YY_BREAK YY_BREAK
case 119: case 119:
YY_RULE_SETUP YY_RULE_SETUP
#line 186 "Gmsh.l" #line 186 "Gmsh.l"
return tSinh; return tSmoother;
YY_BREAK YY_BREAK
case 120: case 120:
YY_RULE_SETUP YY_RULE_SETUP
#line 187 "Gmsh.l" #line 187 "Gmsh.l"
return tSphere; return tSqrt;
YY_BREAK YY_BREAK
case 121: case 121:
YY_RULE_SETUP YY_RULE_SETUP
#line 188 "Gmsh.l" #line 188 "Gmsh.l"
return tSpline; return tSin;
YY_BREAK YY_BREAK
case 122: case 122:
YY_RULE_SETUP YY_RULE_SETUP
#line 189 "Gmsh.l" #line 189 "Gmsh.l"
return tSplit; return tSinh;
YY_BREAK YY_BREAK
case 123: case 123:
YY_RULE_SETUP YY_RULE_SETUP
#line 190 "Gmsh.l" #line 190 "Gmsh.l"
return tSurface; return tSphere;
YY_BREAK YY_BREAK
case 124: case 124:
YY_RULE_SETUP YY_RULE_SETUP
#line 191 "Gmsh.l" #line 191 "Gmsh.l"
return tSprintf; return tSpline;
YY_BREAK YY_BREAK
case 125: case 125:
YY_RULE_SETUP YY_RULE_SETUP
#line 192 "Gmsh.l" #line 192 "Gmsh.l"
return tStrCat; return tSplit;
YY_BREAK YY_BREAK
case 126: case 126:
YY_RULE_SETUP YY_RULE_SETUP
#line 193 "Gmsh.l" #line 193 "Gmsh.l"
return tStrPrefix; return tSurface;
YY_BREAK YY_BREAK
case 127: case 127:
YY_RULE_SETUP YY_RULE_SETUP
#line 194 "Gmsh.l" #line 194 "Gmsh.l"
return tStrRelative; return tSprintf;
YY_BREAK YY_BREAK
case 128: case 128:
YY_RULE_SETUP YY_RULE_SETUP
#line 195 "Gmsh.l" #line 195 "Gmsh.l"
return tShow; return tStrCat;
YY_BREAK YY_BREAK
case 129: case 129:
YY_RULE_SETUP YY_RULE_SETUP
#line 196 "Gmsh.l" #line 196 "Gmsh.l"
return tSymmetry; return tStrPrefix;
YY_BREAK YY_BREAK
case 130: case 130:
YY_RULE_SETUP YY_RULE_SETUP
#line 197 "Gmsh.l" #line 197 "Gmsh.l"
return tSyncModel; return tStrRelative;
YY_BREAK YY_BREAK
case 131: case 131:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "Gmsh.l" #line 198 "Gmsh.l"
return tText2D; return tShow;
YY_BREAK YY_BREAK
case 132: case 132:
YY_RULE_SETUP YY_RULE_SETUP
#line 200 "Gmsh.l" #line 199 "Gmsh.l"
return tText3D; return tSymmetry;
YY_BREAK YY_BREAK
case 133: case 133:
YY_RULE_SETUP YY_RULE_SETUP
#line 201 "Gmsh.l" #line 200 "Gmsh.l"
return tTime; return tSyncModel;
YY_BREAK YY_BREAK
case 134: case 134:
YY_RULE_SETUP YY_RULE_SETUP
#line 202 "Gmsh.l" #line 202 "Gmsh.l"
return tTransfinite; return tText2D;
YY_BREAK YY_BREAK
case 135: case 135:
YY_RULE_SETUP YY_RULE_SETUP
#line 203 "Gmsh.l" #line 203 "Gmsh.l"
return tTranslate; return tText3D;
YY_BREAK YY_BREAK
case 136: case 136:
YY_RULE_SETUP YY_RULE_SETUP
#line 204 "Gmsh.l" #line 204 "Gmsh.l"
return tTanh; return tTime;
YY_BREAK YY_BREAK
case 137: case 137:
YY_RULE_SETUP YY_RULE_SETUP
#line 205 "Gmsh.l" #line 205 "Gmsh.l"
return tTan; return tTransfinite;
YY_BREAK YY_BREAK
case 138: case 138:
YY_RULE_SETUP YY_RULE_SETUP
#line 206 "Gmsh.l" #line 206 "Gmsh.l"
return tToday; return tTranslate;
YY_BREAK YY_BREAK
case 139: case 139:
YY_RULE_SETUP YY_RULE_SETUP
#line 208 "Gmsh.l" #line 207 "Gmsh.l"
return tUsing; return tTanh;
YY_BREAK YY_BREAK
case 140: case 140:
YY_RULE_SETUP YY_RULE_SETUP
#line 210 "Gmsh.l" #line 208 "Gmsh.l"
return tVolume; return tTan;
YY_BREAK YY_BREAK
case 141: case 141:
YY_RULE_SETUP YY_RULE_SETUP
#line 212 "Gmsh.l" #line 209 "Gmsh.l"
return tHomRank; return tToday;
YY_BREAK YY_BREAK
case 142: case 142:
YY_RULE_SETUP YY_RULE_SETUP
#line 213 "Gmsh.l" #line 211 "Gmsh.l"
return tHomGen; return tUsing;
YY_BREAK YY_BREAK
case 143: case 143:
YY_RULE_SETUP YY_RULE_SETUP
#line 214 "Gmsh.l" #line 213 "Gmsh.l"
return tHomCut; return tVolume;
YY_BREAK YY_BREAK
case 144: case 144:
#line 217 "Gmsh.l" #line 216 "Gmsh.l"
case 145: case 145:
#line 218 "Gmsh.l" #line 217 "Gmsh.l"
case 146: case 146:
#line 219 "Gmsh.l" #line 218 "Gmsh.l"
case 147: case 147:
YY_RULE_SETUP YY_RULE_SETUP
#line 219 "Gmsh.l" #line 218 "Gmsh.l"
{ gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; } { gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; }
YY_BREAK YY_BREAK
case 148: case 148:
YY_RULE_SETUP YY_RULE_SETUP
#line 221 "Gmsh.l" #line 220 "Gmsh.l"
{ gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; } { gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; }
YY_BREAK YY_BREAK
case 149: case 149:
YY_RULE_SETUP YY_RULE_SETUP
#line 223 "Gmsh.l" #line 222 "Gmsh.l"
return gmsh_yytext[0]; return gmsh_yytext[0];
YY_BREAK YY_BREAK
case 150: case 150:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "Gmsh.l" #line 224 "Gmsh.l"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 1931 "Gmsh.yy.cpp" #line 1931 "Gmsh.yy.cpp"
...@@ -2925,7 +2925,7 @@ void gmsh_yyfree (void * ptr ) ...@@ -2925,7 +2925,7 @@ void gmsh_yyfree (void * ptr )
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 225 "Gmsh.l" #line 224 "Gmsh.l"
......
...@@ -129,14 +129,14 @@ Mesh 3; ...@@ -129,14 +129,14 @@ Mesh 3;
// Find generators of relative homology spaces of the domain modulo the four terminals. // Find generators of relative homology spaces of the domain modulo the four terminals.
// Save the generator chains to t10_homgen_1.msh. // Save the generator chains to t10_homgen_1.msh.
HomGen("t10_homgen.msh") = {69}, {70, 71, 72, 73}; HomGen("t10_homgen.msh") = {{69}, {70, 71, 72, 73}};
// Find the corresponding cuts. // Find the corresponding cuts.
// Save the cuts chains to t10_homcut_1.msh. // Save the cut chains to t10_homcut_1.msh.
HomCut("t10_homcut.msh") = {69}, {70, 71, 72, 73}; HomCut("t10_homcut.msh") = {{69}, {70, 71, 72, 73}};
// Only find and print the ranks of the relative homology spaces (betti numbers). // Only find and print the ranks of the relative homology spaces (Betti numbers).
HomRank {69},{70, 71, 72, 73}; HomRank {{69},{70, 71, 72, 73}};
// Hide mesh elements // Hide mesh elements
Mesh.Points = 0; Mesh.Points = 0;
...@@ -150,8 +150,8 @@ Merge "t10_homcut.msh"; ...@@ -150,8 +150,8 @@ Merge "t10_homcut.msh";
// More examples (uncomment): // More examples (uncomment):
// HomGen("t10_homgen.msh") = {69}, {}; Merge "t10_homgen.msh"; // HomGen("t10_homgen.msh") = {{69}, {}}; Merge "t10_homgen.msh";
// HomGen("t10_homgen.msh") = {69}, {74}; Merge "t10_homgen.msh"; // HomGen("t10_homgen.msh") = {{69}, {74}}; Merge "t10_homgen.msh";
// HomGen("t10_homgen.msh") = {69}, {75}; Merge "t10_homgen.msh"; // HomGen("t10_homgen.msh") = {{69}, {75}}; Merge "t10_homgen.msh";
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment