MathematicalFunctionType.java

/*
 * Created on 2007/04/30
 * Copyright (C) 2007 Koga Laboratory. All rights reserved.
 *
 */
package org.mklab.tool.control.system.math;

/**
 * 数学関数の種類を表わす列挙型です。
 * 
 * @author koga
 * @version $Revision: 1.3 $, 2007/04/30
 */
public enum MathematicalFunctionType {
  /** 指数関数 */
  EXP(Messages.getString("MathematicalFunctionType.0"), "exp(u)"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 自然対数関数 */
  LOG(Messages.getString("MathematicalFunctionType.2"), "log(u)"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 常用対数関数 */
  LOG10(Messages.getString("MathematicalFunctionType.4"), "log10(u)"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 常用対数関数 */
  MAGNITUDE2(Messages.getString("MathematicalFunctionType.5"), "|u|^2"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 2乗 */
  SQUARE(Messages.getString("MathematicalFunctionType.10"), "u^2"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 平方根 */
  SQRT(Messages.getString("MathematicalFunctionType.12"), "u^(1/2)"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 累乗 */
  POW(Messages.getString("MathematicalFunctionType.6"), "u1^u2"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 複素共役 */
  CONJ(Messages.getString("MathematicalFunctionType.7"), "u#"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 逆数 */
  RECIPROCAL(Messages.getString("MathematicalFunctionType.14"), "1/u"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 平方和の平方根 */
  HYPOT(Messages.getString("MathematicalFunctionType.9"), "(u1^2+u2^2)^0.5"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 剰余 */
  REM(Messages.getString("MathematicalFunctionType.16"), "u1 % u2"), //$NON-NLS-1$ //$NON-NLS-2$
  /** モジラス */
  MOD(Messages.getString("MathematicalFunctionType.18"), "u1 mod u2"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 10の累乗 */
  TEN_POW(Messages.getString("MathematicalFunctionType.8"), "10^u"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 転置 */
  TRANSPOSE(Messages.getString("MathematicalFunctionType.20"), "u'"), //$NON-NLS-1$ //$NON-NLS-2$
  /** 転置 */
  HERMITIAN(Messages.getString("MathematicalFunctionType.11"), "u#"); //$NON-NLS-1$ //$NON-NLS-2$

  /** 名前 */
  private String name;

  /** 関数 */
  private String function;

  /**
   * 新しく生成された<code>MathematicalFunctionType</code>オブジェクトを初期化します。
   * 
   * @param name 名前
   * @param function 関数
   */
  MathematicalFunctionType(final String name, final String function) {
    this.name = name;
    this.function = function;
  }

  /**
   * 名前を返します。
   * 
   * @return 名前
   */
  public String getName() {
    return this.name;
  }

  /**
   * 関数を返します。
   * 
   * @return 関数
   */
  public String getFunction() {
    return this.function;
  }
}