protected double convertToTransformedArg( Vector x, int i )
{
double y = 0.0;
// // the lower bound has been set
// if (lowerBoolVector[i])
// {
// // the upper bound has also been set
// if (upperBoolVector[i])
// {
// if ( x[i]>=upperBounds[i] || x[i]<=lowerBounds[i] )
// {
// cerr << endl;
// cerr << "Problem in TxBounds::convertToTransformedArg():";
// cerr << endl;
// cerr << " x[" << i << "] = " << x[i] << endl;
// cerr << " l[" << i << "] = " << lowerBounds[i] << endl;
// cerr << " u[" << i << "] = " << upperBounds[i] << endl;
// cerr << endl;
// }
//
// if ( x[i] > xMid[i] )
// y = alphaSq[i] * log( alphaSq[i] / (upperBounds[i]-x[i]) );
// else
// y = alphaSq[i] * log( (x[i]-lowerBounds[i]) / alphaSq[i] );
// }
// else
// { // the upper bound has NOT been set
//
// if (x[i]<=lowerBounds[i])
// {
// cerr << endl;
// cerr << "Problem in TxBounds::convertToTransformedArg():";
// cerr << endl;
// cerr << " x[" << i << "] = " << x[i] << endl;
// cerr << " l[" << i << "] = " << lowerBounds[i] << endl;
// cerr << endl;
// }
//
// if ( x[i] >= lowerBounds[i]+alphaSq[i] )
// y = x[i] - lowerBounds[i] - alphaSq[i];
// else
// y = alphaSq[i] * log( (x[i]-lowerBounds[i]) / alphaSq[i] );
// }
// }
// else
// { // the lower bound has NOT been set
// if ( upperBoolVector[i] )
// { // the upper bound HAS been set
// if (x[i]>=upperBounds[i])
// {
// cerr << endl;
// cerr << "Problem in TxBounds::convertToTransformedArg():";
// cerr << endl;
// cerr << " x[" << i << "] = " << x[i] << endl;
// cerr << " u[" << i << "] = " << upperBounds[i] << endl;
// cerr << endl;
// }
//
// if ( x[i] <= upperBounds[i]-alphaSq[i] )
// y = x[i] - upperBounds[i] + alphaSq[i];
// else
// y = alphaSq[i] * log( alphaSq[i] / (upperBounds[i]-x[i]) );
// }
// else
// y = x[i]; // NEITHER the upper bound NOR the lower bound have been set
// }
return y;
}