⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iclfloat.java

📁 SRI international 发布的OAA框架软件
💻 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 + -