Skip to content
Snippets Groups Projects
Commit 6067d0b5 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

Bug nicht reproduzierbar.

Evtl. Kompilation ausser Takt.
parent e66d9ba8
No related branches found
No related tags found
No related merge requests found
== BUGS == == BUGS ==
oi x[,,ni-1]-x[,,0]
index j=102 out of bounds
oi x[,,0]-x[,,ni-1]
i out of range
oi x[,j,ni-1]-x[,j,0]
index j=4294967295 out of bounds
noch einfacher:
fm 9 1 \
x [,,ni-1]
index j=4294967295 out of bounds
- coord name algebra - coord name algebra
- convolutand must not be defined over full energy range - convolutand must not be defined over full energy range
- we need kww with double precision, period. - we need kww with double precision, period.
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
extern bool allow_slow_conv; // TODO unify parameter treatment extern bool allow_slow_conv; // TODO unify parameter treatment
#define DEBUG 0
//***************************************************************************// //***************************************************************************//
//* class CContext *// //* class CContext *//
...@@ -221,8 +222,10 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const ...@@ -221,8 +222,10 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const
} else { } else {
j = ctx.j; j = ctx.j;
} }
if ( j>=f->nJ() ) if ( j==-1 )
throw string( "index j=" + strg(j) + " out of bounds" ); throw "index j not defined";
else if ( j>=f->nJ() )
throw "index j=" + strg(j) + " out of bounds";
// Return k-j-dependent reference (unless done above): // Return k-j-dependent reference (unless done above):
if ( typ == _J ) { if ( typ == _J ) {
...@@ -252,7 +255,8 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const ...@@ -252,7 +255,8 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const
throw string( "missing index i" ); throw string( "missing index i" );
} }
if( i>= sj->size() ) if( i>= sj->size() )
throw string( "i out of range" ); throw "i=" + strg(i) + " exceeds scan size" +
strg(sj->size());
if ( typ == _I ) { if ( typ == _I ) {
ret.set_r( i ); ret.set_r( i );
} else if ( typ == _X ) { } else if ( typ == _X ) {
...@@ -276,7 +280,8 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const ...@@ -276,7 +280,8 @@ void CRef::ref_val( CResult& ret, const CContext& ctx ) const
uint i; uint i;
ti->tree_uival( &i, myctx ); ti->tree_uival( &i, myctx );
if( i >= sj->size() ) if( i >= sj->size() )
throw string( "i out of range" ); throw "i=" + strg(i) + " exceeds scan size" +
strg(sj->size());
if ( typ == _I ) { if ( typ == _I ) {
ret.v[ii] = i; ret.v[ii] = i;
} else if ( typ == _X ) { } else if ( typ == _X ) {
...@@ -741,6 +746,12 @@ void CTree::tree_op( CResult& ret, const CContext& ctx ) const ...@@ -741,6 +746,12 @@ void CTree::tree_op( CResult& ret, const CContext& ctx ) const
} }
} }
} }
if( DEBUG ) {
cout << "tree_op:\n";
for ( uint iarg=0; iarg<narg; ++iarg )
cout << " arg: " << a[iarg].result_info() << "\n";
cout << " res: " << ret.result_info() << "\n";
}
} }
...@@ -761,7 +772,7 @@ void CTree::tree_cev( CResult& ret, const CContext& ctx ) const ...@@ -761,7 +772,7 @@ void CTree::tree_cev( CResult& ret, const CContext& ctx ) const
} }
if ( k==(uint)-1 ) if ( k==(uint)-1 )
throw "missing or invalid k"; throw "missing or invalid k";
if ( k>=NOlm::MOM.size()) else if ( k>=NOlm::MOM.size())
throw "index k=" + strg(k) + " out of bounds"; throw "index k=" + strg(k) + " out of bounds";
// k points to a curve: // k points to a curve:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment