Newer
Older
case 222:
#line 2802 "Gmsh.y"
case 223:
#line 2805 "Gmsh.y"
case 224:
#line 2811 "Gmsh.y"
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = 1;
extr.mesh.NbElmLayer.clear();
extr.mesh.hLayer.clear();
case 225:
#line 2820 "Gmsh.y"
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l));
if(List_Nbr((yyvsp[(3) - (7)].l)) == List_Nbr((yyvsp[(5) - (7)].l))){
extr.mesh.NbElmLayer.clear();
extr.mesh.hLayer.clear();
for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
double d;
List_Read((yyvsp[(3) - (7)].l), i, &d);
extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
List_Read((yyvsp[(5) - (7)].l), i, &d);
extr.mesh.hLayer.push_back(d);
}
yymsg(0, "Wrong layer definition {%d, %d}", List_Nbr((yyvsp[(3) - (7)].l)), List_Nbr((yyvsp[(5) - (7)].l)));
List_Delete((yyvsp[(3) - (7)].l));
List_Delete((yyvsp[(5) - (7)].l));
;}
break;
case 226:
#line 2840 "Gmsh.y"
yymsg(0, "Explicit region numbers in layers are deprecated");
extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (9)].l));
if(List_Nbr((yyvsp[(3) - (9)].l)) == List_Nbr((yyvsp[(5) - (9)].l)) && List_Nbr((yyvsp[(3) - (9)].l)) == List_Nbr((yyvsp[(7) - (9)].l))){
extr.mesh.NbElmLayer.clear();
extr.mesh.hLayer.clear();
for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){
double d;
List_Read((yyvsp[(3) - (9)].l), i, &d);
extr.mesh.NbElmLayer.push_back((d > 0) ? (int)d : 1);
List_Read((yyvsp[(7) - (9)].l), i, &d);
extr.mesh.hLayer.push_back(d);
}
yymsg(0, "Wrong layer definition {%d, %d, %d}", List_Nbr((yyvsp[(3) - (9)].l)),
List_Nbr((yyvsp[(5) - (9)].l)), List_Nbr((yyvsp[(7) - (9)].l)));
List_Delete((yyvsp[(3) - (9)].l));
List_Delete((yyvsp[(5) - (9)].l));
List_Delete((yyvsp[(7) - (9)].l));
;}
break;
case 227:
#line 2863 "Gmsh.y"
case 228:
#line 2867 "Gmsh.y"
yymsg(0, "Surface %d already exists", num);
Surface *s = Create_Surface(num, MSH_SURF_DISCRETE);
Tree_Add(GModel::current()->getGEOInternals()->Surfaces, &s);
extr.mesh.Holes[num].first = (yyvsp[(8) - (9)].d);
extr.mesh.Holes[num].second.clear();
for(int i = 0; i < List_Nbr((yyvsp[(6) - (9)].l)); i++){
double d;
List_Read((yyvsp[(6) - (9)].l), i, &d);
extr.mesh.Holes[num].second.push_back((int)d);
}
case 229:
#line 2890 "Gmsh.y"
case 230:
#line 2894 "Gmsh.y"
(yyval.i) = 1;
else if(!strcmp((yyvsp[(1) - (1)].c), "Conformal"))
(yyval.i) = -1;
else if(!strcmp((yyvsp[(1) - (1)].c), "Harmonic_NoSplit"))
(yyval.i) = 2;
else if(!strcmp((yyvsp[(1) - (1)].c), "Conformal_NoSplit"))
(yyval.i) = -2;
Free((yyvsp[(1) - (1)].c));
;}
break;
case 231:
#line 2909 "Gmsh.y"
case 232:
#line 2913 "Gmsh.y"
if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power"))
(yyval.v)[0] = 1.;
else if(!strcmp((yyvsp[(2) - (3)].c), "Bump"))
(yyval.v)[0] = 2.;
else{
yymsg(0, "Unknown transfinite mesh type");
(yyval.v)[0] = 1.;
(yyval.v)[1] = (yyvsp[(3) - (3)].d);
Free((yyvsp[(2) - (3)].c));
case 233:
#line 2928 "Gmsh.y"
case 234:
#line 2932 "Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (1)].c), "Right"))
(yyval.i) = 1;
else if(!strcmp((yyvsp[(1) - (1)].c), "Left"))
(yyval.i) = -1;
else // alternated
(yyval.i) = 0;
Free((yyvsp[(1) - (1)].c));
;}
break;
case 235:
#line 2944 "Gmsh.y"
{
(yyval.l) = List_Create(1, 1, sizeof(double));
;}
break;
case 236:
#line 2948 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
;}
break;
case 237:
#line 2953 "Gmsh.y"
case 238:
#line 2957 "Gmsh.y"
case 239:
#line 2964 "Gmsh.y"
int type = (int)(yyvsp[(6) - (7)].v)[0];
double coef = fabs((yyvsp[(6) - (7)].v)[1]);
if(!(yyvsp[(3) - (7)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves);
if(List_Nbr(tmp)){
for(int i = 0; i < List_Nbr(tmp); i++){
Curve *c;
List_Read(tmp, i, &c);
c->Method = MESH_TRANSFINITE;
c->nbPointsTransfinite = ((yyvsp[(5) - (7)].d) > 2) ? (int)(yyvsp[(5) - (7)].d) : 2;
c->typeTransfinite = type;
c->coeffTransfinite = coef;
}
}
for(GModel::eiter it = GModel::current()->firstEdge();
it != GModel::current()->lastEdge(); it++){
(*it)->meshAttributes.Method = MESH_TRANSFINITE;
(*it)->meshAttributes.nbPointsTransfinite = ((yyvsp[(5) - (7)].d) > 2) ? (int)(yyvsp[(5) - (7)].d) : 2;
(*it)->meshAttributes.typeTransfinite = type;
(*it)->meshAttributes.coeffTransfinite = coef;
List_Delete(tmp);
}
else{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){
double d;
List_Read((yyvsp[(3) - (7)].l), i, &d);
int j = (int)fabs(d);

Christophe Geuzaine
committed
for(int sign = -1; sign <= 1; sign += 2){
Curve *c = FindCurve(sign * j);
if(c){
c->Method = MESH_TRANSFINITE;
c->nbPointsTransfinite = ((yyvsp[(5) - (7)].d) > 2) ? (int)(yyvsp[(5) - (7)].d) : 2;
c->typeTransfinite = type * sign(d);
c->coeffTransfinite = coef;
}
else{
GEdge *ge = GModel::current()->getEdgeByTag(sign * j);
if(ge){
ge->meshAttributes.Method = MESH_TRANSFINITE;
ge->meshAttributes.nbPointsTransfinite = ((yyvsp[(5) - (7)].d) > 2) ? (int)(yyvsp[(5) - (7)].d) : 2;
ge->meshAttributes.typeTransfinite = type * sign(d);
ge->meshAttributes.coeffTransfinite = coef;
}
else if(sign > 0)

Christophe Geuzaine
committed
yymsg(0, "Unknown line %d", j);
}
}
}
List_Delete((yyvsp[(3) - (7)].l));
case 240:
#line 3020 "Gmsh.y"
int k = List_Nbr((yyvsp[(4) - (6)].l));
if(k != 0 && k != 3 && k != 4){
yymsg(0, "Wrong definition of Transfinite Surface: 0, 3 or 4 points needed");
if(!(yyvsp[(3) - (6)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces);
if(List_Nbr(tmp)){
for(int i = 0; i < List_Nbr(tmp); i++){
Surface *s;
List_Read(tmp, i, &s);
s->Method = MESH_TRANSFINITE;
s->Recombine_Dir = (yyvsp[(5) - (6)].i);
List_Reset(s->TrsfPoints);
for(GModel::fiter it = GModel::current()->firstFace();
it != GModel::current()->lastFace(); it++){
(*it)->meshAttributes.Method = MESH_TRANSFINITE;
(*it)->meshAttributes.transfiniteArrangement = (yyvsp[(5) - (6)].i);
}
}
List_Delete(tmp);
}
else{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
double d;
List_Read((yyvsp[(3) - (6)].l), i, &d);
Surface *s = FindSurface((int)d);
if(s){
s->Method = MESH_TRANSFINITE;
s->Recombine_Dir = (yyvsp[(5) - (6)].i);
List_Reset(s->TrsfPoints);
for(int j = 0; j < k; j++){
double p;
List_Read((yyvsp[(4) - (6)].l), j, &p);
Vertex *v = FindPoint((int)fabs(p));
if(v)
List_Add(s->TrsfPoints, &v);
else
yymsg(0, "Unknown point %d", (int)fabs(p));
}
}
else{
GFace *gf = GModel::current()->getFaceByTag((int)d);
if(gf){
gf->meshAttributes.Method = MESH_TRANSFINITE;
gf->meshAttributes.transfiniteArrangement = (yyvsp[(5) - (6)].i);
for(int j = 0; j < k; j++){
double p;
List_Read((yyvsp[(4) - (6)].l), j, &p);
GVertex *gv = GModel::current()->getVertexByTag((int)fabs(p));
if(gv)
gf->meshAttributes.corners.push_back(gv);
else
yymsg(0, "Unknown point %d", (int)fabs(p));
}
}
else
yymsg(0, "Unknown surface %d", (int)d);
}
List_Delete((yyvsp[(3) - (6)].l));
List_Delete((yyvsp[(4) - (6)].l));
case 241:
#line 3090 "Gmsh.y"
yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)");
case 242:
#line 3095 "Gmsh.y"
int k = List_Nbr((yyvsp[(4) - (5)].l));
if(k != 0 && k != 6 && k != 8){
yymsg(0, "Wrong definition of Transfinite Volume: "
"%d points instead of 6 or 8", k);
if(!(yyvsp[(3) - (5)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes);
if(List_Nbr(tmp)){
for(int i = 0; i < List_Nbr(tmp); i++){
Volume *v;
List_Read(tmp, i, &v);
v->Method = MESH_TRANSFINITE;
List_Reset(v->TrsfPoints);
}
}
else{
for(GModel::riter it = GModel::current()->firstRegion();
it != GModel::current()->lastRegion(); it++){
(*it)->meshAttributes.Method = MESH_TRANSFINITE;
}
}
List_Delete(tmp);
}
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
double d;
List_Read((yyvsp[(3) - (5)].l), i, &d);
Volume *v = FindVolume((int)d);
if(v){
v->Method = MESH_TRANSFINITE;
List_Reset(v->TrsfPoints);
for(int i = 0; i < k; i++){
double p;
List_Read((yyvsp[(4) - (5)].l), i, &p);
Vertex *vert = FindPoint((int)fabs(p));
if(vert)
List_Add(v->TrsfPoints, &vert);
else
yymsg(0, "Unknown point %d", (int)fabs(p));
}
}
else{
GRegion *gr = GModel::current()->getRegionByTag((int)d);
if(gr){
gr->meshAttributes.Method = MESH_TRANSFINITE;
for(int i = 0; i < k; i++){
double p;
List_Read((yyvsp[(4) - (5)].l), i, &p);
GVertex *gv = GModel::current()->getVertexByTag((int)fabs(p));
if(gv)
gr->meshAttributes.corners.push_back(gv);
else
yymsg(0, "Unknown point %d", (int)fabs(p));
}
}
yymsg(0, "Unknown volume %d", (int)d);
List_Delete((yyvsp[(3) - (5)].l));
List_Delete((yyvsp[(4) - (5)].l));
case 243:
#line 3162 "Gmsh.y"
if(!(yyvsp[(3) - (5)].l)){
List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces);
if(List_Nbr(tmp)){
for(int i = 0; i < List_Nbr(tmp); i++){
Surface *s;
List_Read(tmp, i, &s);
s->Recombine = 1;
s->RecombineAngle = (yyvsp[(4) - (5)].i);
}
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
for(GModel::fiter it = GModel::current()->firstFace();
it != GModel::current()->lastFace(); it++){
(*it)->meshAttributes.recombine = 1;
(*it)->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].i);
}
}
List_Delete(tmp);
}
else{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){
double d;
List_Read((yyvsp[(3) - (5)].l), i, &d);
Surface *s = FindSurface((int)d);
if(s){
s->Recombine = 1;
s->RecombineAngle = (yyvsp[(4) - (5)].i);
}
else{
GFace *gf = GModel::current()->getFaceByTag((int)d);
if(gf){
gf->meshAttributes.recombine = 1;
gf->meshAttributes.recombineAngle = (yyvsp[(4) - (5)].i);
}
else
yymsg(1, "Unknown surface %d", (int)d);
List_Delete((yyvsp[(3) - (5)].l));
case 244:
#line 3205 "Gmsh.y"
double d;
List_Read((yyvsp[(3) - (6)].l), i, &d);
int j = (int)d;
Surface *s = FindSurface(j);
if(s){
s->TransfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
}
else{
GFace *gf = GModel::current()->getFaceByTag(j);
if(gf)
gf->meshAttributes.transfiniteSmoothing = (int)(yyvsp[(5) - (6)].d);
else
yymsg(1, "Unknown surface %d", (int)(yyvsp[(5) - (6)].d));
}
List_Delete((yyvsp[(3) - (6)].l));
;}
break;
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
case 245:
#line 3229 "Gmsh.y"
{
if (List_Nbr((yyvsp[(3) - (6)].l)) != List_Nbr((yyvsp[(5) - (6)].l))){
yymsg(0, "Periodic Line : the number of masters (%d) is not equal to the number of slaves(%d)", List_Nbr((yyvsp[(3) - (6)].l)),List_Nbr((yyvsp[(5) - (6)].l)));
}
for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
double d_master,d_slave;
List_Read((yyvsp[(3) - (6)].l), i, &d_master);
List_Read((yyvsp[(5) - (6)].l), i, &d_slave);
int j_master = (int)d_master;
int j_slave = (int)d_slave;
Curve *c_slave = FindCurve(abs(j_slave));
if(c_slave){
printf("c_slave %d c_master = %d\n",j_master,j_slave);
c_slave->meshMaster = j_master;
}
else{
GEdge *ge = GModel::current()->getEdgeByTag(abs(j_slave));
if(ge)ge->setMeshMaster (j_master);
else yymsg(0, "Unknown line %d", j_slave);
}
}
List_Delete((yyvsp[(3) - (6)].l));
List_Delete((yyvsp[(5) - (6)].l));
;}
break;
case 246:
#line 3255 "Gmsh.y"
{
if (List_Nbr((yyvsp[(3) - (6)].l)) != List_Nbr((yyvsp[(5) - (6)].l))){
yymsg(0, "Periodic Surface : the number of masters (%d) is not equal to the number of slaves(%d)", List_Nbr((yyvsp[(3) - (6)].l)),List_Nbr((yyvsp[(5) - (6)].l)));
}
for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){
double d_master,d_slave;
List_Read((yyvsp[(3) - (6)].l), i, &d_master);
List_Read((yyvsp[(5) - (6)].l), i, &d_slave);
int j_master = (int)d_master;
int j_slave = (int)d_slave;
Surface *s_slave = FindSurface(abs(j_slave));
if(s_slave){
s_slave->meshMaster = j_master;
}
else{
GFace *gf = GModel::current()->getFaceByTag(abs(j_slave));
if(gf) gf->setMeshMaster (j_master);
else yymsg(0, "Unknown line %d", j_slave);
}
}
List_Delete((yyvsp[(3) - (6)].l));
List_Delete((yyvsp[(5) - (6)].l));
;}
break;
case 247:
#line 3287 "Gmsh.y"
setSurfaceEmbeddedPoints(s, (yyvsp[(3) - (10)].l));
}
else{
GFace *gf = GModel::current()->getFaceByTag((int)(yyvsp[(8) - (10)].d));
if(gf){
for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){
int iPoint;
List_Read((yyvsp[(3) - (10)].l), i, &iPoint);
GVertex *gv = GModel::current()->getVertexByTag(iPoint);
if(gv)
gf->addEmbeddedVertex(gv);
else
yymsg(0, "Unknown point %d", iPoint);
}
}
else
yymsg(0, "Unknown surface %d", (int)(yyvsp[(8) - (10)].d));
}
case 248:
#line 3310 "Gmsh.y"
setSurfaceEmbeddedCurves(s, (yyvsp[(3) - (10)].l));
}
else{
GFace *gf = GModel::current()->getFaceByTag((int)(yyvsp[(8) - (10)].d));
if(gf){
for(int i = 0; i < List_Nbr((yyvsp[(3) - (10)].l)); i++){
int iCurve;
List_Read((yyvsp[(3) - (10)].l), i, &iCurve);
GEdge *ge = GModel::current()->getEdgeByTag(iCurve);
if(ge)
gf->addEmbeddedEdge(ge);
else
yymsg(0, "Unknown line %d", iCurve);
}
}
else
yymsg(0, "Unknown surface %d", (int)(yyvsp[(8) - (10)].d));
}
case 249:
#line 3333 "Gmsh.y"
case 250:
#line 3336 "Gmsh.y"
case 251:
#line 3345 "Gmsh.y"
ReplaceAllDuplicates();
case 252:
#line 3349 "Gmsh.y"
{
if(!strcmp((yyvsp[(2) - (3)].c), "Geometry"))
ReplaceAllDuplicates();
else if(!strcmp((yyvsp[(2) - (3)].c), "Mesh"))
GModel::current()->removeDuplicateMeshVertices(CTX::instance()->geom.tolerance);
else
yymsg(0, "Unknown coherence command");
Free((yyvsp[(2) - (3)].c));
;}
case 253:
#line 3366 "Gmsh.y"
List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l));
int item = 0;
List_Read(temp, i, &item);
domain.push_back(item);
}
List_Delete((yyvsp[(7) - (11)].l));
List_T *temp2 = ListOfDouble2ListOfInt((yyvsp[(9) - (11)].l));
int item = 0;
List_Read(temp2, i, &item);
subdomain.push_back(item);
}
List_Delete((yyvsp[(9) - (11)].l));
std::string fileName = "";
fileName = (yyvsp[(3) - (11)].c);
Homology* homology = new Homology(GModel::current(), domain, subdomain);
delete homology;
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
case 254:
#line 3403 "Gmsh.y"
int item = 0;
List_Read(temp, i, &item);
domain.push_back(item);
}
int item = 0;
List_Read(temp2, i, &item);
subdomain.push_back(item);
}
std::string fileName = "";
fileName = (yyvsp[(3) - (11)].c);
Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->setFileName(fileName);
homology->findGenerators();
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
case 255:
#line 3439 "Gmsh.y"
int item = 0;
List_Read(temp, i, &item);
domain.push_back(item);
}
int item = 0;
List_Read(temp2, i, &item);
subdomain.push_back(item);
}
std::string fileName = "";
fileName = (yyvsp[(3) - (11)].c);
Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->setFileName(fileName);
homology->findDualGenerators();
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
case 256:
#line 3474 "Gmsh.y"
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
{
List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (11)].l));
std::vector<int> domain;
for (int i = 0; i < List_Nbr(temp); i++){
int item = 0;
List_Read(temp, i, &item);
domain.push_back(item);
}
List_Delete((yyvsp[(7) - (11)].l));
List_Delete(temp);
List_T *temp2 = ListOfDouble2ListOfInt((yyvsp[(9) - (11)].l));
std::vector<int> subdomain;
for (int i = 0; i < List_Nbr(temp2); i++){
int item = 0;
List_Read(temp2, i, &item);
subdomain.push_back(item);
}
List_Delete((yyvsp[(9) - (11)].l));
List_Delete(temp2);
std::string fileName = "";
fileName = (yyvsp[(3) - (11)].c);
#if defined(HAVE_KBIPACK)
Homology* homology = new Homology(GModel::current(), domain, subdomain);
homology->setFileName(fileName);
homology->findHomSequence();
delete homology;
#else
yymsg(0, "Gmsh needs to be configured with option Kbipack to use homology computation.");
#endif
;}
case 257:
#line 3513 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}
case 258:
#line 3514 "Gmsh.y"
{ (yyval.d) = (yyvsp[(2) - (3)].d); ;}
case 259:
#line 3515 "Gmsh.y"
{ (yyval.d) = -(yyvsp[(2) - (2)].d); ;}
case 260:
#line 3516 "Gmsh.y"
{ (yyval.d) = (yyvsp[(2) - (2)].d); ;}
case 261:
#line 3517 "Gmsh.y"
{ (yyval.d) = !(yyvsp[(2) - (2)].d); ;}
case 262:
#line 3518 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;}
case 263:
#line 3519 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;}
case 264:
#line 3520 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;}
break;
case 265:
#line 3522 "Gmsh.y"
yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d));
(yyval.d) = (yyvsp[(1) - (3)].d) / (yyvsp[(3) - (3)].d);
case 266:
#line 3528 "Gmsh.y"
{ (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;}
case 267:
#line 3529 "Gmsh.y"
{ (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;}
case 268:
#line 3530 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;}
case 269:
#line 3531 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;}
case 270:
#line 3532 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;}
case 271:
#line 3533 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;}
case 272:
#line 3534 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;}
case 273:
#line 3535 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;}
case 274:
#line 3536 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;}
case 275:
#line 3537 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;}
case 276:
#line 3538 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;}
case 277:
#line 3539 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}
case 278:
#line 3540 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}
case 279:
#line 3541 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}
case 280:
#line 3542 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}
case 281:
#line 3543 "Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}
case 282:
#line 3544 "Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}
case 283:
#line 3545 "Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}
case 284:
#line 3546 "Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
case 285:
#line 3547 "Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}
case 286:
#line 3548 "Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}
case 287:
#line 3549 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
case 288:
#line 3550 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
case 289:
#line 3551 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
case 290:
#line 3552 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
case 291:
#line 3553 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}
case 292:
#line 3554 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
case 293:
#line 3555 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
case 294:
#line 3556 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 295:
#line 3557 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 296:
#line 3558 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
case 297:
#line 3559 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
case 298:
#line 3561 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}
case 299:
#line 3562 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}
case 300:
#line 3563 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}
case 301:
#line 3564 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}