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

📄 addop.java

📁 A framework written in Java for implementing high-level and dynamic languages, compiling them into J
💻 JAVA
字号:
package gnu.jemacs.lang;import gnu.math.*;import gnu.mapping.*;public class AddOp extends ProcedureN{  int plusOrMinus = 1;  public AddOp(String name, int plusOrMinus)  {    setName(name);    this.plusOrMinus = plusOrMinus;  }  public static final AddOp $Pl = new AddOp("+", 1);  public static final AddOp $Mn = new AddOp("-", -1);  public static Object apply2(int plusOrMinus, Object arg1, Object arg2)  {    Numeric num1 = ELisp.asNumber(arg1);    Numeric num2 = ELisp.asNumber(arg2);    return num1.add(num2, plusOrMinus);  }  public static Object $Pl(Object arg1, Object arg2)  {    return apply2(1, arg1, arg2);  }  public static Object $Mn(Object arg1, Object arg2)  {    return apply2(-1, arg1, arg2);  }  public static Object $Mn(Object arg1)  {    return ELisp.asNumber(arg1).neg();  }  public static Object $Pl$V (Object arg1, Object arg2,			       Object arg3, Object[] rest)  {    return applyN(1, apply2(1,apply2(1, arg1, arg2), arg3), rest);  }  public static Object $Mn$V (Object arg1, Object arg2,			       Object arg3, Object[] rest)  {    return applyN(-1, apply2(-1,apply2(-1, arg1, arg2), arg3), rest);  }  public static Object applyN(int plusOrMinus, Object[] args)  {    int len = args.length;    if (len == 0)      return IntNum.zero ();    Object result = args[0];    if (len == 1 && plusOrMinus < 0)      return $Mn(result);    for (int i = 1; i < len; i++)      result = apply2(plusOrMinus, result, args[i]);    return result;  }  public static Object applyN(int plusOrMinus, Object init, Object[] args)  {    int len = args.length;    Object result = init;    for (int i = 0; i < len; i++)      result = apply2(plusOrMinus, result, args[i]);    return result;  }  public Object applyN (Object[] args)  {    return applyN(plusOrMinus, args);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -