diff --git a/pub/src/opr.cpp b/pub/src/opr.cpp index 56709a3e222ca144b12f7bc63783a6b072b79c07..521967479391b6027161aa1fb3a336e3b0fc1117 100644 --- a/pub/src/opr.cpp +++ b/pub/src/opr.cpp @@ -251,7 +251,6 @@ void NOperate::NewDY() CEle *ein; COlo *fout; vector<double> vout; - double dout; uint n; while( (ein=iter()) ){ uint k = iter.SelNo(); @@ -263,45 +262,18 @@ void NOperate::NewDY() else fout = (COlo*) new COlc( *((COlc*) ein->P()) ); } - fout->lDoc.push_back( "o" + lref.ref_info() + " " + expr); + fout->lDoc.push_back( "ody+ " + expr); - if (lref.var==CRef::_X) - T->coord(&(fout->xco), k); - else if (lref.var==CRef::_Y) - T->coord(&(fout->yco), k); - else if (lref.var==CRef::_Z) { - if( lref.num>= fout->ZCo.size() ){ - delete fout; - throw string( "no such z coordinate to operate onto" ); - } - T->coord(&(fout->ZCo[lref.num]), k); - } - for( uint j=0; j<ein->nScan(); j++ ){ - if (lref.pointwise()) { - if( !ein->isD() ){ - delete fout; - throw string( "no pointwise operation on curve" ); - } - n = ((COld*)(ein->D()))->VS[j].size(); - vout.resize(n); - T->tree_vec_val( &vout, k, j ); - if (lref.var==CRef::_X) - ((COld*)fout)->VS[j].x = vout; - else - ((COld*)fout)->VS[j].y = vout; - } else if (lref.var==CRef::_Z) { - T->tree_point_val( &dout, k, j ); - if( ein->isD() ) - ((COld*)fout)->VS[j].z[lref.num] = dout; - else - ((COlc*)fout)->VC[j].z[lref.num] = dout; - } else { + if( !ein->isD() ){ delete fout; - throw string( "PROGRAM ERROR/ invalid oxy" ); + throw string( "no pointwise operation on curve" ); } - + n = ((COld*)(ein->D()))->VS[j].size(); + vout.resize(n); + T->tree_vec_val( &vout, k, j ); + ((COld*)fout)->VS[j].dy = vout; } if( !(NOlm::overwrite) ){ NOlm::OloAdd( fout );