📄 iclfloat.java
字号:
package com.sri.oaa2.icl;
public final class IclFloat extends IclAtomic
{
/// The internal value
protected Double value;
protected void setSign(int i)
{
this.setValueFromDouble(i * this.toDouble());
}
/**
* Create a new IclFloat. You must use setValueFromFloat or setValue
*/
protected IclFloat()
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValueFromFloat(0.0f);
}
/**
* Create a new IclFloat from a float
*/
public IclFloat(float f)
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValueFromFloat(f);
}
public IclFloat(double d)
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValueFromDouble(d);
}
/**
* Create a new IclFloat from a Float object
*/
public IclFloat(Float f)
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValue(new Double(f.doubleValue()));
}
/**
* Create a new IclFloat from a Double object
*/
public IclFloat(Double d)
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValue(d);
}
/**
* Create a new IclFloat from an int
*/
public IclFloat(int id)
{
setType(OaaPrologVocabTokenTypes.FLOAT);
setValueFromFloat(id);
}
/**
* Set the value from a float
*/
protected final void setValueFromFloat(float f)
{
this.setVal(new Double(f));
}
protected final void setValueFromDouble(double d)
{
this.setVal(new Double(d));
}
void setVal(Double d)
{
this.value = d;
this.setCrc(d.hashCode());
}
/**
* Set the value from a Float object
*/
protected final void setValue(Float f)
{
if(f == null) {
throw new NullPointerException("IclFloat(Float) cannot set value from null");
}
this.setVal(new Double(f.doubleValue()));
}
/**
* Set the value from a Double object
*/
protected final void setValue(Double f)
{
if(f == null) {
throw new NullPointerException("IclFloat(Float) cannot set value from null");
}
this.setVal(f);
}
/**
* Get the value as a Float object
*/
protected final Double getValue()
{
return value;
}
/**
* Get the value as a float
*/
public final float toFloat()
{
return getValue().floatValue();
}
/**
* Get the value as a double
*/
public final double toDouble()
{
return getValue().doubleValue();
}
/**
* Get the value as a Float object
*/
public final Float toFloatObject()
{
return new Float(toFloat());
}
/**
* Get the value as a Double object
*/
public final Double toDoubleObject()
{
return getValue();
}
/** Accept the visitor. **/
protected Object accept(OaaPrologVisitor visitor, Object data) {
return visitor.visit(this, data);
}
/**
* @deprecated use toFloat()
*/
public final float iclFloat()
{
return toFloat();
}
public final boolean equals(Object o)
{
if(!(o instanceof IclFloat)) {
return false;
}
IclFloat f = (IclFloat)o;
if(!f.getValue().equals(this.getValue())) {
return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -