/*******************************************************************************
* Copyright (c) 2004, 2006 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* QNX Software Systems - Initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.debug.internal.core.model;
import org.eclipse.cdt.debug.core.cdi.CDIException;
import org.eclipse.cdt.debug.core.cdi.model.ICDIValue;
import org.eclipse.cdt.debug.core.cdi.model.type.ICDIDoubleValue;
import org.eclipse.cdt.debug.core.cdi.model.type.ICDIFloatValue;
/**
* Represents a value of a float or double variable type.
*/
public class CFloatingPointValue extends CValue {
private Number fFloatingPointValue;
/**
* Constructor for CFloatingPointValue.
*/
public CFloatingPointValue( CVariable parent, ICDIValue cdiValue ) {
super( parent, cdiValue );
}
public Number getFloatingPointValue() throws CDIException {
if ( fFloatingPointValue == null ) {
ICDIValue cdiValue = getUnderlyingValue();
if ( cdiValue instanceof ICDIDoubleValue ) {
fFloatingPointValue = new Double( ((ICDIDoubleValue)cdiValue).doubleValue() );
}
else if ( cdiValue instanceof ICDIFloatValue ) {
fFloatingPointValue = new Float( ((ICDIFloatValue)cdiValue).floatValue() );
}
}
return fFloatingPointValue;
}
}