Newer
Older
yyin = yyinTab[--RecursionLevel];
}
else if(!strcmp(yyvsp[-2].c, "Print")){
if(!CTX.batch) CreateOutputFile(yyvsp[-1].c, CTX.print.format);
CreateOutputFile(yyvsp[-1].c, CTX.mesh.format);
}
else if(!strcmp(yyvsp[-2].c, "Merge")){
FILE *ff = yyin;
MergeProblem(yyvsp[-1].c);
yyin = ff;
}
else if(!strcmp(yyvsp[-2].c, "Open")){
FILE *ff = yyin;
OpenProblem(yyvsp[-1].c);
yyin = ff;
}
else if(!strcmp(yyvsp[-2].c, "System")){
Msg(PARSER_INFO, "Executing system call \"%s\"", yyvsp[-1].c);

Christophe Geuzaine
committed
case 212:
if(!strcmp(yyvsp[-2].c, "Sleep")){
if(GetTime() - sleep_time > (long)(yyvsp[-1].d*1.e6)) break;
}
}
else if(!strcmp(yyvsp[-2].c, "Mesh")){
//Maillage_Dimension_0(THEM);
//mai3d(THEM,(int)$2);
vyyerror("Mesh directives are not (yet) allowed in scripts");

Christophe Geuzaine
committed
case 213:
if(CTX.default_plugins)
GMSH_PluginManager::Instance()->Action(yyvsp[-4].c,yyvsp[-1].c,0);

Christophe Geuzaine
committed
case 214:

Christophe Geuzaine
committed
case 215:
if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){
Last_NumberOfPoints = Tree_Nbr(THEM->Points);
Replot();

Christophe Geuzaine
committed
case 216:
{
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ;
LoopControlVariablesNameTab[ImbricatedLoop] = "" ;
fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno;
ImbricatedLoop++;
break;}

Christophe Geuzaine
committed
case 217:
{
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ;
LoopControlVariablesNameTab[ImbricatedLoop] = "" ;
fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno;
ImbricatedLoop++;

Christophe Geuzaine
committed
case 218:
{
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ;
LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-6].c ;
TheSymbol.Name = yyvsp[-6].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));
List_Put(TheSymbol.val, 0, &yyvsp[-3].d);
List_Add(Symbol_L, &TheSymbol);
}
else{
List_Write(pSymbol->val, 0, &yyvsp[-3].d);
}
fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno;
ImbricatedLoop++;

Christophe Geuzaine
committed
case 219:
{
LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ;
LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ;
LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ;
LoopControlVariablesNameTab[ImbricatedLoop] = yyvsp[-8].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));
List_Put(TheSymbol.val, 0, &yyvsp[-5].d);
List_Add(Symbol_L, &TheSymbol);
}
else{
List_Write(pSymbol->val, 0, &yyvsp[-5].d);
}
fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]);
yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno;
ImbricatedLoop++;

Christophe Geuzaine
committed
case 220:
if(LoopControlVariablesTab[ImbricatedLoop-1][1] >
LoopControlVariablesTab[ImbricatedLoop-1][0]){
LoopControlVariablesTab[ImbricatedLoop-1][0] +=
LoopControlVariablesTab[ImbricatedLoop-1][2];
if(strlen(LoopControlVariablesNameTab[ImbricatedLoop-1])){
TheSymbol.Name = LoopControlVariablesNameTab[ImbricatedLoop-1];
pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols);
*(double*)List_Pointer_Fast(pSymbol->val, 0) +=
LoopControlVariablesTab[ImbricatedLoop-1][2] ;
fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]);
yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop-1];
ImbricatedLoop--;
}
break;}

Christophe Geuzaine
committed
case 221:
if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yyname,yylineno))
vyyerror("Redefinition of function %s",yyvsp[0].c);

Christophe Geuzaine
committed
case 222:
if(!FunctionManager::Instance()->leaveFunction(&yyin,yyname,yylineno))
vyyerror("Error while exiting function");

Christophe Geuzaine
committed
case 223:
if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yyname,yylineno))

Christophe Geuzaine
committed
case 224:

Christophe Geuzaine
committed
case 225:

Christophe Geuzaine
committed
case 226:
{
Extrude_ProtudePoint(TRANSLATE,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],
0.,0.,0.,0.,0.,0.,0.,
&pc,&prc,NULL);
;
break;}

Christophe Geuzaine
committed
case 227:
{
Extrude_ProtudePoint(ROTATE,(int)yyvsp[-8].d,0.,0.,0.,
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,
;
break;}

Christophe Geuzaine
committed
case 228:
{
Curve *pc, *prc;
Extrude_ProtudePoint(TRANSLATE_ROTATE,(int)yyvsp[-10].d,yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,
&pc,&prc,NULL);
;
break;}

Christophe Geuzaine
committed
case 229:
{
Extrude_ProtudeCurve(TRANSLATE,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],
0.,0.,0.,0.,0.,0.,0.,1,NULL);
;
break;}

Christophe Geuzaine
committed
case 230:
{
Extrude_ProtudeCurve(ROTATE,(int)yyvsp[-8].d,0.,0.,0.,
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,1,NULL);
;
break;}

Christophe Geuzaine
committed
case 231:
{
Extrude_ProtudeCurve(TRANSLATE_ROTATE,(int)yyvsp[-10].d,yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,1,NULL);
;
break;}

Christophe Geuzaine
committed
case 232:
{
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
;
break;}

Christophe Geuzaine
committed
case 233:
Extrude_ProtudeCurve(TRANSLATE,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],
0.,0.,0.,0.,0.,0.,0.,1,&extr);

Christophe Geuzaine
committed
case 234:
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;

Christophe Geuzaine
committed
case 235:
Extrude_ProtudeCurve(ROTATE,(int)yyvsp[-12].d,0.,0.,0.,
yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,1,&extr);

Christophe Geuzaine
committed
case 236:
{
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
;
break;}

Christophe Geuzaine
committed
case 237:
{
Extrude_ProtudeCurve(TRANSLATE_ROTATE,(int)yyvsp[-14].d,yyvsp[-12].v[0],yyvsp[-12].v[1],yyvsp[-12].v[2],
yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,1,&extr);
break;}

Christophe Geuzaine
committed
case 238:
Extrude_ProtudeSurface(TRANSLATE,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],
0.,0.,0.,0.,0.,0.,0.,0,NULL);

Christophe Geuzaine
committed
case 239:
{
Extrude_ProtudeSurface(ROTATE,(int)yyvsp[-8].d,0.,0.,0.,
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL);
;
break;}

Christophe Geuzaine
committed
case 240:
Extrude_ProtudeSurface(TRANSLATE_ROTATE,(int)yyvsp[-10].d,yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],
yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL);

Christophe Geuzaine
committed
case 241:
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;

Christophe Geuzaine
committed
case 242:
{
int vol = NEWREG();
Extrude_ProtudeSurface(TRANSLATE,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],
0.,0.,0.,0.,0.,0.,0.,vol,&extr);
;
break;}

Christophe Geuzaine
committed
case 243:
{
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
;
break;}

Christophe Geuzaine
committed
case 244:
{
int vol = NEWREG();
Extrude_ProtudeSurface(ROTATE,(int)yyvsp[-12].d,0.,0.,0.,
yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,vol,&extr);
;
break;}

Christophe Geuzaine
committed
case 245:
{
extr.mesh.ExtrudeMesh = false;
extr.mesh.Recombine = false;
;
break;}

Christophe Geuzaine
committed
case 246:
{
int vol = NEWREG();
Extrude_ProtudeSurface(TRANSLATE_ROTATE,(int)yyvsp[-14].d,yyvsp[-12].v[0],yyvsp[-12].v[1],yyvsp[-12].v[2],
yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,vol,&extr);
;
break;}

Christophe Geuzaine
committed
case 247:

Christophe Geuzaine
committed
case 248:

Christophe Geuzaine
committed
case 249:
{
double d;
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr(yyvsp[-6].l);
if(List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-4].l) && List_Nbr(yyvsp[-6].l) == List_Nbr(yyvsp[-2].l)){
extr.mesh.NbElmLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.ZonLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.hLayer = (double*)Malloc(extr.mesh.NbLayer*sizeof(double));
for(int i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
extr.mesh.NbElmLayer[i] = (d>0)?(int)d:1;
extr.mesh.ZonLayer[i] = (int)d;
List_Read(yyvsp[-2].l,i,&d);
extr.mesh.hLayer[i] = d;
}
}
else{
vyyerror("Wrong layer definition {%d, %d, %d}",
List_Nbr(yyvsp[-6].l), List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
List_Delete(yyvsp[-6].l);
List_Delete(yyvsp[-4].l);
List_Delete(yyvsp[-2].l);

Christophe Geuzaine
committed
case 250:
{
double d;
extr.mesh.ExtrudeMesh = true;
extr.mesh.NbLayer = List_Nbr(yyvsp[-4].l);
if(List_Nbr(yyvsp[-4].l) == List_Nbr(yyvsp[-2].l)){
extr.mesh.NbElmLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.ZonLayer = (int*)Malloc(extr.mesh.NbLayer*sizeof(int));
extr.mesh.hLayer = (double*)Malloc(extr.mesh.NbLayer*sizeof(double));
for(int i=0;i<List_Nbr(yyvsp[-4].l);i++){
List_Read(yyvsp[-4].l,i,&d);
extr.mesh.NbElmLayer[i] = (d>0)?(int)d:1;
extr.mesh.ZonLayer[i] = 0;
List_Read(yyvsp[-2].l,i,&d);
extr.mesh.hLayer[i] = d;
}
}
else{
vyyerror("Wrong layer definition {%d, %d}",
List_Nbr(yyvsp[-4].l), List_Nbr(yyvsp[-2].l));
}
List_Delete(yyvsp[-4].l);
List_Delete(yyvsp[-2].l);
;
break;}

Christophe Geuzaine
committed
case 251:
{
extr.mesh.Recombine = true;
;
break;}

Christophe Geuzaine
committed
case 252:
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
Msg(WARNING, "Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-1].d>2)?(int)yyvsp[-1].d:2;
c->ipar[1] = sign(d);
c->dpar[0] = 1.0;

Christophe Geuzaine
committed
case 253:
{
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
Msg(WARNING, "Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
c->ipar[1] = sign(d); /* Progresion : code 1 ou -1 */
c->dpar[0] = fabs(yyvsp[-1].d);
;
break;}

Christophe Geuzaine
committed
case 254:
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
Msg(WARNING, "Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (yyvsp[-4].d>2)?(int)yyvsp[-4].d:2;
c->ipar[1] = 2*sign(d); /* Bump : code 2 ou -2 */
c->dpar[0] = fabs(yyvsp[-1].d);

Christophe Geuzaine
committed
case 255:
Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
if(!s)
Msg(WARNING, "Unkown Surface %d", (int)yyvsp[-4].d);
s->Method = TRANSFINI;
k = List_Nbr(yyvsp[-1].l);
if(k!=3 && k!=4){
vyyerror("Wrong definition of Transfinite Surface %d: "
"%d points instead of 3 or 4" , yyvsp[-4].d, k) ;
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
s->ipar[i] = j;

Christophe Geuzaine
committed
case 256:
Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
if(!s)
Msg(WARNING, "Unkown Surface %d", (int)yyvsp[-4].d);
s->Method = ELLIPTIC;
k = List_Nbr(yyvsp[-1].l);
if(k != 4)
vyyerror("Wrong definition of Elliptic Surface %d: "
"%d points instead of 4" , yyvsp[-4].d, k) ;
else{
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
s->ipar[i] = j;

Christophe Geuzaine
committed
case 257:
Volume *v = FindVolume((int)yyvsp[-4].d,THEM);
if(!v)
Msg(WARNING, "Unkown Volume %d", (int)yyvsp[-4].d);
v->Method = TRANSFINI;
k = List_Nbr(yyvsp[-1].l);
if(k!=6 && k!=8)
vyyerror("Wrong definition of Transfinite Volume %d: "
"%d points instead of 6 or 8" , yyvsp[-4].d, k) ;
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
v->ipar[i] = j;

Christophe Geuzaine
committed
case 258:
Surface *s;
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)d;
s = FindSurface(j,THEM);
s->Recombine = 1;
s->RecombineAngle = (yyvsp[-1].d > 0 && yyvsp[-1].d < 90) ? yyvsp[-1].d : 90;

Christophe Geuzaine
committed
case 259:
{
Surface *s;
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)d;
s = FindSurface(j,THEM);
s->Recombine = 1;
s->RecombineAngle = 30.;
}
;
break;}

Christophe Geuzaine
committed
case 260:

Christophe Geuzaine
committed
case 261:

Christophe Geuzaine
committed
case 262:
break;}

Christophe Geuzaine
committed
case 263:
break;}

Christophe Geuzaine
committed
case 264:
break;}

Christophe Geuzaine
committed
case 265:
break;}

Christophe Geuzaine
committed
case 266:
break;}

Christophe Geuzaine
committed
case 267:

Christophe Geuzaine
committed
case 268:

Christophe Geuzaine
committed
case 269:

Christophe Geuzaine
committed
case 270:

Christophe Geuzaine
committed
case 271:

Christophe Geuzaine
committed
case 272:
{ yyval.d = yyvsp[-2].d - yyvsp[0].d ; ;

Christophe Geuzaine
committed
case 273:
{ yyval.d = yyvsp[-2].d + yyvsp[0].d ; ;

Christophe Geuzaine
committed
case 274:
{ yyval.d = yyvsp[-2].d * yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 275:
vyyerror("Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d);
else
yyval.d = yyvsp[-2].d / yyvsp[0].d ;
;

Christophe Geuzaine
committed
case 276:
{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ;

Christophe Geuzaine
committed
case 277:
{ yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ;

Christophe Geuzaine
committed
case 278:
{ yyval.d = yyvsp[-2].d < yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 279:
{ yyval.d = yyvsp[-2].d > yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 280:
{ yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 281:
{ yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 282:
{ yyval.d = yyvsp[-2].d == yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 283:
{ yyval.d = yyvsp[-2].d != yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 284:
{ yyval.d = yyvsp[-2].d && yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 285:
{ yyval.d = yyvsp[-2].d || yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 286:
{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ;
break;}

Christophe Geuzaine
committed
case 287:
break;}

Christophe Geuzaine
committed
case 288:
break;}

Christophe Geuzaine
committed
case 289:
{ yyval.d = log10(yyvsp[-1].d); ;
break;}

Christophe Geuzaine
committed
case 290:
break;}

Christophe Geuzaine
committed
case 291:
break;}

Christophe Geuzaine
committed
case 292:
break;}

Christophe Geuzaine
committed
case 293:
break;}

Christophe Geuzaine
committed
case 294:
break;}

Christophe Geuzaine
committed
case 295:
break;}

Christophe Geuzaine
committed
case 296:
break;}

Christophe Geuzaine
committed
case 297:
{ yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ;
break;}

Christophe Geuzaine
committed
case 298:

Christophe Geuzaine
committed
case 299:

Christophe Geuzaine
committed
case 300:

Christophe Geuzaine
committed
case 301:

Christophe Geuzaine
committed
case 302:
{ yyval.d = floor(yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 303:

Christophe Geuzaine
committed
case 304:

Christophe Geuzaine
committed
case 305:
{ yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 306:
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 307:
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;

Christophe Geuzaine
committed
case 308:

Christophe Geuzaine
committed
case 309:

Christophe Geuzaine
committed
case 310:
{ yyval.d = log10(yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 311:

Christophe Geuzaine
committed
case 312:

Christophe Geuzaine
committed
case 313:

Christophe Geuzaine
committed
case 314:

Christophe Geuzaine
committed
case 315:

Christophe Geuzaine
committed
case 316:

Christophe Geuzaine
committed
case 317:

Christophe Geuzaine
committed
case 318:
{ yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 319:

Christophe Geuzaine
committed
case 320:

Christophe Geuzaine
committed
case 321:

Christophe Geuzaine
committed
case 322:

Christophe Geuzaine
committed
case 323:
{ yyval.d = floor(yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 324:

Christophe Geuzaine
committed
case 325:
{ yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ;
break;}

Christophe Geuzaine
committed
case 326:
{ yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 327:
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;

Christophe Geuzaine
committed
case 328:
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;

Christophe Geuzaine
committed
case 329:

Christophe Geuzaine
committed
case 330:

Christophe Geuzaine
committed
case 331:
{ yyval.d = ParUtil::Instance()->rank(); ;

Christophe Geuzaine
committed
case 332:
{ yyval.d = ParUtil::Instance()->size(); ;
break;}

Christophe Geuzaine
committed
case 333:
{
TheSymbol.Name = yyvsp[0].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) {

Christophe Geuzaine
committed
else
yyval.d = *(double*)List_Pointer_Fast(pSymbol->val, 0) ;
;
break;}

Christophe Geuzaine
committed
case 334:
{
TheSymbol.Name = yyvsp[-3].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) {
yyval.d = 0. ;
}
else{
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-1].d)))
yyval.d = *pd ;
else{
vyyerror("Uninitialized variable '%s[%d]'", yyvsp[-3].c, (int)yyvsp[-1].d) ;
yyval.d = 0. ;
}
}
;
break;}

Christophe Geuzaine
committed
case 335:
{
TheSymbol.Name = yyvsp[-1].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) {

Christophe Geuzaine
committed
else
yyval.d = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[0].i) ;

Christophe Geuzaine
committed
case 336:
{
TheSymbol.Name = yyvsp[-4].c ;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) {
yyval.d = 0. ;
}
else{
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-2].d)))

Christophe Geuzaine
committed
yyval.d = (*pd += yyvsp[0].i) ;
vyyerror("Uninitialized variable '%s[%d]'", yyvsp[-4].c, (int)yyvsp[-2].d) ;
yyval.d = 0. ;
}
}
;
break;}

Christophe Geuzaine
committed
case 337:
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){
vyyerror("Unknown numeric option class '%s'", yyvsp[-2].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[0].c, pNumCat))){
vyyerror("Unknown numeric option '%s.%s'", yyvsp[-2].c, yyvsp[0].c);

Christophe Geuzaine
committed
else
yyval.d = pNumOpt(0, GMSH_GET, 0);

Christophe Geuzaine
committed
case 338:

Christophe Geuzaine
committed
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){
vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c);

Christophe Geuzaine
committed
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption(yyvsp[0].c, pNumCat))){
vyyerror("Unknown numeric option '%s[%d].%s'", yyvsp[-5].c, (int)yyvsp[-3].d, yyvsp[0].c);

Christophe Geuzaine
committed
else
yyval.d = pNumOpt((int)yyvsp[-3].d, GMSH_GET, 0);