Changeset 2179 in Sophya


Ignore:
Timestamp:
Aug 13, 2002, 12:38:56 PM (23 years ago)
Author:
cmv
Message:

disparition de varop dans skymapmodule.cc

Location:
trunk/SophyaPI/ProgPI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/ProgPI/skymapmodule.cc

    r2178 r2179  
    6868  void ClOper(vector<string>& tokens);
    6969  void ClRebin(vector<string>& tokens);
    70   void VarOper(vector<string>& tokens);
    7170protected:
    7271  void SetTypeMap(vector<string>& tokens);
     
    256255mpiac->RegisterCommand(kw, usage, this, hgrp);
    257256
    258 kw = "varop";
    259 usage = "operation on variables";
    260 usage += "\n Usage: varop var1 op var2 [resultvarname]";
    261 usage += "\n   Do result = var1 op var2";
    262 usage += "\n      where op = +,-,*,/,^(pow),exp,sqrt,log,log10";
    263 usage += "\n   resultvarname = variable name to store the result";
    264 mpiac->RegisterCommand(kw, usage, this, hgrp);
    265 
    266257DefTypMap = HealPix;
    267258}
     
    416407  }
    417408  ClRebin(tokens);
    418 } else if(kw == "varop") {
    419   if(tokens.size()<2) {
    420     cout<<"Usage: varop var1 op var2 [resultvarname]"<<endl;
    421     return(0);
    422   }
    423   VarOper(tokens);
    424409}
    425410
     
    610595 if(tokens.size()>2) {
    611596   if(omg.HasVar(tokens[2])) omg.DeleteVar(tokens[2]);
    612    char str[128]; sprintf(str,"%g",per);
     597   char str[512]; sprintf(str,"%g",per);
    613598   omg.SetVar(tokens[2],(string)str);
    614599   cout<<" stored into $"<<tokens[2];
     
    11601145 if(tokens.size()>2) if(tokens[2][0]!='!') {
    11611146   if(omg.HasVar(tokens[2])) omg.DeleteVar(tokens[2]);
    1162    char str[128]; sprintf(str,"%.8f",sum);
     1147   char str[512]; sprintf(str,"%.8f",sum);
    11631148   omg.SetVar(tokens[2],(string)str);
    11641149   cout<<" mean stored into $"<<tokens[2];
     
    11661151 if(tokens.size()>3) if(tokens[3][0]!='!') {
    11671152   if(omg.HasVar(tokens[3])) omg.DeleteVar(tokens[3]);
    1168    char str[128]; sprintf(str,"%.8f",sum2);
     1153   char str[512]; sprintf(str,"%.8f",sum2);
    11691154   omg.SetVar(tokens[3],(string)str);
    11701155   cout<<" sigma stored into $"<<tokens[3];
     
    12701255 if(tokens.size()>2) {
    12711256   if(omg.HasVar(tokens[2])) omg.DeleteVar(tokens[2]);
    1272    char str[128]; sprintf(str,"%.8f",mean);
     1257   char str[512]; sprintf(str,"%.8f",mean);
    12731258   omg.SetVar(tokens[2],(string)str);
    12741259   cout<<" stored into $"<<tokens[2];
     
    14021387}
    14031388
    1404 /* --Methode-- */
    1405 void skymapmoduleExecutor::VarOper(vector<string>& tokens)
    1406 {
    1407  NamedObjMgr omg;
    1408 
    1409  double var1=0., var2=0.; string op = "?";
    1410  if(tokens.size()>0) var1 = atof(tokens[0].c_str());
    1411  if(tokens.size()>1) op = tokens[1];
    1412  if(tokens.size()>2) if(tokens[2][0]!='!') var2 = atof(tokens[2].c_str());
    1413 
    1414  double result = 0.;
    1415  try {
    1416    if(op=="+")                     result = var1 + var2;
    1417    else if(op=="-")                result = var1 - var2;
    1418    else if(op=="*")                result = var1 * var2;
    1419    else if(op=="/" && var2!=0.)    result = var1 / var2;   else if(op=="^" && var2>0.)     result = pow(var1,var2);
    1420    else if(op=="pow" && var2>0.)   result = pow(var1,var2);
    1421    else if(op=="exp")              result = exp(var1);
    1422    else if(op=="sqrt" && var1>0.)  result = sqrt(var1);
    1423    else if(op=="log" && var1>0.)   result = log(var1);
    1424    else if(op=="log10" && var1>0.) result = log10(var1);
    1425  } catch ( ... ) {
    1426    cout<<"An operation exception occurs"<<endl;
    1427    return;
    1428  }
    1429 
    1430  cout<<"VarOper: "<<var1<<" "<<op<<" "<<var2<<" = "<<result;
    1431 
    1432  if(tokens.size()>3) {
    1433    if(omg.HasVar(tokens[3])) omg.DeleteVar(tokens[3]);
    1434    char str[128]; sprintf(str,"%.8f",result);
    1435    omg.SetVar(tokens[3],(string)str);
    1436    cout<<" stored into $"<<tokens[3];
    1437  }
    1438  cout<<endl;
    1439 
    1440 }
    1441 
    14421389////////////////////////////////////////////////////////////
    14431390
  • trunk/SophyaPI/ProgPI/skymapmodule.pic

    r2178 r2179  
    436436echo mean=$mean sig=$sig
    437437
    438 #---------------------- test VarOper
    439 varop 1000 + 100 result
    440   echo result is $result
    441 varop 1000 - 100 result
    442   echo result is $result
    443 varop 1000 * 100 result
    444   echo result is $result
    445 varop 1000 / 100 result
    446   echo result is $result
    447 varop 1000 / 0 result
    448   echo result is $result
    449 
    450 varop 1000 sqrt ! result
    451   echo result is $result
    452 varop -1000 sqrt ! result
    453   echo result is $result
    454 varop 10 exp ! result
    455   echo result is $result
    456 varop 1000 log ! result
    457   echo result is $result
    458 varop -1000 log ! result
    459   echo result is $result
    460 varop 1000 log10 ! result
    461   echo result is $result
    462 varop -1000 log10 ! result
    463   echo result is $result
    464 
    465 varop 1000 pow 2 result
    466   echo result is $result
    467 varop 1000 pow 1000 result
    468   echo result is $result
     438#---------------------- test ExpVal
     439set x 1
     440set y 2
     441set z 3
     442eval ! x +y +z
     443eval ! $x +$y +$z
     444eval r x +y +z
     445 echo result is $r
     446
     447eval r 1e150
     448 echo result is $r
     449eval r 1e10
     450 echo result is $r
     451eval r 0
     452 echo result is $r
     453
     454eval r sqrt(-1.)
     455 echo $r
  • trunk/SophyaPI/ProgPI/sopiamodule.cc

    r1972 r2179  
    273273
    274274   int wrsid = 0;
    275    bool fgsr = true;
     275   //bool fgsr = true;
    276276   
    277277   string name = "mollgrid";
Note: See TracChangeset for help on using the changeset viewer.