Here is the statement. I believe that this is using the translation operator, but what is a deal with a message increment?
(*C)(x_i,gi_tn,f)++;
Declaration and Definition C:
std::auto_ptr<conditional_density> C(new conditional_density());
Class declaration conditional_density:
class conditional_density: public datmoConditionalDensity{
public:
static const double l_min, l_max, delta;
static double x_scale[X_COUNT];
double *g_scale;
double *f_scale;
const double g_max;
double total;
int x_count, g_count, f_count;
double *C;
conditional_density( const float pix_per_deg = 30.f ) :
g_max( 0.7f ){
}
double& operator()( int x, int g, int f )
{
assert( (x + g*x_count + f*x_count*g_count >= 0) && (x + g*x_count + f*x_count*g_count < x_count*g_count*f_count) );
return C[x + g*x_count + f*x_count*g_count];
}
};
The parent class datmoConditionalDensityhas only a virtual destructor.
It would be easy to answer this by debugging the code, but this code would not be created under Windows (a bunch of external libraries are required).
source
share