BRDFLafortuneFitting.LevenbergMarquardt.convertToTransformedArg C# (CSharp) Метод

convertToTransformedArg() защищенный Метод

protected convertToTransformedArg ( Vector x, int i ) : double
x Vector
i int
Результат double
        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;
        }