META-INF/
META-INF/MANIFEST.MF
org/
org/javia/
org/javia/arity/
org/javia/arity/Compiler.class
Compiler.java
package org.javia.arity
org.javia.arity.Compiler extends java.lang.Object {
private final org.javia.arity.SyntaxException exception
private final org.javia.arity.Lexer lexer
private final org.javia.arity.RPN rpn
private final org.javia.arity.DeclarationParser declParser
private final org.javia.arity.OptCodeGen codeGen
private final org.javia.arity.SimpleCodeGen simpleCodeGen
private final org.javia.arity.Declaration decl
void <init> ()
org.javia.arity.Function compileSimple (org.javia.arity.Symbols, java.lang.String) throws org.javia.arity.SyntaxException
org.javia.arity.Function compile (org.javia.arity.Symbols, java.lang.String) throws org.javia.arity.SyntaxException
org.javia.arity.FunctionAndName compileWithName (org.javia.arity.Symbols, java.lang.String) throws org.javia.arity.SyntaxException
}
org/javia/arity/EvalCase.class
UnitTest.java
package org.javia.arity
org.javia.arity.EvalCase extends java.lang.Object {
String expr
double result
org.javia.arity.Complex cResult
static final double ERR
static final double FUN
void <init> (java.lang.String, double)
void <init> (java.lang.String, org.javia.arity.Complex)
}
org/javia/arity/Complex.class
Complex.java
package org.javia.arity
public org.javia.arity.Complex extends java.lang.Object {
public double re
public double im
public void <init> ()
public void <init> (double, double)
public void <init> (org.javia.arity.Complex)
public org.javia.arity.Complex set (double, double)
public org.javia.arity.Complex set (org.javia.arity.Complex)
public java.lang.String toString ()
public double asReal ()
public final org.javia.arity.Complex conjugate ()
public final org.javia.arity.Complex negate ()
public final boolean isInfinite ()
public final boolean isFinite ()
public final boolean isNaN ()
public final boolean equals (org.javia.arity.Complex)
public final double arg ()
public final double abs ()
public final double abs2 ()
public final org.javia.arity.Complex add (org.javia.arity.Complex)
public final org.javia.arity.Complex sub (org.javia.arity.Complex)
org.javia.arity.Complex mul (double)
public final org.javia.arity.Complex mul (org.javia.arity.Complex)
public final org.javia.arity.Complex div (org.javia.arity.Complex)
public final org.javia.arity.Complex sqrt ()
public final org.javia.arity.Complex mod (org.javia.arity.Complex)
public final org.javia.arity.Complex gcd (org.javia.arity.Complex)
public final org.javia.arity.Complex log ()
public final org.javia.arity.Complex exp ()
public final org.javia.arity.Complex square ()
public final org.javia.arity.Complex pow (org.javia.arity.Complex)
public final org.javia.arity.Complex lgamma ()
public final org.javia.arity.Complex factorial ()
public final org.javia.arity.Complex sin ()
public final org.javia.arity.Complex sinh ()
public final org.javia.arity.Complex cos ()
public final org.javia.arity.Complex cosh ()
public final org.javia.arity.Complex tan ()
public final org.javia.arity.Complex tanh ()
public final org.javia.arity.Complex asin ()
public final org.javia.arity.Complex acos ()
public final org.javia.arity.Complex atan ()
public final org.javia.arity.Complex asinh ()
public final org.javia.arity.Complex acosh ()
public final org.javia.arity.Complex atanh ()
public final org.javia.arity.Complex combinations (org.javia.arity.Complex)
public final org.javia.arity.Complex permutations (org.javia.arity.Complex)
private final org.javia.arity.Complex swap ()
private final org.javia.arity.Complex normalizeInfinity ()
private final org.javia.arity.Complex sqrt1z ()
}
org/javia/arity/RPN.class
RPN.java
package org.javia.arity
org.javia.arity.RPN extends org.javia.arity.TokenConsumer {
java.util.Stack stack
int prevTokenId
org.javia.arity.TokenConsumer consumer
org.javia.arity.SyntaxException exception
void <init> (org.javia.arity.SyntaxException)
void setConsumer (org.javia.arity.TokenConsumer)
void start ()
private org.javia.arity.Token top ()
private void popHigher (int) throws org.javia.arity.SyntaxException
static final boolean isOperand (int)
void push (org.javia.arity.Token) throws org.javia.arity.SyntaxException
}
org/javia/arity/MoreMath.class
MoreMath.java
package org.javia.arity
org.javia.arity.MoreMath extends java.lang.Object {
private static final double LOG2E
static final double[] GAMMA
static final double[] FACT
void <init> ()
public static final double asinh (double)
public static final double acosh (double)
public static final double atanh (double)
public static final double trunc (double)
public static final double gcd (double, double)
public static final double lgamma (double)
public static final double factorial (double)
public static final double combinations (double, double)
public static final double permutations (double, double)
public static final double log2 (double)
private static final boolean isPiMultiple (double)
public static final double sin (double)
public static final double cos (double)
public static final double tan (double)
public static final int intLog10 (double)
public static final double intExp10 (int)
static void <clinit> ()
}
org/javia/arity/OptCodeGen.class
OptCodeGen.java
package org.javia.arity
org.javia.arity.OptCodeGen extends org.javia.arity.SimpleCodeGen {
org.javia.arity.EvalContext context
int sp
org.javia.arity.Complex[] stack
double[] traceConstsRe
double[] traceConstsIm
org.javia.arity.Function[] traceFuncs
byte[] traceCode
org.javia.arity.CompiledFunction tracer
int intrinsicArity
private boolean isPercent
void <init> (org.javia.arity.SyntaxException)
void start ()
void push (org.javia.arity.Token) throws org.javia.arity.SyntaxException
org.javia.arity.CompiledFunction getFun (int)
}
org/javia/arity/Token.class
Token.java
package org.javia.arity
org.javia.arity.Token extends java.lang.Object {
static final int PREFIX
static final int LEFT
static final int RIGHT
static final int SUFIX
final int priority
final int assoc
final int id
final byte vmop
double value
String name
int arity
int position
void <init> (int, int, int, int)
org.javia.arity.Token setPos (int)
org.javia.arity.Token setValue (double)
org.javia.arity.Token setAlpha (java.lang.String)
public boolean isDerivative ()
public java.lang.String toString ()
}
org/javia/arity/Declaration.class
Declaration.java
package org.javia.arity
org.javia.arity.Declaration extends java.lang.Object {
private static final String[] NO_ARGS
String name
String[] args
int arity
String expression
void <init> ()
void parse (java.lang.String, org.javia.arity.Lexer, org.javia.arity.DeclarationParser) throws org.javia.arity.SyntaxException
static void <clinit> ()
}
org/javia/arity/UnitTest.class
UnitTest.java
package org.javia.arity
public org.javia.arity.UnitTest extends java.lang.Object {
private static final String[] profileCases
static boolean allOk
static int checkCounter
public void <init> ()
public static void main (java.lang.String[]) throws org.javia.arity.SyntaxException org.javia.arity.ArityException
static void profile (org.javia.arity.Symbols, java.lang.String) throws org.javia.arity.SyntaxException org.javia.arity.ArityException
private static void profile ()
static void runUnitTests ()
static boolean testFrame ()
static boolean equal (org.javia.arity.Complex, org.javia.arity.Complex)
static boolean equal (double, org.javia.arity.Complex)
static boolean equal (double, double)
static void check (double, double)
static void check (org.javia.arity.Complex, org.javia.arity.Complex)
static void check (boolean)
static boolean testRecursiveEval ()
static void <clinit> ()
}
org/javia/arity/Lexer.class
Lexer.java
package org.javia.arity
org.javia.arity.Lexer extends java.lang.Object {
static final int ADD
static final int SUB
static final int MUL
static final int DIV
static final int MOD
static final int UMIN
static final int POWER
static final int FACT
static final int NUMBER
static final int CONST
static final int CALL
static final int COMMA
static final int LPAREN
static final int RPAREN
static final int END
static final int SQRT
static final int PERCENT
static final org.javia.arity.Token TOK_ADD
static final org.javia.arity.Token TOK_SUB
static final org.javia.arity.Token TOK_MUL
static final org.javia.arity.Token TOK_DIV
static final org.javia.arity.Token TOK_MOD
static final org.javia.arity.Token TOK_UMIN
static final org.javia.arity.Token TOK_POWER
static final org.javia.arity.Token TOK_FACT
static final org.javia.arity.Token TOK_PERCENT
static final org.javia.arity.Token TOK_SQRT
static final org.javia.arity.Token TOK_LPAREN
static final org.javia.arity.Token TOK_RPAREN
static final org.javia.arity.Token TOK_COMMA
static final org.javia.arity.Token TOK_END
static final org.javia.arity.Token TOK_NUMBER
static final org.javia.arity.Token TOK_CONST
private static final char UNICODE_MINUS
private static final char UNICODE_MUL
private static final char UNICODE_DIV
private static final char UNICODE_SQRT
private static final String WHITESPACE
private static final char END_MARKER
private char[] input
private int pos
private org.javia.arity.SyntaxException exception
void <init> (org.javia.arity.SyntaxException)
void scan (java.lang.String, org.javia.arity.TokenConsumer) throws org.javia.arity.SyntaxException
private void init (java.lang.String)
org.javia.arity.Token nextToken () throws org.javia.arity.SyntaxException
static void <clinit> ()
}
org/javia/arity/IsComplexException.class
IsComplexException.java
package org.javia.arity
org.javia.arity.IsComplexException extends java.lang.Exception {
void <init> ()
}
org/javia/arity/TestEval.class
UnitTest.java
package org.javia.arity
org.javia.arity.TestEval extends java.lang.Object {
static org.javia.arity.EvalCase[] cases
static org.javia.arity.EvalCase[] casesComplex
void <init> ()
static boolean testEval () throws org.javia.arity.ArityException
static void <clinit> ()
}
org/javia/arity/Symbol.class
Symbol.java
package org.javia.arity
public org.javia.arity.Symbol extends java.lang.Object {
static final int CONST_ARITY
private String name
private int arity
byte op
org.javia.arity.Function fun
double valueRe
double valueIm
boolean isConst
private void <init> (java.lang.String, int, byte, boolean, int)
void <init> (java.lang.String, org.javia.arity.Function)
void <init> (java.lang.String, double, boolean)
void <init> (java.lang.String, double, double, boolean)
static org.javia.arity.Symbol makeArg (java.lang.String, int)
static org.javia.arity.Symbol makeVmOp (java.lang.String, int)
public java.lang.String toString ()
public java.lang.String getName ()
public int getArity ()
static org.javia.arity.Symbol newEmpty (org.javia.arity.Symbol)
boolean isEmpty ()
org.javia.arity.Symbol setKey (java.lang.String, int)
public boolean equals (java.lang.Object)
public int hashCode ()
}
org/javia/arity/VM.class
VM.java
package org.javia.arity
org.javia.arity.VM extends java.lang.Object {
static final byte RESERVED
static final byte CONST
static final byte CALL
static final byte ADD
static final byte SUB
static final byte MUL
static final byte DIV
static final byte MOD
static final byte RND
static final byte UMIN
static final byte POWER
static final byte FACT
static final byte PERCENT
static final byte SQRT
static final byte CBRT
static final byte EXP
static final byte LN
static final byte SIN
static final byte COS
static final byte TAN
static final byte ASIN
static final byte ACOS
static final byte ATAN
static final byte SINH
static final byte COSH
static final byte TANH
static final byte ASINH
static final byte ACOSH
static final byte ATANH
static final byte ABS
static final byte FLOOR
static final byte CEIL
static final byte SIGN
static final byte MIN
static final byte MAX
static final byte GCD
static final byte COMB
static final byte PERM
static final byte LOAD0
static final byte LOAD1
static final byte LOAD2
static final byte LOAD3
static final byte LOAD4
static final String[] opcodeName
static final byte[] arity
static final byte[] builtins
void <init> ()
static void <clinit> ()
}
org/javia/arity/DoubleStack.class
DoubleStack.java
package org.javia.arity
org.javia.arity.DoubleStack extends java.lang.Object {
private double[] re
private double[] im
private int size
void <init> ()
void clear ()
void push (double, double)
void pop (int)
void pop ()
double[] getRe ()
double[] getIm ()
}
org/javia/arity/ContextFunction.class
ContextFunction.java
package org.javia.arity
public abstract org.javia.arity.ContextFunction extends org.javia.arity.Function {
private static org.javia.arity.EvalContext context
private static final double[] NO_ARGS
private static final org.javia.arity.Complex[] NO_ARGS_COMPLEX
public void <init> ()
public abstract double eval (double[], org.javia.arity.EvalContext)
public abstract org.javia.arity.Complex eval (org.javia.arity.Complex[], org.javia.arity.EvalContext)
org.javia.arity.Complex[] toComplex (double[], org.javia.arity.EvalContext)
public double eval ()
public double eval (double)
public double eval (double, double)
public double eval (double[])
public double eval (double, org.javia.arity.EvalContext)
public double eval (double, double, org.javia.arity.EvalContext)
public org.javia.arity.Complex evalComplex ()
public org.javia.arity.Complex eval (org.javia.arity.Complex)
public org.javia.arity.Complex eval (org.javia.arity.Complex, org.javia.arity.Complex)
public org.javia.arity.Complex eval (org.javia.arity.Complex[])
public org.javia.arity.Complex eval (org.javia.arity.Complex, org.javia.arity.EvalContext)
public org.javia.arity.Complex eval (org.javia.arity.Complex, org.javia.arity.Complex, org.javia.arity.EvalContext)
static void <clinit> ()
}
org/javia/arity/FunctionStack.class
FunctionStack.java
package org.javia.arity
org.javia.arity.FunctionStack extends java.lang.Object {
private org.javia.arity.Function[] data
private int size
void <init> ()
void clear ()
void push (org.javia.arity.Function)
org.javia.arity.Function pop ()
org.javia.arity.Function[] toArray ()
}
org/javia/arity/ByteStack.class
ByteStack.java
package org.javia.arity
org.javia.arity.ByteStack extends java.lang.Object {
private byte[] data
private int size
void <init> ()
void clear ()
void push (byte)
byte pop ()
byte[] toArray ()
}
org/javia/arity/DeclarationParser.class
DeclarationParser.java
package org.javia.arity
org.javia.arity.DeclarationParser extends org.javia.arity.TokenConsumer {
static final String[] NO_ARGS
static final int UNKNOWN_ARITY
static final int MAX_ARITY
String name
int arity
java.util.Vector args
private org.javia.arity.SyntaxException exception
void <init> (org.javia.arity.SyntaxException)
void start ()
void push (org.javia.arity.Token) throws org.javia.arity.SyntaxException
java.lang.String[] argNames ()
static void <clinit> ()
}
org/javia/arity/ArityException.class
ArityException.java
package org.javia.arity
public org.javia.arity.ArityException extends java.lang.RuntimeException {
public void <init> (java.lang.String)
public void <init> (int)
}
org/javia/arity/SimpleCodeGen.class
SimpleCodeGen.java
package org.javia.arity
org.javia.arity.SimpleCodeGen extends org.javia.arity.TokenConsumer {
static final org.javia.arity.SyntaxException HAS_ARGUMENTS
org.javia.arity.ByteStack code
org.javia.arity.DoubleStack consts
org.javia.arity.FunctionStack funcs
org.javia.arity.Symbols symbols
org.javia.arity.SyntaxException exception
void <init> (org.javia.arity.SyntaxException)
org.javia.arity.SimpleCodeGen setSymbols (org.javia.arity.Symbols)
void start ()
org.javia.arity.Symbol getSymbol (org.javia.arity.Token) throws org.javia.arity.SyntaxException
void push (org.javia.arity.Token) throws org.javia.arity.SyntaxException
org.javia.arity.CompiledFunction getFun ()
static void <clinit> ()
}
org/javia/arity/CompiledFunction.class
CompiledFunction.java
package org.javia.arity
public org.javia.arity.CompiledFunction extends org.javia.arity.ContextFunction {
private static final org.javia.arity.IsComplexException IS_COMPLEX
private static final java.util.Random random
private static final double[] EMPTY_DOUBLE
private static final org.javia.arity.Function[] EMPTY_FUN
private final double[] constsRe
private final double[] constsIm
private final org.javia.arity.Function[] funcs
private final byte[] code
private final int arity
void <init> (int, byte[], double[], double[], org.javia.arity.Function[])
static org.javia.arity.Function makeOpFunction (int)
public int arity ()
public java.lang.String toString ()
public double eval (double[], org.javia.arity.EvalContext)
private double evalComplexToReal (double[], org.javia.arity.EvalContext)
public org.javia.arity.Complex eval (org.javia.arity.Complex[], org.javia.arity.EvalContext)
private int execReal (org.javia.arity.EvalContext, int) throws org.javia.arity.IsComplexException
private int execComplex (org.javia.arity.EvalContext, int)
int execWithoutCheck (org.javia.arity.EvalContext, int) throws org.javia.arity.IsComplexException
int execWithoutCheckComplex (org.javia.arity.EvalContext, int, int)
static void <clinit> ()
}
org/javia/arity/Constant.class
Constant.java
package org.javia.arity
public org.javia.arity.Constant extends org.javia.arity.Function {
private org.javia.arity.Complex value
public void <init> (org.javia.arity.Complex)
public org.javia.arity.Complex evalComplex ()
public double eval ()
public java.lang.String toString ()
public int arity ()
}
org/javia/arity/SizeCase.class
UnitTest.java
package org.javia.arity
org.javia.arity.SizeCase extends java.lang.Object {
public int size
public String val
public String res
public void <init> (int, java.lang.String, java.lang.String)
}
org/javia/arity/EvalContext.class
EvalContext.java
package org.javia.arity
public org.javia.arity.EvalContext extends java.lang.Object {
static final int MAX_STACK_SIZE
double[] stackRe
final org.javia.arity.Complex[] stackComplex
int stackBase
double[] args1
double[] args2
org.javia.arity.Complex[] args1c
org.javia.arity.Complex[] args2c
public void <init> ()
}
org/javia/arity/MyFun.class
UnitTest.java
package org.javia.arity
org.javia.arity.MyFun extends org.javia.arity.Function {
org.javia.arity.Symbols symbols
org.javia.arity.Function f
void <init> ()
public double eval (double)
public int arity ()
}
org/javia/arity/Function.class
Function.java
package org.javia.arity
public abstract org.javia.arity.Function extends java.lang.Object {
private org.javia.arity.Function cachedDerivate
String comment
public void <init> ()
public abstract int arity ()
public org.javia.arity.Function getDerivative ()
void setDerivative (org.javia.arity.Function)
public double eval ()
public double eval (double)
public double eval (double, double)
public double eval (double[])
public org.javia.arity.Complex evalComplex ()
public org.javia.arity.Complex eval (org.javia.arity.Complex)
public org.javia.arity.Complex eval (org.javia.arity.Complex, org.javia.arity.Complex)
public org.javia.arity.Complex eval (org.javia.arity.Complex[])
public void checkArity (int) throws org.javia.arity.ArityException
}
org/javia/arity/FormatCase.class
UnitTest.java
package org.javia.arity
org.javia.arity.FormatCase extends java.lang.Object {
public int rounding
public double val
public String res
public void <init> (int, double, java.lang.String)
}
org/javia/arity/Symbols.class
Symbols.java
package org.javia.arity
public org.javia.arity.Symbols extends java.lang.Object {
private static final org.javia.arity.Symbol[] builtin
private static org.javia.arity.Symbol shell
private final org.javia.arity.Compiler compiler
private java.util.Hashtable symbols
private java.util.HashSet delta
private java.util.Stack frames
private static final String[] defines
public void <init> ()
public static boolean isDefinition (java.lang.String)
public synchronized double eval (java.lang.String) throws org.javia.arity.SyntaxException
public synchronized org.javia.arity.Complex evalComplex (java.lang.String) throws org.javia.arity.SyntaxException
public synchronized org.javia.arity.FunctionAndName compileWithName (java.lang.String) throws org.javia.arity.SyntaxException
public synchronized org.javia.arity.Function compile (java.lang.String) throws org.javia.arity.SyntaxException
public synchronized void define (java.lang.String, org.javia.arity.Function)
public synchronized void define (org.javia.arity.FunctionAndName)
public synchronized void define (java.lang.String, double)
public synchronized void define (java.lang.String, org.javia.arity.Complex)
public synchronized void pushFrame ()
public synchronized void popFrame ()
public org.javia.arity.Symbol[] getTopFrame ()
public org.javia.arity.Symbol[] getAllSymbols ()
public java.lang.String[] getDictionary ()
void addArguments (java.lang.String[])
void add (org.javia.arity.Symbol)
synchronized org.javia.arity.Symbol lookup (java.lang.String, int)
org.javia.arity.Symbol lookupConst (java.lang.String)
static void <clinit> ()
}
org/javia/arity/TestFormat.class
UnitTest.java
package org.javia.arity
org.javia.arity.TestFormat extends java.lang.Object {
static org.javia.arity.FormatCase[] cases
static org.javia.arity.SizeCase[] sizeCases
void <init> ()
static boolean testFormat ()
static boolean testSizeCases ()
static void <clinit> ()
}
org/javia/arity/Derivative.class
Derivative.java
package org.javia.arity
public org.javia.arity.Derivative extends org.javia.arity.Function {
private final org.javia.arity.Function f
private org.javia.arity.Complex c
private static final double H
private static final double INVH
public void <init> (org.javia.arity.Function) throws org.javia.arity.ArityException
public double eval (double)
public int arity ()
}
org/javia/arity/Util.class
Util.java
package org.javia.arity
public org.javia.arity.Util extends java.lang.Object {
public static final int LEN_UNLIMITED
public static final int FLOAT_PRECISION
public void <init> ()
public static double shortApprox (double, double)
static java.lang.String sizeTruncate (java.lang.String, int)
public static java.lang.String doubleToString (double, int)
public static java.lang.String doubleToString (double, int, int)
public static java.lang.String complexToString (org.javia.arity.Complex, int, int)
}
org/javia/arity/TokenConsumer.class
TokenConsumer.java
package org.javia.arity
abstract org.javia.arity.TokenConsumer extends java.lang.Object {
void <init> ()
void start ()
abstract void push (org.javia.arity.Token) throws org.javia.arity.SyntaxException
}
org/javia/arity/FunctionAndName.class
FunctionAndName.java
package org.javia.arity
public org.javia.arity.FunctionAndName extends java.lang.Object {
public org.javia.arity.Function function
public String name
public void <init> (org.javia.arity.Function, java.lang.String)
}
org/javia/arity/SyntaxException.class
SyntaxException.java
package org.javia.arity
public org.javia.arity.SyntaxException extends java.lang.Exception {
public String expression
public String message
public int position
public void <init> ()
public java.lang.String toString ()
org.javia.arity.SyntaxException set (java.lang.String, int)
}
org/javia/arity/CompiledFunction$1.class
CompiledFunction.java
package org.javia.arity
org.javia.arity.CompiledFunction$1 extends org.javia.arity.Function {
void <init> ()
public int arity ()
public double eval (double)
}