void MainWindowComplex::on_ans_clicked()   //输出结果
{
    QString display;
    Complex cans(0,0);
    double numreal=tempreal.toDouble();    //按空格之前 先将数字保存好
    double numvirtual=tempvirtual.toDouble();
    Complex * pt= new Complex(numreal,numvirtual);
    if(sign=='*')
    {
      cans=tempc.Multi(*pt);
      display=Complex::ComplexToString(cans);
      tempc=cans;
    }
    if(sign=='%')
    {cans=tempc.Div(*pt);display=Complex::ComplexToString(cans);tempc=cans;}

    if (sign=='^')   //即单纯的加减运算
    {
        cans=tempc.Add(*pt);
        ui->answer->setText(tempreal);
        display=Complex::ComplexToString(cans);
        tempc=cans;        //更新当前结果
    }
    //将结果转换成字符串

    ui->answer->setText(display);    //显示一个字符串
    tempreal="";
    tempvirtual="";
    sign='^';                //将sign 清空(即默认加减运算)
}
예제 #2
0
//________________________________________________________
void GFHistManager::Clear(Bool_t deleteHists)
{
  // delete all canvases and clear the lists of hists stored in the manager 
  // (hists and objects are deleted if deleteHists is true [by default it is false])

  TIter iterCanArrays(fCanArrays);
  while(TObjArray* arr = static_cast<TObjArray*>(iterCanArrays.Next())){
    // A simple 'arr->Delete();' causes a crash if the user has closed a canvas
    // via the GUI - so delete only those that are known to gROOT:
    TIter cans(arr);
    while (TObject *c = cans.Next()) delete gROOT->GetListOfCanvases()->FindObject(c);
  }
  fCanArrays->Delete(); // delete arrays of canvases
  delete fCanArrays;

  if(fLegendArrays){ // by default there are no legends...
    TIter iterLegArrays(fLegendArrays);
    while(TObjArray* arr = static_cast<TObjArray*>(iterLegArrays.Next())){
      arr->Delete(); // delete legends
    }
    fLegendArrays->Delete(); // delete arrays of legends
    delete fLegendArrays;
  }

  if(fObjLists) { 
    TIter listArrayIter(fObjLists);
    while(TObjArray* listArray = static_cast<TObjArray*>(listArrayIter.Next())){
      if(deleteHists) {
	TIter listIter(listArray);
	while(TList* list = static_cast<TList*>(listIter.Next())){
	  list->Delete(); // delete objects if requested
	}
      }
      listArray->Delete(); // delete lists
    }
    fObjLists->Delete(); // delete arrays of lists
    delete fObjLists; // delete array of arrays of lists
  }

  TIter iterHistArrays(fHistArrays);
  while(TObjArray* arr = static_cast<TObjArray*>(iterHistArrays.Next())){
    TIter iterHistArrays2(arr);
    while(TObjArray* arr2 = static_cast<TObjArray*>(iterHistArrays2.Next())){
      if(deleteHists) arr2->Delete(); // delete histograms
      else            arr2->Clear();
    }
    arr->Delete();
  }
  fHistArrays->Delete(); // delete arrays of arrays of histograms
  delete fHistArrays;

  this->Initialise(); // here the arrays are rebuild and fDepth etc. adjusted
}
예제 #3
0
파일: predModules.cpp 프로젝트: rforge/lme4
    Rcpp::NumericVector sPredModule::linPred() const {
	Rcpp::NumericVector ans(d_X.nr());
	chmDn cans(ans);
	d_X.dmult('N',1.,0.,chmDn(d_coef),cans);
	return ans;
    }
예제 #4
0
파일: reModule.cpp 프로젝트: rforge/lme4
    Rcpp::NumericVector reModule::linPred() const {
	NumericVector bb = b(), ans(d_Zt.nc());
	chmDn cans(ans), cbb(bb);
	d_Zt.dmult('T',1.,0.,cbb,cans);
	return ans;
    }
예제 #5
0
파일: reModule.cpp 프로젝트: rforge/lme4
    Rcpp::NumericVector reModule::b() const {
	NumericVector ans(d_u.size());
	chmDn cans(ans);
	d_Lambda.dmult('N',1.,0.,chmDn(d_u),cans);
	return ans;
    }
예제 #6
0
bool can(int x, int y, int dz)
{
  if (dz < -3 || dz > 1) return 0;
  return cans(x, y, x1, y1) || cans(x, y, x2, y2);
}