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 清空(即默认加减运算) }
//________________________________________________________ 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 }
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; }
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; }
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; }
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); }