Newer
Older
#line 3849 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
case 316:

Christophe Geuzaine
committed
#line 3850 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
case 317:

Christophe Geuzaine
committed
#line 3851 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
case 318:

Christophe Geuzaine
committed
#line 3852 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
case 319:

Christophe Geuzaine
committed
#line 3853 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}

Christophe Geuzaine
committed
case 320:

Christophe Geuzaine
committed
#line 3854 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
case 321:

Christophe Geuzaine
committed
#line 3855 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
case 322:

Christophe Geuzaine
committed
#line 3856 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 323:

Christophe Geuzaine
committed
#line 3857 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 324:

Christophe Geuzaine
committed
#line 3858 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
case 325:

Christophe Geuzaine
committed
#line 3859 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
case 326:

Christophe Geuzaine
committed
#line 3861 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}
case 327:

Christophe Geuzaine
committed
#line 3862 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}
case 328:

Christophe Geuzaine
committed
#line 3863 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}
case 329:

Christophe Geuzaine
committed
#line 3864 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}
case 330:

Christophe Geuzaine
committed
#line 3865 "Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}
case 331:

Christophe Geuzaine
committed
#line 3866 "Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}
case 332:

Christophe Geuzaine
committed
#line 3867 "Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}
case 333:

Christophe Geuzaine
committed
#line 3868 "Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}
case 334:

Christophe Geuzaine
committed
#line 3869 "Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}
case 335:

Christophe Geuzaine
committed
#line 3870 "Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}
case 336:

Christophe Geuzaine
committed
#line 3871 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
case 337:

Christophe Geuzaine
committed
#line 3872 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
case 338:

Christophe Geuzaine
committed
#line 3873 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
case 339:

Christophe Geuzaine
committed
#line 3874 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
case 340:

Christophe Geuzaine
committed
#line 3875 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}
case 341:

Christophe Geuzaine
committed
#line 3876 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
case 342:

Christophe Geuzaine
committed
#line 3877 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
case 343:

Christophe Geuzaine
committed
#line 3878 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 344:

Christophe Geuzaine
committed
#line 3879 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
case 345:

Christophe Geuzaine
committed
#line 3880 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;}
case 346:

Christophe Geuzaine
committed
#line 3881 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;}
case 347:

Christophe Geuzaine
committed
#line 3890 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}
case 348:

Christophe Geuzaine
committed
#line 3891 "Gmsh.y"
{ (yyval.d) = 3.141592653589793; ;}
case 349:

Christophe Geuzaine
committed
#line 3892 "Gmsh.y"
{ (yyval.d) = Msg::GetCommRank(); ;}
case 350:

Christophe Geuzaine
committed
#line 3893 "Gmsh.y"
{ (yyval.d) = Msg::GetCommSize(); ;}
break;
case 351:

Christophe Geuzaine
committed
#line 3894 "Gmsh.y"
{ (yyval.d) = GetGmshMajorVersion(); ;}
case 352:
#line 3895 "Gmsh.y"
{ (yyval.d) = GetGmshMinorVersion(); ;}
Matti Pellika
committed
break;
case 353:
Matti Pellika
committed
#line 3896 "Gmsh.y"
{ (yyval.d) = GetGmshPatchVersion(); ;}
break;
case 354:
#line 3901 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (1)].c)]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (1)].c));
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}
case 355:

Christophe Geuzaine
committed
#line 3921 "Gmsh.y"
sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ;
if(!gmsh_yysymbols.count(tmpstring)){
yymsg(0, "Unknown variable '%s'", tmpstring);
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[tmpstring]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", tmpstring);
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}
case 356:

Christophe Geuzaine
committed
#line 3940 "Gmsh.y"
int index = (int)(yyvsp[(3) - (4)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (4)].c)]);
if((int)s.value.size() < index + 1){
yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (4)].c), index);
(yyval.d) = 0.;
}
else
(yyval.d) = s.value[index];
case 357:

Christophe Geuzaine
committed
#line 3958 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]);
(yyval.d) = s.value.size();
}
case 358:

Christophe Geuzaine
committed
#line 3970 "Gmsh.y"
if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (2)].c)]);
if(s.value.empty()){

Christophe Geuzaine
committed
yymsg(0, "Uninitialized variable '%s'", (yyvsp[(1) - (2)].c));
(yyval.d) = 0.;
}
else

Christophe Geuzaine
committed
}
case 359:

Christophe Geuzaine
committed
#line 3987 "Gmsh.y"
int index = (int)(yyvsp[(3) - (5)].d);
if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (5)].c));
(yyval.d) = 0.;
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (5)].c)]);
if((int)s.value.size() < index + 1){
yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].c), index);
(yyval.d) = 0.;
}
else
(yyval.d) = (s.value[index] += (yyvsp[(5) - (5)].i));
case 360:

Christophe Geuzaine
committed
#line 4008 "Gmsh.y"
NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d));
case 361:

Christophe Geuzaine
committed
#line 4013 "Gmsh.y"
NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d));
case 362:

Christophe Geuzaine
committed
#line 4018 "Gmsh.y"
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){
d += (yyvsp[(4) - (4)].i);
NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d);
(yyval.d) = d;
case 363:

Christophe Geuzaine
committed
#line 4028 "Gmsh.y"
double d = 0.;
if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){
d += (yyvsp[(7) - (7)].i);
NumberOption(GMSH_SET|GMSH_GUI, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d);
(yyval.d) = d;
case 364:

Christophe Geuzaine
committed
#line 4038 "Gmsh.y"
(yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
case 365:

Christophe Geuzaine
committed
#line 4046 "Gmsh.y"
{
memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
case 366:

Christophe Geuzaine
committed
#line 4050 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
case 367:

Christophe Geuzaine
committed
#line 4054 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
case 368:

Christophe Geuzaine
committed
#line 4058 "Gmsh.y"
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
case 369:

Christophe Geuzaine
committed
#line 4062 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
case 370:

Christophe Geuzaine
committed
#line 4069 "Gmsh.y"
(yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d);
case 371:

Christophe Geuzaine
committed
#line 4073 "Gmsh.y"
(yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0;
case 372:

Christophe Geuzaine
committed
#line 4077 "Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
case 373:

Christophe Geuzaine
committed
#line 4081 "Gmsh.y"
{
(yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0;
case 374:

Christophe Geuzaine
committed
#line 4088 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(List_T*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
case 375:

Christophe Geuzaine
committed
#line 4093 "Gmsh.y"
case 376:

Christophe Geuzaine
committed
#line 4100 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
case 377:

Christophe Geuzaine
committed
#line 4105 "Gmsh.y"
case 378:

Christophe Geuzaine
committed
#line 4109 "Gmsh.y"
case 379:

Christophe Geuzaine
committed
#line 4114 "Gmsh.y"
case 380:

Christophe Geuzaine
committed
#line 4118 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) = - (*pd);
case 381:

Christophe Geuzaine
committed
#line 4126 "Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (5)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (5)].d);
case 382:

Christophe Geuzaine
committed
#line 4137 "Gmsh.y"
break;
case 383:

Christophe Geuzaine
committed
#line 4141 "Gmsh.y"
{
if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all"))
(yyval.l) = 0;
else{
yyerror("Unknown special string for list replacement");
(yyval.l) = List_Create(2, 1, sizeof(double));
}
break;
case 384:

Christophe Geuzaine
committed
#line 4153 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) = - (*pd);
case 385:

Christophe Geuzaine
committed
#line 4161 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (3)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (3)].d);
case 386:

Christophe Geuzaine
committed
#line 4169 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d));
((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.))
List_Add((yyval.l), &d);
case 387:

Christophe Geuzaine
committed
#line 4176 "Gmsh.y"
if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){
yymsg(0, "Wrong increment in '%g:%g:%g'", (yyvsp[(1) - (5)].d), (yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].d));
List_Add((yyval.l), &((yyvsp[(1) - (5)].d)));
for(double d = (yyvsp[(1) - (5)].d); ((yyvsp[(5) - (5)].d) > 0) ? (d <= (yyvsp[(3) - (5)].d)) : (d >= (yyvsp[(3) - (5)].d)); d += (yyvsp[(5) - (5)].d))
List_Add((yyval.l), &d);
case 388:

Christophe Geuzaine
committed
#line 4187 "Gmsh.y"
// Returns the coordinates of a point and fills a list with it.
// This allows to ensure e.g. that relative point positions are
// always conserved
yymsg(0, "Unknown point '%d'", (int)(yyvsp[(3) - (4)].d));
double d = 0.0;
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &v->Pos.X);
List_Add((yyval.l), &v->Pos.Y);
List_Add((yyval.l), &v->Pos.Z);
case 389:

Christophe Geuzaine
committed
#line 4207 "Gmsh.y"

Christophe Geuzaine
committed
{
(yyval.l) = GetAllEntityNumbers(0);

Christophe Geuzaine
committed
break;
case 390:

Christophe Geuzaine
committed
#line 4211 "Gmsh.y"

Christophe Geuzaine
committed
{
(yyval.l) = GetAllEntityNumbers(1);

Christophe Geuzaine
committed
break;
case 391:

Christophe Geuzaine
committed
#line 4215 "Gmsh.y"

Christophe Geuzaine
committed
{
(yyval.l) = GetAllEntityNumbers(2);

Christophe Geuzaine
committed
break;
case 392:

Christophe Geuzaine
committed
#line 4219 "Gmsh.y"

Christophe Geuzaine
committed
{
(yyval.l) = GetAllEntityNumbers(3);

Christophe Geuzaine
committed
break;
case 393:

Christophe Geuzaine
committed
#line 4223 "Gmsh.y"
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
double num;
List_Read((yyvsp[(4) - (5)].l), i, &num);
PhysicalGroup *p = FindPhysicalGroup((int)num, MSH_PHYSICAL_POINT);
if(p){
for(int j = 0; j < List_Nbr(p->Entities); j++){
int nume;
List_Read(p->Entities, j, &nume);
double d = nume;
List_Add((yyval.l), &d);
}
}
}
List_Delete((yyvsp[(4) - (5)].l));
;}
break;
case 394:
/* Line 1464 of yacc.c */
#line 4241 "Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
double num;
List_Read((yyvsp[(4) - (5)].l), i, &num);
PhysicalGroup *p = FindPhysicalGroup((int)num, MSH_PHYSICAL_LINE);
if(p){
for(int j = 0; j < List_Nbr(p->Entities); j++){
int nume;
List_Read(p->Entities, j, &nume);
double d = nume;
List_Add((yyval.l), &d);
}
}
}
List_Delete((yyvsp[(4) - (5)].l));
;}
break;
case 395:
/* Line 1464 of yacc.c */
#line 4259 "Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
double num;
List_Read((yyvsp[(4) - (5)].l), i, &num);
PhysicalGroup *p = FindPhysicalGroup((int)num, MSH_PHYSICAL_SURFACE);
if(p){
for(int j = 0; j < List_Nbr(p->Entities); j++){
int nume;
List_Read(p->Entities, j, &nume);
double d = nume;
List_Add((yyval.l), &d);
}
}
}
List_Delete((yyvsp[(4) - (5)].l));
;}
break;
case 396:
/* Line 1464 of yacc.c */
#line 4277 "Gmsh.y"
{
(yyval.l) = List_Create(10, 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){
double num;
List_Read((yyvsp[(4) - (5)].l), i, &num);
PhysicalGroup *p = FindPhysicalGroup((int)num, MSH_PHYSICAL_VOLUME);
if(p){
for(int j = 0; j < List_Nbr(p->Entities); j++){
int nume;
List_Read(p->Entities, j, &nume);
double d = nume;
List_Add((yyval.l), &d);
}
}
}
List_Delete((yyvsp[(4) - (5)].l));
;}
break;
case 397:
/* Line 1464 of yacc.c */
#line 4295 "Gmsh.y"
{
(yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
double d = s->Num;
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
{
(yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double));
for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){
Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
double d = s->Num;
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c)))
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (3)].c));
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(1) - (3)].c)]);
for(unsigned int i = 0; i < s.value.size(); i++)
List_Add((yyval.l), &s.value[i]);
}
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c)))
yymsg(0, "Unknown variable '%s'", (yyvsp[(3) - (4)].c));
else{
gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(3) - (4)].c)]);
for(unsigned int i = 0; i < s.value.size(); i++)
List_Add((yyval.l), &s.value[i]);
}
Free((yyvsp[(3) - (4)].c));

Christophe Geuzaine
committed
if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c)))
yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (6)].c));
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
int index = (int)(*(double*)List_Pointer_Fast((yyvsp[(4) - (6)].l), i));
yymsg(0, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (6)].c), index);
else
Free((yyvsp[(1) - (6)].c));
List_Delete((yyvsp[(4) - (6)].l));

Christophe Geuzaine
committed
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));

Christophe Geuzaine
committed

Christophe Geuzaine
committed

Christophe Geuzaine
committed
double d;
List_Read((yyvsp[(3) - (3)].l), i, &d);
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
(yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));

Christophe Geuzaine
committed
(yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);