return getDateLocation( sc, new CDateTime( (Calendar) oValue ) );
double dValue = iv.getValueAsDouble( sc ); if ( dValue == 0 ) { return sc.getStart( ); } if ( dValue < 0 ) { return sc.getStart( ); } double dMinimumLog = Math.log( asDouble( sc.getMinimum( ) ).doubleValue( ) ) / LOG_10; double dStepLog = Math.log( asDouble( sc.getStep( ) ).doubleValue( ) ) / LOG_10; double dValueLog = Math.log( dValue ) / LOG_10; return da[0] - ( ( ( dValueLog - dMinimumLog ) / dStepLog ) * ( da[0] - da[1] ) );
	public static final double getLocation( AutoScale sc, Object oValue )			throws ChartException, IllegalArgumentException	{		if ( oValue == null )		{			throw new IllegalArgumentException( MessageFormat.format( ResourceBundle.getBundle( Messages.ENGINE,					sc.getRunTimeContext( ).getLocale( ) )					.getString( "exception.scale.null.location" ), //$NON-NLS-1$					new Object[]{						sc					} )			);		}		if ( oValue instanceof Double )		{			return getLocation( sc, ( (Double) oValue ).doubleValue( ) );		}		else if ( oValue instanceof Calendar )		{			return getDateLocation( sc, new CDateTime( (Calendar) oValue ) );		}		else if ( oValue instanceof NumberDataElement )		{			return getLocation( sc, ( (NumberDataElement) oValue ).getValue( ) );		}		else if ( oValue instanceof DateTimeDataElement )		{			return getDateLocation( sc,					( (DateTimeDataElement) oValue ).getValueAsCDateTime( ) );		}		/*		 * DefaultLoggerImpl.instance().log(ILogger.WARNING, "Unexpected data		 * type {0}[value={1}] specified" + oValue.getClass().getName() + oValue );		 */// i18n_CONCATENATIONS_REMOVED		return sc.getStart( ); // RETURNS THE START EDGE OF THE SCALE	}