diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 651d5d0..0000000 --- a/.cvsignore +++ /dev/null @@ -1,7 +0,0 @@ -.classpath -.project -build -dist -.externalToolBuilders -.settings -disttemp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..20f1a28 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.idea/ +target/ + +.classpath +.project +build/ +dist/ +.externalToolBuilders +.settings/ +disttemp/ + diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c6feb8b Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..6637ced --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1 @@ +distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip \ No newline at end of file diff --git a/lib/Jama-1.0.2.jar b/lib/Jama-1.0.2.jar deleted file mode 100644 index 824d133..0000000 Binary files a/lib/Jama-1.0.2.jar and /dev/null differ diff --git a/lib/junit.jar b/lib/junit.jar deleted file mode 100644 index 914a5cf..0000000 Binary files a/lib/junit.jar and /dev/null differ diff --git a/mvnw b/mvnw new file mode 100755 index 0000000..6ecc150 --- /dev/null +++ b/mvnw @@ -0,0 +1,236 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven2 Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # + # Look for the Apple JDKs first to preserve the existing behaviour, and then look + # for the new JDKs provided by Oracle. + # + if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then + # + # Apple JDKs + # + export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home + fi + + if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then + # + # Apple JDKs + # + export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home + fi + + if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then + # + # Oracle JDKs + # + export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home + fi + + if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then + # + # Apple JDKs + # + export JAVA_HOME=`/usr/libexec/java_home` + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Migwn, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + # TODO classpath? +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + local basedir=$(pwd) + local wdir=$(pwd) + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + wdir=$(cd "$wdir/.."; pwd) + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# avoid using MAVEN_CMD_LINE_ARGS below since that would loose parameter escaping in $@ +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..8bb8275 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,146 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven2 Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +set MAVEN_CMD_LINE_ARGS=%MAVEN_CONFIG% %* + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" + +set WRAPPER_JAR=""%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# avoid using MAVEN_CMD_LINE_ARGS below since that would loose parameter escaping in %* +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..9c3e073 --- /dev/null +++ b/pom.xml @@ -0,0 +1,75 @@ + + 4.0.0 + + com.github.cstroe + JEP + 2.4.2-SNAPSHOT + jar + + + UTF-8 + 1.8 + 5.0.0-M3 + 1.0.0-M3 + + + + + + maven-compiler-plugin + 3.1 + + ${java.version} + ${java.version} + + + + maven-surefire-plugin + 2.19.1 + + + **/Test*.java + **/*Test.java + **/*Tests.java + **/*TestCase.java + + + + + org.junit.platform + junit-platform-surefire-provider + ${junit.platform.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit.jupiter.version} + + + + + + + + + com.github.cstroe + jama + 1.0.4-SNAPSHOT + + + org.junit.jupiter + junit-jupiter-api + ${junit.jupiter.version} + test + + + org.hamcrest + hamcrest-all + 1.3 + test + + + diff --git a/bin/AllTests.bat b/src/main/bin/AllTests.bat similarity index 100% rename from bin/AllTests.bat rename to src/main/bin/AllTests.bat diff --git a/bin/AllTests.sh b/src/main/bin/AllTests.sh similarity index 100% rename from bin/AllTests.sh rename to src/main/bin/AllTests.sh diff --git a/bin/Console.bat b/src/main/bin/Console.bat similarity index 100% rename from bin/Console.bat rename to src/main/bin/Console.bat diff --git a/bin/Console.sh b/src/main/bin/Console.sh similarity index 100% rename from bin/Console.sh rename to src/main/bin/Console.sh diff --git a/bin/Evaluator.bat b/src/main/bin/Evaluator.bat similarity index 100% rename from bin/Evaluator.bat rename to src/main/bin/Evaluator.bat diff --git a/bin/Evaluator.sh b/src/main/bin/Evaluator.sh similarity index 100% rename from bin/Evaluator.sh rename to src/main/bin/Evaluator.sh diff --git a/bin/Fractal.bat b/src/main/bin/Fractal.bat similarity index 100% rename from bin/Fractal.bat rename to src/main/bin/Fractal.bat diff --git a/bin/Fractal.sh b/src/main/bin/Fractal.sh similarity index 100% rename from bin/Fractal.sh rename to src/main/bin/Fractal.sh diff --git a/bin/FunctionPlotter.bat b/src/main/bin/FunctionPlotter.bat similarity index 100% rename from bin/FunctionPlotter.bat rename to src/main/bin/FunctionPlotter.bat diff --git a/bin/JEPTest.bat b/src/main/bin/JEPTest.bat similarity index 100% rename from bin/JEPTest.bat rename to src/main/bin/JEPTest.bat diff --git a/bin/JEPTest.sh b/src/main/bin/JEPTest.sh similarity index 100% rename from bin/JEPTest.sh rename to src/main/bin/JEPTest.sh diff --git a/bin/ThreadTest.bat b/src/main/bin/ThreadTest.bat similarity index 100% rename from bin/ThreadTest.bat rename to src/main/bin/ThreadTest.bat diff --git a/bin/ThreadTest.sh b/src/main/bin/ThreadTest.sh similarity index 100% rename from bin/ThreadTest.sh rename to src/main/bin/ThreadTest.sh diff --git a/doc/.cvsignore b/src/main/doc/.cvsignore similarity index 100% rename from doc/.cvsignore rename to src/main/doc/.cvsignore diff --git a/doc/Library/top bar.lbi b/src/main/doc/Library/top bar.lbi similarity index 100% rename from doc/Library/top bar.lbi rename to src/main/doc/Library/top bar.lbi diff --git a/doc/Templates/maintemplate.dwt b/src/main/doc/Templates/maintemplate.dwt similarity index 100% rename from doc/Templates/maintemplate.dwt rename to src/main/doc/Templates/maintemplate.dwt diff --git a/doc/html/CustFunc.java b/src/main/doc/html/CustFunc.java similarity index 100% rename from doc/html/CustFunc.java rename to src/main/doc/html/CustFunc.java diff --git a/doc/html/Half.java b/src/main/doc/html/Half.java similarity index 100% rename from doc/html/Half.java rename to src/main/doc/html/Half.java diff --git a/doc/html/advanced.html b/src/main/doc/html/advanced.html similarity index 100% rename from doc/html/advanced.html rename to src/main/doc/html/advanced.html diff --git a/doc/html/extensions/djep.html b/src/main/doc/html/extensions/djep.html similarity index 100% rename from doc/html/extensions/djep.html rename to src/main/doc/html/extensions/djep.html diff --git a/doc/html/extensions/groupjep.html b/src/main/doc/html/extensions/groupjep.html similarity index 100% rename from doc/html/extensions/groupjep.html rename to src/main/doc/html/extensions/groupjep.html diff --git a/doc/html/extensions/index.html b/src/main/doc/html/extensions/index.html similarity index 100% rename from doc/html/extensions/index.html rename to src/main/doc/html/extensions/index.html diff --git a/doc/html/extensions/rpe.html b/src/main/doc/html/extensions/rpe.html similarity index 100% rename from doc/html/extensions/rpe.html rename to src/main/doc/html/extensions/rpe.html diff --git a/doc/html/extensions/vectorjep.html b/src/main/doc/html/extensions/vectorjep.html similarity index 100% rename from doc/html/extensions/vectorjep.html rename to src/main/doc/html/extensions/vectorjep.html diff --git a/doc/html/extensions/version.html b/src/main/doc/html/extensions/version.html similarity index 100% rename from doc/html/extensions/version.html rename to src/main/doc/html/extensions/version.html diff --git a/doc/html/extensions/xjep.html b/src/main/doc/html/extensions/xjep.html similarity index 100% rename from doc/html/extensions/xjep.html rename to src/main/doc/html/extensions/xjep.html diff --git a/doc/html/faq.html b/src/main/doc/html/faq.html similarity index 100% rename from doc/html/faq.html rename to src/main/doc/html/faq.html diff --git a/doc/html/functions.html b/src/main/doc/html/functions.html similarity index 100% rename from doc/html/functions.html rename to src/main/doc/html/functions.html diff --git a/doc/html/grammar.html b/src/main/doc/html/grammar.html similarity index 100% rename from doc/html/grammar.html rename to src/main/doc/html/grammar.html diff --git a/doc/html/img/.cvsignore b/src/main/doc/html/img/.cvsignore similarity index 100% rename from doc/html/img/.cvsignore rename to src/main/doc/html/img/.cvsignore diff --git a/doc/html/img/checkmark.gif b/src/main/doc/html/img/checkmark.gif similarity index 100% rename from doc/html/img/checkmark.gif rename to src/main/doc/html/img/checkmark.gif diff --git a/doc/html/img/new-window-icon.gif b/src/main/doc/html/img/new-window-icon.gif similarity index 100% rename from doc/html/img/new-window-icon.gif rename to src/main/doc/html/img/new-window-icon.gif diff --git a/doc/html/img/top.gif b/src/main/doc/html/img/top.gif similarity index 100% rename from doc/html/img/top.gif rename to src/main/doc/html/img/top.gif diff --git a/doc/html/index.html b/src/main/doc/html/index.html similarity index 100% rename from doc/html/index.html rename to src/main/doc/html/index.html diff --git a/doc/html/main.css b/src/main/doc/html/main.css similarity index 100% rename from doc/html/main.css rename to src/main/doc/html/main.css diff --git a/doc/html/operators.html b/src/main/doc/html/operators.html similarity index 100% rename from doc/html/operators.html rename to src/main/doc/html/operators.html diff --git a/doc/html/types.html b/src/main/doc/html/types.html similarity index 100% rename from doc/html/types.html rename to src/main/doc/html/types.html diff --git a/doc/html/variables.html b/src/main/doc/html/variables.html similarity index 100% rename from doc/html/variables.html rename to src/main/doc/html/variables.html diff --git a/doc/html/version.html b/src/main/doc/html/version.html similarity index 100% rename from doc/html/version.html rename to src/main/doc/html/version.html diff --git a/src/org/lsmp/djep/djep/DJep.java b/src/main/java/org/lsmp/djep/djep/DJep.java similarity index 100% rename from src/org/lsmp/djep/djep/DJep.java rename to src/main/java/org/lsmp/djep/djep/DJep.java diff --git a/src/org/lsmp/djep/djep/DPrintVisitor.java b/src/main/java/org/lsmp/djep/djep/DPrintVisitor.java similarity index 100% rename from src/org/lsmp/djep/djep/DPrintVisitor.java rename to src/main/java/org/lsmp/djep/djep/DPrintVisitor.java diff --git a/src/org/lsmp/djep/djep/DSymbolTable.java b/src/main/java/org/lsmp/djep/djep/DSymbolTable.java similarity index 100% rename from src/org/lsmp/djep/djep/DSymbolTable.java rename to src/main/java/org/lsmp/djep/djep/DSymbolTable.java diff --git a/src/org/lsmp/djep/djep/DVariable.java b/src/main/java/org/lsmp/djep/djep/DVariable.java similarity index 100% rename from src/org/lsmp/djep/djep/DVariable.java rename to src/main/java/org/lsmp/djep/djep/DVariable.java diff --git a/src/org/lsmp/djep/djep/DVariableFactory.java b/src/main/java/org/lsmp/djep/djep/DVariableFactory.java similarity index 100% rename from src/org/lsmp/djep/djep/DVariableFactory.java rename to src/main/java/org/lsmp/djep/djep/DVariableFactory.java diff --git a/src/org/lsmp/djep/djep/Diff.java b/src/main/java/org/lsmp/djep/djep/Diff.java similarity index 100% rename from src/org/lsmp/djep/djep/Diff.java rename to src/main/java/org/lsmp/djep/djep/Diff.java diff --git a/src/org/lsmp/djep/djep/DiffRulesI.java b/src/main/java/org/lsmp/djep/djep/DiffRulesI.java similarity index 100% rename from src/org/lsmp/djep/djep/DiffRulesI.java rename to src/main/java/org/lsmp/djep/djep/DiffRulesI.java diff --git a/src/org/lsmp/djep/djep/DifferentiationVisitor.java b/src/main/java/org/lsmp/djep/djep/DifferentiationVisitor.java similarity index 100% rename from src/org/lsmp/djep/djep/DifferentiationVisitor.java rename to src/main/java/org/lsmp/djep/djep/DifferentiationVisitor.java diff --git a/src/org/lsmp/djep/djep/PartialDerivative.java b/src/main/java/org/lsmp/djep/djep/PartialDerivative.java similarity index 100% rename from src/org/lsmp/djep/djep/PartialDerivative.java rename to src/main/java/org/lsmp/djep/djep/PartialDerivative.java diff --git a/src/org/lsmp/djep/djep/diffRules/AdditionDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/AdditionDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/AdditionDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/AdditionDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/ChainRuleDiffRules.java b/src/main/java/org/lsmp/djep/djep/diffRules/ChainRuleDiffRules.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/ChainRuleDiffRules.java rename to src/main/java/org/lsmp/djep/djep/diffRules/ChainRuleDiffRules.java diff --git a/src/org/lsmp/djep/djep/diffRules/DivideDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/DivideDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/DivideDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/DivideDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/MacroDiffRules.java b/src/main/java/org/lsmp/djep/djep/diffRules/MacroDiffRules.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/MacroDiffRules.java rename to src/main/java/org/lsmp/djep/djep/diffRules/MacroDiffRules.java diff --git a/src/org/lsmp/djep/djep/diffRules/MacroFunctionDiffRules.java b/src/main/java/org/lsmp/djep/djep/diffRules/MacroFunctionDiffRules.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/MacroFunctionDiffRules.java rename to src/main/java/org/lsmp/djep/djep/diffRules/MacroFunctionDiffRules.java diff --git a/src/org/lsmp/djep/djep/diffRules/MultiplyDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/MultiplyDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/MultiplyDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/MultiplyDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/PassThroughDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/PassThroughDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/PassThroughDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/PassThroughDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/PowerDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/PowerDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/PowerDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/PowerDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/SubtractDiffRule.java b/src/main/java/org/lsmp/djep/djep/diffRules/SubtractDiffRule.java similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/SubtractDiffRule.java rename to src/main/java/org/lsmp/djep/djep/diffRules/SubtractDiffRule.java diff --git a/src/org/lsmp/djep/djep/diffRules/package.html b/src/main/java/org/lsmp/djep/djep/diffRules/package.html similarity index 100% rename from src/org/lsmp/djep/djep/diffRules/package.html rename to src/main/java/org/lsmp/djep/djep/diffRules/package.html diff --git a/src/org/lsmp/djep/djep/package.html b/src/main/java/org/lsmp/djep/djep/package.html similarity index 100% rename from src/org/lsmp/djep/djep/package.html rename to src/main/java/org/lsmp/djep/djep/package.html diff --git a/src/org/lsmp/djep/groupJep/GOperatorSet.java b/src/main/java/org/lsmp/djep/groupJep/GOperatorSet.java similarity index 100% rename from src/org/lsmp/djep/groupJep/GOperatorSet.java rename to src/main/java/org/lsmp/djep/groupJep/GOperatorSet.java diff --git a/src/org/lsmp/djep/groupJep/GroupI.java b/src/main/java/org/lsmp/djep/groupJep/GroupI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/GroupI.java rename to src/main/java/org/lsmp/djep/groupJep/GroupI.java diff --git a/src/org/lsmp/djep/groupJep/GroupJep.java b/src/main/java/org/lsmp/djep/groupJep/GroupJep.java similarity index 100% rename from src/org/lsmp/djep/groupJep/GroupJep.java rename to src/main/java/org/lsmp/djep/groupJep/GroupJep.java diff --git a/src/org/lsmp/djep/groupJep/PolynomialVisitor.java b/src/main/java/org/lsmp/djep/groupJep/PolynomialVisitor.java similarity index 100% rename from src/org/lsmp/djep/groupJep/PolynomialVisitor.java rename to src/main/java/org/lsmp/djep/groupJep/PolynomialVisitor.java diff --git a/src/org/lsmp/djep/groupJep/function/GAdd.java b/src/main/java/org/lsmp/djep/groupJep/function/GAdd.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GAdd.java rename to src/main/java/org/lsmp/djep/groupJep/function/GAdd.java diff --git a/src/org/lsmp/djep/groupJep/function/GComparative.java b/src/main/java/org/lsmp/djep/groupJep/function/GComparative.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GComparative.java rename to src/main/java/org/lsmp/djep/groupJep/function/GComparative.java diff --git a/src/org/lsmp/djep/groupJep/function/GDivide.java b/src/main/java/org/lsmp/djep/groupJep/function/GDivide.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GDivide.java rename to src/main/java/org/lsmp/djep/groupJep/function/GDivide.java diff --git a/src/org/lsmp/djep/groupJep/function/GList.java b/src/main/java/org/lsmp/djep/groupJep/function/GList.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GList.java rename to src/main/java/org/lsmp/djep/groupJep/function/GList.java diff --git a/src/org/lsmp/djep/groupJep/function/GLogical.java b/src/main/java/org/lsmp/djep/groupJep/function/GLogical.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GLogical.java rename to src/main/java/org/lsmp/djep/groupJep/function/GLogical.java diff --git a/src/org/lsmp/djep/groupJep/function/GMod.java b/src/main/java/org/lsmp/djep/groupJep/function/GMod.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GMod.java rename to src/main/java/org/lsmp/djep/groupJep/function/GMod.java diff --git a/src/org/lsmp/djep/groupJep/function/GMultiply.java b/src/main/java/org/lsmp/djep/groupJep/function/GMultiply.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GMultiply.java rename to src/main/java/org/lsmp/djep/groupJep/function/GMultiply.java diff --git a/src/org/lsmp/djep/groupJep/function/GNot.java b/src/main/java/org/lsmp/djep/groupJep/function/GNot.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GNot.java rename to src/main/java/org/lsmp/djep/groupJep/function/GNot.java diff --git a/src/org/lsmp/djep/groupJep/function/GPower.java b/src/main/java/org/lsmp/djep/groupJep/function/GPower.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GPower.java rename to src/main/java/org/lsmp/djep/groupJep/function/GPower.java diff --git a/src/org/lsmp/djep/groupJep/function/GSubtract.java b/src/main/java/org/lsmp/djep/groupJep/function/GSubtract.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GSubtract.java rename to src/main/java/org/lsmp/djep/groupJep/function/GSubtract.java diff --git a/src/org/lsmp/djep/groupJep/function/GUMinus.java b/src/main/java/org/lsmp/djep/groupJep/function/GUMinus.java similarity index 100% rename from src/org/lsmp/djep/groupJep/function/GUMinus.java rename to src/main/java/org/lsmp/djep/groupJep/function/GUMinus.java diff --git a/src/org/lsmp/djep/groupJep/function/package.html b/src/main/java/org/lsmp/djep/groupJep/function/package.html similarity index 100% rename from src/org/lsmp/djep/groupJep/function/package.html rename to src/main/java/org/lsmp/djep/groupJep/function/package.html diff --git a/src/org/lsmp/djep/groupJep/groups/AlgebraicExtension.java b/src/main/java/org/lsmp/djep/groupJep/groups/AlgebraicExtension.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/AlgebraicExtension.java rename to src/main/java/org/lsmp/djep/groupJep/groups/AlgebraicExtension.java diff --git a/src/org/lsmp/djep/groupJep/groups/BigReals.java b/src/main/java/org/lsmp/djep/groupJep/groups/BigReals.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/BigReals.java rename to src/main/java/org/lsmp/djep/groupJep/groups/BigReals.java diff --git a/src/org/lsmp/djep/groupJep/groups/ExtendedFreeGroup.java b/src/main/java/org/lsmp/djep/groupJep/groups/ExtendedFreeGroup.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/ExtendedFreeGroup.java rename to src/main/java/org/lsmp/djep/groupJep/groups/ExtendedFreeGroup.java diff --git a/src/org/lsmp/djep/groupJep/groups/FreeGroup.java b/src/main/java/org/lsmp/djep/groupJep/groups/FreeGroup.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/FreeGroup.java rename to src/main/java/org/lsmp/djep/groupJep/groups/FreeGroup.java diff --git a/src/org/lsmp/djep/groupJep/groups/Group.java b/src/main/java/org/lsmp/djep/groupJep/groups/Group.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Group.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Group.java diff --git a/src/org/lsmp/djep/groupJep/groups/Integers.java b/src/main/java/org/lsmp/djep/groupJep/groups/Integers.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Integers.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Integers.java diff --git a/src/org/lsmp/djep/groupJep/groups/PermutationGroup.java b/src/main/java/org/lsmp/djep/groupJep/groups/PermutationGroup.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/PermutationGroup.java rename to src/main/java/org/lsmp/djep/groupJep/groups/PermutationGroup.java diff --git a/src/org/lsmp/djep/groupJep/groups/Quaternions.java b/src/main/java/org/lsmp/djep/groupJep/groups/Quaternions.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Quaternions.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Quaternions.java diff --git a/src/org/lsmp/djep/groupJep/groups/Rationals.java b/src/main/java/org/lsmp/djep/groupJep/groups/Rationals.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Rationals.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Rationals.java diff --git a/src/org/lsmp/djep/groupJep/groups/Reals.java b/src/main/java/org/lsmp/djep/groupJep/groups/Reals.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Reals.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Reals.java diff --git a/src/org/lsmp/djep/groupJep/groups/Zn.java b/src/main/java/org/lsmp/djep/groupJep/groups/Zn.java similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/Zn.java rename to src/main/java/org/lsmp/djep/groupJep/groups/Zn.java diff --git a/src/org/lsmp/djep/groupJep/groups/package.html b/src/main/java/org/lsmp/djep/groupJep/groups/package.html similarity index 100% rename from src/org/lsmp/djep/groupJep/groups/package.html rename to src/main/java/org/lsmp/djep/groupJep/groups/package.html diff --git a/src/org/lsmp/djep/groupJep/interfaces/AbelianGroupI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/AbelianGroupI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/AbelianGroupI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/AbelianGroupI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/FieldI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/FieldI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/FieldI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/FieldI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/HasDivI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/HasDivI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/HasDivI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/HasDivI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/HasListI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/HasListI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/HasListI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/HasListI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/HasModI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/HasModI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/HasModI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/HasModI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/HasPowerI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/HasPowerI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/HasPowerI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/HasPowerI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/IntegralDomainI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/IntegralDomainI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/IntegralDomainI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/IntegralDomainI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/OrderedSetI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/OrderedSetI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/OrderedSetI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/OrderedSetI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/RingI.java b/src/main/java/org/lsmp/djep/groupJep/interfaces/RingI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/RingI.java rename to src/main/java/org/lsmp/djep/groupJep/interfaces/RingI.java diff --git a/src/org/lsmp/djep/groupJep/interfaces/package.html b/src/main/java/org/lsmp/djep/groupJep/interfaces/package.html similarity index 100% rename from src/org/lsmp/djep/groupJep/interfaces/package.html rename to src/main/java/org/lsmp/djep/groupJep/interfaces/package.html diff --git a/src/org/lsmp/djep/groupJep/package.html b/src/main/java/org/lsmp/djep/groupJep/package.html similarity index 100% rename from src/org/lsmp/djep/groupJep/package.html rename to src/main/java/org/lsmp/djep/groupJep/package.html diff --git a/src/org/lsmp/djep/groupJep/values/AlgebraicExtensionElement.java b/src/main/java/org/lsmp/djep/groupJep/values/AlgebraicExtensionElement.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/AlgebraicExtensionElement.java rename to src/main/java/org/lsmp/djep/groupJep/values/AlgebraicExtensionElement.java diff --git a/src/org/lsmp/djep/groupJep/values/FreeGroupElement.java b/src/main/java/org/lsmp/djep/groupJep/values/FreeGroupElement.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/FreeGroupElement.java rename to src/main/java/org/lsmp/djep/groupJep/values/FreeGroupElement.java diff --git a/src/org/lsmp/djep/groupJep/values/HasComplexValueI.java b/src/main/java/org/lsmp/djep/groupJep/values/HasComplexValueI.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/HasComplexValueI.java rename to src/main/java/org/lsmp/djep/groupJep/values/HasComplexValueI.java diff --git a/src/org/lsmp/djep/groupJep/values/Permutation.java b/src/main/java/org/lsmp/djep/groupJep/values/Permutation.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/Permutation.java rename to src/main/java/org/lsmp/djep/groupJep/values/Permutation.java diff --git a/src/org/lsmp/djep/groupJep/values/Polynomial.java b/src/main/java/org/lsmp/djep/groupJep/values/Polynomial.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/Polynomial.java rename to src/main/java/org/lsmp/djep/groupJep/values/Polynomial.java diff --git a/src/org/lsmp/djep/groupJep/values/Rational.java b/src/main/java/org/lsmp/djep/groupJep/values/Rational.java similarity index 100% rename from src/org/lsmp/djep/groupJep/values/Rational.java rename to src/main/java/org/lsmp/djep/groupJep/values/Rational.java diff --git a/src/org/lsmp/djep/groupJep/values/package.html b/src/main/java/org/lsmp/djep/groupJep/values/package.html similarity index 100% rename from src/org/lsmp/djep/groupJep/values/package.html rename to src/main/java/org/lsmp/djep/groupJep/values/package.html diff --git a/src/org/lsmp/djep/jama/Inverse.java b/src/main/java/org/lsmp/djep/jama/Inverse.java similarity index 100% rename from src/org/lsmp/djep/jama/Inverse.java rename to src/main/java/org/lsmp/djep/jama/Inverse.java diff --git a/src/org/lsmp/djep/jama/JamaUtil.java b/src/main/java/org/lsmp/djep/jama/JamaUtil.java similarity index 100% rename from src/org/lsmp/djep/jama/JamaUtil.java rename to src/main/java/org/lsmp/djep/jama/JamaUtil.java diff --git a/src/org/lsmp/djep/jama/Rank.java b/src/main/java/org/lsmp/djep/jama/Rank.java similarity index 100% rename from src/org/lsmp/djep/jama/Rank.java rename to src/main/java/org/lsmp/djep/jama/Rank.java diff --git a/src/org/lsmp/djep/jama/Solve.java b/src/main/java/org/lsmp/djep/jama/Solve.java similarity index 100% rename from src/org/lsmp/djep/jama/Solve.java rename to src/main/java/org/lsmp/djep/jama/Solve.java diff --git a/src/org/lsmp/djep/jama/package.html b/src/main/java/org/lsmp/djep/jama/package.html similarity index 100% rename from src/org/lsmp/djep/jama/package.html rename to src/main/java/org/lsmp/djep/jama/package.html diff --git a/src/org/lsmp/djep/matrixJep/MatrixEvaluator.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixEvaluator.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixEvaluator.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixEvaluator.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixJep.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixJep.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixJep.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixJep.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixNodeFactory.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixNodeFactory.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixNodeFactory.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixNodeFactory.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixOperatorSet.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixOperatorSet.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixOperatorSet.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixOperatorSet.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixPartialDerivative.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixPartialDerivative.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixPartialDerivative.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixPartialDerivative.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixPreprocessor.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixPreprocessor.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixPreprocessor.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixPreprocessor.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixSpecialEvaluationI.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixSpecialEvaluationI.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixSpecialEvaluationI.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixSpecialEvaluationI.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixVariable.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixVariable.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixVariable.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixVariable.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixVariableFactory.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixVariableFactory.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixVariableFactory.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixVariableFactory.java diff --git a/src/org/lsmp/djep/matrixJep/MatrixVariableI.java b/src/main/java/org/lsmp/djep/matrixJep/MatrixVariableI.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/MatrixVariableI.java rename to src/main/java/org/lsmp/djep/matrixJep/MatrixVariableI.java diff --git a/src/org/lsmp/djep/matrixJep/SpecialPreProcessorI.java b/src/main/java/org/lsmp/djep/matrixJep/SpecialPreProcessorI.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/SpecialPreProcessorI.java rename to src/main/java/org/lsmp/djep/matrixJep/SpecialPreProcessorI.java diff --git a/src/org/lsmp/djep/matrixJep/function/MArrayAccess.java b/src/main/java/org/lsmp/djep/matrixJep/function/MArrayAccess.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MArrayAccess.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MArrayAccess.java diff --git a/src/org/lsmp/djep/matrixJep/function/MAssign.java b/src/main/java/org/lsmp/djep/matrixJep/function/MAssign.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MAssign.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MAssign.java diff --git a/src/org/lsmp/djep/matrixJep/function/MDiff.java b/src/main/java/org/lsmp/djep/matrixJep/function/MDiff.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MDiff.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MDiff.java diff --git a/src/org/lsmp/djep/matrixJep/function/MIf.java b/src/main/java/org/lsmp/djep/matrixJep/function/MIf.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MIf.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MIf.java diff --git a/src/org/lsmp/djep/matrixJep/function/MList.java b/src/main/java/org/lsmp/djep/matrixJep/function/MList.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MList.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MList.java diff --git a/src/org/lsmp/djep/matrixJep/function/MMap.java b/src/main/java/org/lsmp/djep/matrixJep/function/MMap.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MMap.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MMap.java diff --git a/src/org/lsmp/djep/matrixJep/function/MPower.java b/src/main/java/org/lsmp/djep/matrixJep/function/MPower.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MPower.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MPower.java diff --git a/src/org/lsmp/djep/matrixJep/function/MSum.java b/src/main/java/org/lsmp/djep/matrixJep/function/MSum.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/MSum.java rename to src/main/java/org/lsmp/djep/matrixJep/function/MSum.java diff --git a/src/org/lsmp/djep/matrixJep/function/package.html b/src/main/java/org/lsmp/djep/matrixJep/function/package.html similarity index 100% rename from src/org/lsmp/djep/matrixJep/function/package.html rename to src/main/java/org/lsmp/djep/matrixJep/function/package.html diff --git a/src/org/lsmp/djep/matrixJep/nodeTypes/ASTMConstant.java b/src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMConstant.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/nodeTypes/ASTMConstant.java rename to src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMConstant.java diff --git a/src/org/lsmp/djep/matrixJep/nodeTypes/ASTMFunNode.java b/src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMFunNode.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/nodeTypes/ASTMFunNode.java rename to src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMFunNode.java diff --git a/src/org/lsmp/djep/matrixJep/nodeTypes/ASTMVarNode.java b/src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMVarNode.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/nodeTypes/ASTMVarNode.java rename to src/main/java/org/lsmp/djep/matrixJep/nodeTypes/ASTMVarNode.java diff --git a/src/org/lsmp/djep/matrixJep/nodeTypes/MatrixNodeI.java b/src/main/java/org/lsmp/djep/matrixJep/nodeTypes/MatrixNodeI.java similarity index 100% rename from src/org/lsmp/djep/matrixJep/nodeTypes/MatrixNodeI.java rename to src/main/java/org/lsmp/djep/matrixJep/nodeTypes/MatrixNodeI.java diff --git a/src/org/lsmp/djep/matrixJep/nodeTypes/package.html b/src/main/java/org/lsmp/djep/matrixJep/nodeTypes/package.html similarity index 100% rename from src/org/lsmp/djep/matrixJep/nodeTypes/package.html rename to src/main/java/org/lsmp/djep/matrixJep/nodeTypes/package.html diff --git a/src/org/lsmp/djep/matrixJep/package.html b/src/main/java/org/lsmp/djep/matrixJep/package.html similarity index 100% rename from src/org/lsmp/djep/matrixJep/package.html rename to src/main/java/org/lsmp/djep/matrixJep/package.html diff --git a/src/org/lsmp/djep/mrpe/MRpCommandList.java b/src/main/java/org/lsmp/djep/mrpe/MRpCommandList.java similarity index 100% rename from src/org/lsmp/djep/mrpe/MRpCommandList.java rename to src/main/java/org/lsmp/djep/mrpe/MRpCommandList.java diff --git a/src/org/lsmp/djep/mrpe/MRpEval.java b/src/main/java/org/lsmp/djep/mrpe/MRpEval.java similarity index 100% rename from src/org/lsmp/djep/mrpe/MRpEval.java rename to src/main/java/org/lsmp/djep/mrpe/MRpEval.java diff --git a/src/org/lsmp/djep/mrpe/MRpRes.java b/src/main/java/org/lsmp/djep/mrpe/MRpRes.java similarity index 100% rename from src/org/lsmp/djep/mrpe/MRpRes.java rename to src/main/java/org/lsmp/djep/mrpe/MRpRes.java diff --git a/src/org/lsmp/djep/mrpe/package.html b/src/main/java/org/lsmp/djep/mrpe/package.html similarity index 100% rename from src/org/lsmp/djep/mrpe/package.html rename to src/main/java/org/lsmp/djep/mrpe/package.html diff --git a/src/org/lsmp/djep/package.html b/src/main/java/org/lsmp/djep/package.html similarity index 100% rename from src/org/lsmp/djep/package.html rename to src/main/java/org/lsmp/djep/package.html diff --git a/src/org/lsmp/djep/rewrite/AbstractRewrite.java b/src/main/java/org/lsmp/djep/rewrite/AbstractRewrite.java similarity index 100% rename from src/org/lsmp/djep/rewrite/AbstractRewrite.java rename to src/main/java/org/lsmp/djep/rewrite/AbstractRewrite.java diff --git a/src/org/lsmp/djep/rewrite/CollectPowers.java b/src/main/java/org/lsmp/djep/rewrite/CollectPowers.java similarity index 100% rename from src/org/lsmp/djep/rewrite/CollectPowers.java rename to src/main/java/org/lsmp/djep/rewrite/CollectPowers.java diff --git a/src/org/lsmp/djep/rewrite/ExpandBrackets.java b/src/main/java/org/lsmp/djep/rewrite/ExpandBrackets.java similarity index 100% rename from src/org/lsmp/djep/rewrite/ExpandBrackets.java rename to src/main/java/org/lsmp/djep/rewrite/ExpandBrackets.java diff --git a/src/org/lsmp/djep/rewrite/ExpandPower.java b/src/main/java/org/lsmp/djep/rewrite/ExpandPower.java similarity index 100% rename from src/org/lsmp/djep/rewrite/ExpandPower.java rename to src/main/java/org/lsmp/djep/rewrite/ExpandPower.java diff --git a/src/org/lsmp/djep/rewrite/RewriteRuleI.java b/src/main/java/org/lsmp/djep/rewrite/RewriteRuleI.java similarity index 100% rename from src/org/lsmp/djep/rewrite/RewriteRuleI.java rename to src/main/java/org/lsmp/djep/rewrite/RewriteRuleI.java diff --git a/src/org/lsmp/djep/rewrite/RewriteVisitor.java b/src/main/java/org/lsmp/djep/rewrite/RewriteVisitor.java similarity index 100% rename from src/org/lsmp/djep/rewrite/RewriteVisitor.java rename to src/main/java/org/lsmp/djep/rewrite/RewriteVisitor.java diff --git a/src/org/lsmp/djep/rewrite/package.html b/src/main/java/org/lsmp/djep/rewrite/package.html similarity index 100% rename from src/org/lsmp/djep/rewrite/package.html rename to src/main/java/org/lsmp/djep/rewrite/package.html diff --git a/src/org/lsmp/djep/rpe/RpCommand.java b/src/main/java/org/lsmp/djep/rpe/RpCommand.java similarity index 100% rename from src/org/lsmp/djep/rpe/RpCommand.java rename to src/main/java/org/lsmp/djep/rpe/RpCommand.java diff --git a/src/org/lsmp/djep/rpe/RpCommandList.java b/src/main/java/org/lsmp/djep/rpe/RpCommandList.java similarity index 100% rename from src/org/lsmp/djep/rpe/RpCommandList.java rename to src/main/java/org/lsmp/djep/rpe/RpCommandList.java diff --git a/src/org/lsmp/djep/rpe/RpEval.java b/src/main/java/org/lsmp/djep/rpe/RpEval.java similarity index 100% rename from src/org/lsmp/djep/rpe/RpEval.java rename to src/main/java/org/lsmp/djep/rpe/RpEval.java diff --git a/src/org/lsmp/djep/rpe/package.html b/src/main/java/org/lsmp/djep/rpe/package.html similarity index 100% rename from src/org/lsmp/djep/rpe/package.html rename to src/main/java/org/lsmp/djep/rpe/package.html diff --git a/src/org/lsmp/djep/sjep/AbstractPNode.java b/src/main/java/org/lsmp/djep/sjep/AbstractPNode.java similarity index 100% rename from src/org/lsmp/djep/sjep/AbstractPNode.java rename to src/main/java/org/lsmp/djep/sjep/AbstractPNode.java diff --git a/src/org/lsmp/djep/sjep/Monomial.java b/src/main/java/org/lsmp/djep/sjep/Monomial.java similarity index 100% rename from src/org/lsmp/djep/sjep/Monomial.java rename to src/main/java/org/lsmp/djep/sjep/Monomial.java diff --git a/src/org/lsmp/djep/sjep/MutiableMonomial.java b/src/main/java/org/lsmp/djep/sjep/MutiableMonomial.java similarity index 100% rename from src/org/lsmp/djep/sjep/MutiableMonomial.java rename to src/main/java/org/lsmp/djep/sjep/MutiableMonomial.java diff --git a/src/org/lsmp/djep/sjep/MutiablePolynomial.java b/src/main/java/org/lsmp/djep/sjep/MutiablePolynomial.java similarity index 100% rename from src/org/lsmp/djep/sjep/MutiablePolynomial.java rename to src/main/java/org/lsmp/djep/sjep/MutiablePolynomial.java diff --git a/src/org/lsmp/djep/sjep/PConstant.java b/src/main/java/org/lsmp/djep/sjep/PConstant.java similarity index 100% rename from src/org/lsmp/djep/sjep/PConstant.java rename to src/main/java/org/lsmp/djep/sjep/PConstant.java diff --git a/src/org/lsmp/djep/sjep/PFunction.java b/src/main/java/org/lsmp/djep/sjep/PFunction.java similarity index 100% rename from src/org/lsmp/djep/sjep/PFunction.java rename to src/main/java/org/lsmp/djep/sjep/PFunction.java diff --git a/src/org/lsmp/djep/sjep/PNodeI.java b/src/main/java/org/lsmp/djep/sjep/PNodeI.java similarity index 100% rename from src/org/lsmp/djep/sjep/PNodeI.java rename to src/main/java/org/lsmp/djep/sjep/PNodeI.java diff --git a/src/org/lsmp/djep/sjep/POperator.java b/src/main/java/org/lsmp/djep/sjep/POperator.java similarity index 100% rename from src/org/lsmp/djep/sjep/POperator.java rename to src/main/java/org/lsmp/djep/sjep/POperator.java diff --git a/src/org/lsmp/djep/sjep/PVariable.java b/src/main/java/org/lsmp/djep/sjep/PVariable.java similarity index 100% rename from src/org/lsmp/djep/sjep/PVariable.java rename to src/main/java/org/lsmp/djep/sjep/PVariable.java diff --git a/src/org/lsmp/djep/sjep/Polynomial.java b/src/main/java/org/lsmp/djep/sjep/Polynomial.java similarity index 100% rename from src/org/lsmp/djep/sjep/Polynomial.java rename to src/main/java/org/lsmp/djep/sjep/Polynomial.java diff --git a/src/org/lsmp/djep/sjep/PolynomialCreator.java b/src/main/java/org/lsmp/djep/sjep/PolynomialCreator.java similarity index 100% rename from src/org/lsmp/djep/sjep/PolynomialCreator.java rename to src/main/java/org/lsmp/djep/sjep/PolynomialCreator.java diff --git a/src/org/lsmp/djep/sjep/package.html b/src/main/java/org/lsmp/djep/sjep/package.html similarity index 100% rename from src/org/lsmp/djep/sjep/package.html rename to src/main/java/org/lsmp/djep/sjep/package.html diff --git a/src/org/lsmp/djep/vectorJep/Dimensions.java b/src/main/java/org/lsmp/djep/vectorJep/Dimensions.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/Dimensions.java rename to src/main/java/org/lsmp/djep/vectorJep/Dimensions.java diff --git a/src/org/lsmp/djep/vectorJep/VOperatorSet.java b/src/main/java/org/lsmp/djep/vectorJep/VOperatorSet.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/VOperatorSet.java rename to src/main/java/org/lsmp/djep/vectorJep/VOperatorSet.java diff --git a/src/org/lsmp/djep/vectorJep/VectorEvaluator.java b/src/main/java/org/lsmp/djep/vectorJep/VectorEvaluator.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/VectorEvaluator.java rename to src/main/java/org/lsmp/djep/vectorJep/VectorEvaluator.java diff --git a/src/org/lsmp/djep/vectorJep/VectorJep.java b/src/main/java/org/lsmp/djep/vectorJep/VectorJep.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/VectorJep.java rename to src/main/java/org/lsmp/djep/vectorJep/VectorJep.java diff --git a/src/org/lsmp/djep/vectorJep/function/ArrayAccess.java b/src/main/java/org/lsmp/djep/vectorJep/function/ArrayAccess.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/ArrayAccess.java rename to src/main/java/org/lsmp/djep/vectorJep/function/ArrayAccess.java diff --git a/src/org/lsmp/djep/vectorJep/function/BinaryOperatorI.java b/src/main/java/org/lsmp/djep/vectorJep/function/BinaryOperatorI.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/BinaryOperatorI.java rename to src/main/java/org/lsmp/djep/vectorJep/function/BinaryOperatorI.java diff --git a/src/org/lsmp/djep/vectorJep/function/Determinant.java b/src/main/java/org/lsmp/djep/vectorJep/function/Determinant.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Determinant.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Determinant.java diff --git a/src/org/lsmp/djep/vectorJep/function/Diagonal.java b/src/main/java/org/lsmp/djep/vectorJep/function/Diagonal.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Diagonal.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Diagonal.java diff --git a/src/org/lsmp/djep/vectorJep/function/ElementComparative.java b/src/main/java/org/lsmp/djep/vectorJep/function/ElementComparative.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/ElementComparative.java rename to src/main/java/org/lsmp/djep/vectorJep/function/ElementComparative.java diff --git a/src/org/lsmp/djep/vectorJep/function/ElementDivide.java b/src/main/java/org/lsmp/djep/vectorJep/function/ElementDivide.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/ElementDivide.java rename to src/main/java/org/lsmp/djep/vectorJep/function/ElementDivide.java diff --git a/src/org/lsmp/djep/vectorJep/function/ElementMultiply.java b/src/main/java/org/lsmp/djep/vectorJep/function/ElementMultiply.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/ElementMultiply.java rename to src/main/java/org/lsmp/djep/vectorJep/function/ElementMultiply.java diff --git a/src/org/lsmp/djep/vectorJep/function/ExteriorProduct.java b/src/main/java/org/lsmp/djep/vectorJep/function/ExteriorProduct.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/ExteriorProduct.java rename to src/main/java/org/lsmp/djep/vectorJep/function/ExteriorProduct.java diff --git a/src/org/lsmp/djep/vectorJep/function/GenMat.java b/src/main/java/org/lsmp/djep/vectorJep/function/GenMat.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/GenMat.java rename to src/main/java/org/lsmp/djep/vectorJep/function/GenMat.java diff --git a/src/org/lsmp/djep/vectorJep/function/GetDiagonal.java b/src/main/java/org/lsmp/djep/vectorJep/function/GetDiagonal.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/GetDiagonal.java rename to src/main/java/org/lsmp/djep/vectorJep/function/GetDiagonal.java diff --git a/src/org/lsmp/djep/vectorJep/function/Id.java b/src/main/java/org/lsmp/djep/vectorJep/function/Id.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Id.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Id.java diff --git a/src/org/lsmp/djep/vectorJep/function/Length.java b/src/main/java/org/lsmp/djep/vectorJep/function/Length.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Length.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Length.java diff --git a/src/org/lsmp/djep/vectorJep/function/MAdd.java b/src/main/java/org/lsmp/djep/vectorJep/function/MAdd.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MAdd.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MAdd.java diff --git a/src/org/lsmp/djep/vectorJep/function/MDivide.java b/src/main/java/org/lsmp/djep/vectorJep/function/MDivide.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MDivide.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MDivide.java diff --git a/src/org/lsmp/djep/vectorJep/function/MDot.java b/src/main/java/org/lsmp/djep/vectorJep/function/MDot.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MDot.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MDot.java diff --git a/src/org/lsmp/djep/vectorJep/function/MMultiply.java b/src/main/java/org/lsmp/djep/vectorJep/function/MMultiply.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MMultiply.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MMultiply.java diff --git a/src/org/lsmp/djep/vectorJep/function/MSubtract.java b/src/main/java/org/lsmp/djep/vectorJep/function/MSubtract.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MSubtract.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MSubtract.java diff --git a/src/org/lsmp/djep/vectorJep/function/MUMinus.java b/src/main/java/org/lsmp/djep/vectorJep/function/MUMinus.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/MUMinus.java rename to src/main/java/org/lsmp/djep/vectorJep/function/MUMinus.java diff --git a/src/org/lsmp/djep/vectorJep/function/NaryOperatorI.java b/src/main/java/org/lsmp/djep/vectorJep/function/NaryOperatorI.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/NaryOperatorI.java rename to src/main/java/org/lsmp/djep/vectorJep/function/NaryOperatorI.java diff --git a/src/org/lsmp/djep/vectorJep/function/Size.java b/src/main/java/org/lsmp/djep/vectorJep/function/Size.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Size.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Size.java diff --git a/src/org/lsmp/djep/vectorJep/function/Trace.java b/src/main/java/org/lsmp/djep/vectorJep/function/Trace.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Trace.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Trace.java diff --git a/src/org/lsmp/djep/vectorJep/function/Transpose.java b/src/main/java/org/lsmp/djep/vectorJep/function/Transpose.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/Transpose.java rename to src/main/java/org/lsmp/djep/vectorJep/function/Transpose.java diff --git a/src/org/lsmp/djep/vectorJep/function/UnaryOperatorI.java b/src/main/java/org/lsmp/djep/vectorJep/function/UnaryOperatorI.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/UnaryOperatorI.java rename to src/main/java/org/lsmp/djep/vectorJep/function/UnaryOperatorI.java diff --git a/src/org/lsmp/djep/vectorJep/function/VEle.java b/src/main/java/org/lsmp/djep/vectorJep/function/VEle.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VEle.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VEle.java diff --git a/src/org/lsmp/djep/vectorJep/function/VList.java b/src/main/java/org/lsmp/djep/vectorJep/function/VList.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VList.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VList.java diff --git a/src/org/lsmp/djep/vectorJep/function/VMap.java b/src/main/java/org/lsmp/djep/vectorJep/function/VMap.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VMap.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VMap.java diff --git a/src/org/lsmp/djep/vectorJep/function/VPower.java b/src/main/java/org/lsmp/djep/vectorJep/function/VPower.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VPower.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VPower.java diff --git a/src/org/lsmp/djep/vectorJep/function/VRange.java b/src/main/java/org/lsmp/djep/vectorJep/function/VRange.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VRange.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VRange.java diff --git a/src/org/lsmp/djep/vectorJep/function/VSum.java b/src/main/java/org/lsmp/djep/vectorJep/function/VSum.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/VSum.java rename to src/main/java/org/lsmp/djep/vectorJep/function/VSum.java diff --git a/src/org/lsmp/djep/vectorJep/function/package.html b/src/main/java/org/lsmp/djep/vectorJep/function/package.html similarity index 100% rename from src/org/lsmp/djep/vectorJep/function/package.html rename to src/main/java/org/lsmp/djep/vectorJep/function/package.html diff --git a/src/org/lsmp/djep/vectorJep/package.html b/src/main/java/org/lsmp/djep/vectorJep/package.html similarity index 100% rename from src/org/lsmp/djep/vectorJep/package.html rename to src/main/java/org/lsmp/djep/vectorJep/package.html diff --git a/src/org/lsmp/djep/vectorJep/values/MVector.java b/src/main/java/org/lsmp/djep/vectorJep/values/MVector.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/values/MVector.java rename to src/main/java/org/lsmp/djep/vectorJep/values/MVector.java diff --git a/src/org/lsmp/djep/vectorJep/values/Matrix.java b/src/main/java/org/lsmp/djep/vectorJep/values/Matrix.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/values/Matrix.java rename to src/main/java/org/lsmp/djep/vectorJep/values/Matrix.java diff --git a/src/org/lsmp/djep/vectorJep/values/MatrixValueI.java b/src/main/java/org/lsmp/djep/vectorJep/values/MatrixValueI.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/values/MatrixValueI.java rename to src/main/java/org/lsmp/djep/vectorJep/values/MatrixValueI.java diff --git a/src/org/lsmp/djep/vectorJep/values/Scaler.java b/src/main/java/org/lsmp/djep/vectorJep/values/Scaler.java similarity index 93% rename from src/org/lsmp/djep/vectorJep/values/Scaler.java rename to src/main/java/org/lsmp/djep/vectorJep/values/Scaler.java index 64f8471..a7c2071 100644 --- a/src/org/lsmp/djep/vectorJep/values/Scaler.java +++ b/src/main/java/org/lsmp/djep/vectorJep/values/Scaler.java @@ -14,6 +14,7 @@ * TODO don't implement number! So what if a scaler is a boolean */ public class Scaler extends Number implements MatrixValueI { + public static final double PRECISION = 0.00000000000001; private static final long serialVersionUID = 336717881577257953L; Object value; @@ -69,10 +70,13 @@ public boolean equals(Object obj) { if(!(obj instanceof Scaler)) return false; Scaler s = (Scaler) obj; if(!s.getDim().equals(getDim())) return false; - if(!value.equals(s.value)) return false; - return true; + + double diff = Math.abs((Double)value - (Double)s.value); + if(diff > PRECISION) return false; + + return true; } - + /** * Always override hashCode when you override equals. * Effective Java, Joshua Bloch, Sun Press diff --git a/src/org/lsmp/djep/vectorJep/values/Tensor.java b/src/main/java/org/lsmp/djep/vectorJep/values/Tensor.java similarity index 100% rename from src/org/lsmp/djep/vectorJep/values/Tensor.java rename to src/main/java/org/lsmp/djep/vectorJep/values/Tensor.java diff --git a/src/org/lsmp/djep/vectorJep/values/package.html b/src/main/java/org/lsmp/djep/vectorJep/values/package.html similarity index 100% rename from src/org/lsmp/djep/vectorJep/values/package.html rename to src/main/java/org/lsmp/djep/vectorJep/values/package.html diff --git a/src/org/lsmp/djep/xjep/BaseFormat.java b/src/main/java/org/lsmp/djep/xjep/BaseFormat.java similarity index 100% rename from src/org/lsmp/djep/xjep/BaseFormat.java rename to src/main/java/org/lsmp/djep/xjep/BaseFormat.java diff --git a/src/org/lsmp/djep/xjep/CommandVisitor.java b/src/main/java/org/lsmp/djep/xjep/CommandVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/CommandVisitor.java rename to src/main/java/org/lsmp/djep/xjep/CommandVisitor.java diff --git a/src/org/lsmp/djep/xjep/CommandVisitorI.java b/src/main/java/org/lsmp/djep/xjep/CommandVisitorI.java similarity index 100% rename from src/org/lsmp/djep/xjep/CommandVisitorI.java rename to src/main/java/org/lsmp/djep/xjep/CommandVisitorI.java diff --git a/src/org/lsmp/djep/xjep/DeepCopyVisitor.java b/src/main/java/org/lsmp/djep/xjep/DeepCopyVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/DeepCopyVisitor.java rename to src/main/java/org/lsmp/djep/xjep/DeepCopyVisitor.java diff --git a/src/org/lsmp/djep/xjep/DoNothingVisitor.java b/src/main/java/org/lsmp/djep/xjep/DoNothingVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/DoNothingVisitor.java rename to src/main/java/org/lsmp/djep/xjep/DoNothingVisitor.java diff --git a/src/org/lsmp/djep/xjep/ErrorCatchingVisitor.java b/src/main/java/org/lsmp/djep/xjep/ErrorCatchingVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/ErrorCatchingVisitor.java rename to src/main/java/org/lsmp/djep/xjep/ErrorCatchingVisitor.java diff --git a/src/org/lsmp/djep/xjep/Eval.java b/src/main/java/org/lsmp/djep/xjep/Eval.java similarity index 100% rename from src/org/lsmp/djep/xjep/Eval.java rename to src/main/java/org/lsmp/djep/xjep/Eval.java diff --git a/src/org/lsmp/djep/xjep/MacroFunction.java b/src/main/java/org/lsmp/djep/xjep/MacroFunction.java similarity index 100% rename from src/org/lsmp/djep/xjep/MacroFunction.java rename to src/main/java/org/lsmp/djep/xjep/MacroFunction.java diff --git a/src/org/lsmp/djep/xjep/NodeFactory.java b/src/main/java/org/lsmp/djep/xjep/NodeFactory.java similarity index 100% rename from src/org/lsmp/djep/xjep/NodeFactory.java rename to src/main/java/org/lsmp/djep/xjep/NodeFactory.java diff --git a/src/org/lsmp/djep/xjep/PrintVisitor.java b/src/main/java/org/lsmp/djep/xjep/PrintVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/PrintVisitor.java rename to src/main/java/org/lsmp/djep/xjep/PrintVisitor.java diff --git a/src/org/lsmp/djep/xjep/SimplificationVisitor.java b/src/main/java/org/lsmp/djep/xjep/SimplificationVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/SimplificationVisitor.java rename to src/main/java/org/lsmp/djep/xjep/SimplificationVisitor.java diff --git a/src/org/lsmp/djep/xjep/SubstitutionVisitor.java b/src/main/java/org/lsmp/djep/xjep/SubstitutionVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/SubstitutionVisitor.java rename to src/main/java/org/lsmp/djep/xjep/SubstitutionVisitor.java diff --git a/src/org/lsmp/djep/xjep/TreeUtils.java b/src/main/java/org/lsmp/djep/xjep/TreeUtils.java similarity index 100% rename from src/org/lsmp/djep/xjep/TreeUtils.java rename to src/main/java/org/lsmp/djep/xjep/TreeUtils.java diff --git a/src/org/lsmp/djep/xjep/XEvaluatorVisitor.java b/src/main/java/org/lsmp/djep/xjep/XEvaluatorVisitor.java similarity index 100% rename from src/org/lsmp/djep/xjep/XEvaluatorVisitor.java rename to src/main/java/org/lsmp/djep/xjep/XEvaluatorVisitor.java diff --git a/src/org/lsmp/djep/xjep/XJep.java b/src/main/java/org/lsmp/djep/xjep/XJep.java similarity index 100% rename from src/org/lsmp/djep/xjep/XJep.java rename to src/main/java/org/lsmp/djep/xjep/XJep.java diff --git a/src/org/lsmp/djep/xjep/XMath.java b/src/main/java/org/lsmp/djep/xjep/XMath.java similarity index 100% rename from src/org/lsmp/djep/xjep/XMath.java rename to src/main/java/org/lsmp/djep/xjep/XMath.java diff --git a/src/org/lsmp/djep/xjep/XOperator.java b/src/main/java/org/lsmp/djep/xjep/XOperator.java similarity index 100% rename from src/org/lsmp/djep/xjep/XOperator.java rename to src/main/java/org/lsmp/djep/xjep/XOperator.java diff --git a/src/org/lsmp/djep/xjep/XOperatorSet.java b/src/main/java/org/lsmp/djep/xjep/XOperatorSet.java similarity index 100% rename from src/org/lsmp/djep/xjep/XOperatorSet.java rename to src/main/java/org/lsmp/djep/xjep/XOperatorSet.java diff --git a/src/org/lsmp/djep/xjep/XSymbolTable.java b/src/main/java/org/lsmp/djep/xjep/XSymbolTable.java similarity index 100% rename from src/org/lsmp/djep/xjep/XSymbolTable.java rename to src/main/java/org/lsmp/djep/xjep/XSymbolTable.java diff --git a/src/org/lsmp/djep/xjep/XVariable.java b/src/main/java/org/lsmp/djep/xjep/XVariable.java similarity index 100% rename from src/org/lsmp/djep/xjep/XVariable.java rename to src/main/java/org/lsmp/djep/xjep/XVariable.java diff --git a/src/org/lsmp/djep/xjep/XVariableFactory.java b/src/main/java/org/lsmp/djep/xjep/XVariableFactory.java similarity index 100% rename from src/org/lsmp/djep/xjep/XVariableFactory.java rename to src/main/java/org/lsmp/djep/xjep/XVariableFactory.java diff --git a/src/org/lsmp/djep/xjep/function/Define.java b/src/main/java/org/lsmp/djep/xjep/function/Define.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Define.java rename to src/main/java/org/lsmp/djep/xjep/function/Define.java diff --git a/src/org/lsmp/djep/xjep/function/FromBase.java b/src/main/java/org/lsmp/djep/xjep/function/FromBase.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/FromBase.java rename to src/main/java/org/lsmp/djep/xjep/function/FromBase.java diff --git a/src/org/lsmp/djep/xjep/function/Max.java b/src/main/java/org/lsmp/djep/xjep/function/Max.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Max.java rename to src/main/java/org/lsmp/djep/xjep/function/Max.java diff --git a/src/org/lsmp/djep/xjep/function/MaxArg.java b/src/main/java/org/lsmp/djep/xjep/function/MaxArg.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/MaxArg.java rename to src/main/java/org/lsmp/djep/xjep/function/MaxArg.java diff --git a/src/org/lsmp/djep/xjep/function/Min.java b/src/main/java/org/lsmp/djep/xjep/function/Min.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Min.java rename to src/main/java/org/lsmp/djep/xjep/function/Min.java diff --git a/src/org/lsmp/djep/xjep/function/MinArg.java b/src/main/java/org/lsmp/djep/xjep/function/MinArg.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/MinArg.java rename to src/main/java/org/lsmp/djep/xjep/function/MinArg.java diff --git a/src/org/lsmp/djep/xjep/function/Product.java b/src/main/java/org/lsmp/djep/xjep/function/Product.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Product.java rename to src/main/java/org/lsmp/djep/xjep/function/Product.java diff --git a/src/org/lsmp/djep/xjep/function/Simpson.java b/src/main/java/org/lsmp/djep/xjep/function/Simpson.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Simpson.java rename to src/main/java/org/lsmp/djep/xjep/function/Simpson.java diff --git a/src/org/lsmp/djep/xjep/function/Sum.java b/src/main/java/org/lsmp/djep/xjep/function/Sum.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Sum.java rename to src/main/java/org/lsmp/djep/xjep/function/Sum.java diff --git a/src/org/lsmp/djep/xjep/function/SumType.java b/src/main/java/org/lsmp/djep/xjep/function/SumType.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/SumType.java rename to src/main/java/org/lsmp/djep/xjep/function/SumType.java diff --git a/src/org/lsmp/djep/xjep/function/ToBase.java b/src/main/java/org/lsmp/djep/xjep/function/ToBase.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/ToBase.java rename to src/main/java/org/lsmp/djep/xjep/function/ToBase.java diff --git a/src/org/lsmp/djep/xjep/function/Trapezium.java b/src/main/java/org/lsmp/djep/xjep/function/Trapezium.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/Trapezium.java rename to src/main/java/org/lsmp/djep/xjep/function/Trapezium.java diff --git a/src/org/lsmp/djep/xjep/function/XAssign.java b/src/main/java/org/lsmp/djep/xjep/function/XAssign.java similarity index 100% rename from src/org/lsmp/djep/xjep/function/XAssign.java rename to src/main/java/org/lsmp/djep/xjep/function/XAssign.java diff --git a/src/org/lsmp/djep/xjep/function/package.html b/src/main/java/org/lsmp/djep/xjep/function/package.html similarity index 100% rename from src/org/lsmp/djep/xjep/function/package.html rename to src/main/java/org/lsmp/djep/xjep/function/package.html diff --git a/src/org/lsmp/djep/xjep/package.html b/src/main/java/org/lsmp/djep/xjep/package.html similarity index 100% rename from src/org/lsmp/djep/xjep/package.html rename to src/main/java/org/lsmp/djep/xjep/package.html diff --git a/src/org/nfunk/jep/.cvsignore b/src/main/java/org/nfunk/jep/.cvsignore similarity index 100% rename from src/org/nfunk/jep/.cvsignore rename to src/main/java/org/nfunk/jep/.cvsignore diff --git a/src/org/nfunk/jep/ASTConstant.java b/src/main/java/org/nfunk/jep/ASTConstant.java similarity index 100% rename from src/org/nfunk/jep/ASTConstant.java rename to src/main/java/org/nfunk/jep/ASTConstant.java diff --git a/src/org/nfunk/jep/ASTFunNode.java b/src/main/java/org/nfunk/jep/ASTFunNode.java similarity index 100% rename from src/org/nfunk/jep/ASTFunNode.java rename to src/main/java/org/nfunk/jep/ASTFunNode.java diff --git a/src/org/nfunk/jep/ASTStart.java b/src/main/java/org/nfunk/jep/ASTStart.java similarity index 100% rename from src/org/nfunk/jep/ASTStart.java rename to src/main/java/org/nfunk/jep/ASTStart.java diff --git a/src/org/nfunk/jep/ASTVarNode.java b/src/main/java/org/nfunk/jep/ASTVarNode.java similarity index 100% rename from src/org/nfunk/jep/ASTVarNode.java rename to src/main/java/org/nfunk/jep/ASTVarNode.java diff --git a/src/org/nfunk/jep/EvaluatorI.java b/src/main/java/org/nfunk/jep/EvaluatorI.java similarity index 100% rename from src/org/nfunk/jep/EvaluatorI.java rename to src/main/java/org/nfunk/jep/EvaluatorI.java diff --git a/src/org/nfunk/jep/EvaluatorVisitor.java b/src/main/java/org/nfunk/jep/EvaluatorVisitor.java similarity index 100% rename from src/org/nfunk/jep/EvaluatorVisitor.java rename to src/main/java/org/nfunk/jep/EvaluatorVisitor.java diff --git a/src/org/nfunk/jep/FunctionTable.java b/src/main/java/org/nfunk/jep/FunctionTable.java similarity index 100% rename from src/org/nfunk/jep/FunctionTable.java rename to src/main/java/org/nfunk/jep/FunctionTable.java diff --git a/src/org/nfunk/jep/JEP.java b/src/main/java/org/nfunk/jep/JEP.java similarity index 100% rename from src/org/nfunk/jep/JEP.java rename to src/main/java/org/nfunk/jep/JEP.java diff --git a/src/org/nfunk/jep/JJTParserState.java b/src/main/java/org/nfunk/jep/JJTParserState.java similarity index 100% rename from src/org/nfunk/jep/JJTParserState.java rename to src/main/java/org/nfunk/jep/JJTParserState.java diff --git a/src/org/nfunk/jep/JavaCharStream.java b/src/main/java/org/nfunk/jep/JavaCharStream.java similarity index 100% rename from src/org/nfunk/jep/JavaCharStream.java rename to src/main/java/org/nfunk/jep/JavaCharStream.java diff --git a/src/org/nfunk/jep/Node.java b/src/main/java/org/nfunk/jep/Node.java similarity index 100% rename from src/org/nfunk/jep/Node.java rename to src/main/java/org/nfunk/jep/Node.java diff --git a/src/org/nfunk/jep/Operator.java b/src/main/java/org/nfunk/jep/Operator.java similarity index 100% rename from src/org/nfunk/jep/Operator.java rename to src/main/java/org/nfunk/jep/Operator.java diff --git a/src/org/nfunk/jep/OperatorSet.java b/src/main/java/org/nfunk/jep/OperatorSet.java similarity index 100% rename from src/org/nfunk/jep/OperatorSet.java rename to src/main/java/org/nfunk/jep/OperatorSet.java diff --git a/src/org/nfunk/jep/ParseException.java b/src/main/java/org/nfunk/jep/ParseException.java similarity index 100% rename from src/org/nfunk/jep/ParseException.java rename to src/main/java/org/nfunk/jep/ParseException.java diff --git a/src/org/nfunk/jep/Parser.java b/src/main/java/org/nfunk/jep/Parser.java similarity index 100% rename from src/org/nfunk/jep/Parser.java rename to src/main/java/org/nfunk/jep/Parser.java diff --git a/src/org/nfunk/jep/Parser.jjt b/src/main/java/org/nfunk/jep/Parser.jjt similarity index 100% rename from src/org/nfunk/jep/Parser.jjt rename to src/main/java/org/nfunk/jep/Parser.jjt diff --git a/src/org/nfunk/jep/ParserConstants.java b/src/main/java/org/nfunk/jep/ParserConstants.java similarity index 100% rename from src/org/nfunk/jep/ParserConstants.java rename to src/main/java/org/nfunk/jep/ParserConstants.java diff --git a/src/org/nfunk/jep/ParserDumpVisitor.java b/src/main/java/org/nfunk/jep/ParserDumpVisitor.java similarity index 100% rename from src/org/nfunk/jep/ParserDumpVisitor.java rename to src/main/java/org/nfunk/jep/ParserDumpVisitor.java diff --git a/src/org/nfunk/jep/ParserTokenManager.java b/src/main/java/org/nfunk/jep/ParserTokenManager.java similarity index 100% rename from src/org/nfunk/jep/ParserTokenManager.java rename to src/main/java/org/nfunk/jep/ParserTokenManager.java diff --git a/src/org/nfunk/jep/ParserTreeConstants.java b/src/main/java/org/nfunk/jep/ParserTreeConstants.java similarity index 100% rename from src/org/nfunk/jep/ParserTreeConstants.java rename to src/main/java/org/nfunk/jep/ParserTreeConstants.java diff --git a/src/org/nfunk/jep/ParserVisitor.java b/src/main/java/org/nfunk/jep/ParserVisitor.java similarity index 100% rename from src/org/nfunk/jep/ParserVisitor.java rename to src/main/java/org/nfunk/jep/ParserVisitor.java diff --git a/src/org/nfunk/jep/SimpleCharStream.java b/src/main/java/org/nfunk/jep/SimpleCharStream.java similarity index 100% rename from src/org/nfunk/jep/SimpleCharStream.java rename to src/main/java/org/nfunk/jep/SimpleCharStream.java diff --git a/src/org/nfunk/jep/SimpleNode.java b/src/main/java/org/nfunk/jep/SimpleNode.java similarity index 100% rename from src/org/nfunk/jep/SimpleNode.java rename to src/main/java/org/nfunk/jep/SimpleNode.java diff --git a/src/org/nfunk/jep/SymbolTable.java b/src/main/java/org/nfunk/jep/SymbolTable.java similarity index 100% rename from src/org/nfunk/jep/SymbolTable.java rename to src/main/java/org/nfunk/jep/SymbolTable.java diff --git a/src/org/nfunk/jep/Token.java b/src/main/java/org/nfunk/jep/Token.java similarity index 100% rename from src/org/nfunk/jep/Token.java rename to src/main/java/org/nfunk/jep/Token.java diff --git a/src/org/nfunk/jep/TokenMgrError.java b/src/main/java/org/nfunk/jep/TokenMgrError.java similarity index 100% rename from src/org/nfunk/jep/TokenMgrError.java rename to src/main/java/org/nfunk/jep/TokenMgrError.java diff --git a/src/org/nfunk/jep/Variable.java b/src/main/java/org/nfunk/jep/Variable.java similarity index 100% rename from src/org/nfunk/jep/Variable.java rename to src/main/java/org/nfunk/jep/Variable.java diff --git a/src/org/nfunk/jep/VariableFactory.java b/src/main/java/org/nfunk/jep/VariableFactory.java similarity index 100% rename from src/org/nfunk/jep/VariableFactory.java rename to src/main/java/org/nfunk/jep/VariableFactory.java diff --git a/src/org/nfunk/jep/evaluation/CommandElement.java b/src/main/java/org/nfunk/jep/evaluation/CommandElement.java similarity index 100% rename from src/org/nfunk/jep/evaluation/CommandElement.java rename to src/main/java/org/nfunk/jep/evaluation/CommandElement.java diff --git a/src/org/nfunk/jep/evaluation/CommandEvaluator.java b/src/main/java/org/nfunk/jep/evaluation/CommandEvaluator.java similarity index 100% rename from src/org/nfunk/jep/evaluation/CommandEvaluator.java rename to src/main/java/org/nfunk/jep/evaluation/CommandEvaluator.java diff --git a/src/org/nfunk/jep/evaluation/ExpressionCompiler.java b/src/main/java/org/nfunk/jep/evaluation/ExpressionCompiler.java similarity index 100% rename from src/org/nfunk/jep/evaluation/ExpressionCompiler.java rename to src/main/java/org/nfunk/jep/evaluation/ExpressionCompiler.java diff --git a/src/org/nfunk/jep/evaluation/package.html b/src/main/java/org/nfunk/jep/evaluation/package.html similarity index 100% rename from src/org/nfunk/jep/evaluation/package.html rename to src/main/java/org/nfunk/jep/evaluation/package.html diff --git a/src/org/nfunk/jep/function/Abs.java b/src/main/java/org/nfunk/jep/function/Abs.java similarity index 100% rename from src/org/nfunk/jep/function/Abs.java rename to src/main/java/org/nfunk/jep/function/Abs.java diff --git a/src/org/nfunk/jep/function/Add.java b/src/main/java/org/nfunk/jep/function/Add.java similarity index 100% rename from src/org/nfunk/jep/function/Add.java rename to src/main/java/org/nfunk/jep/function/Add.java diff --git a/src/org/nfunk/jep/function/ArcCosine.java b/src/main/java/org/nfunk/jep/function/ArcCosine.java similarity index 100% rename from src/org/nfunk/jep/function/ArcCosine.java rename to src/main/java/org/nfunk/jep/function/ArcCosine.java diff --git a/src/org/nfunk/jep/function/ArcCosineH.java b/src/main/java/org/nfunk/jep/function/ArcCosineH.java similarity index 100% rename from src/org/nfunk/jep/function/ArcCosineH.java rename to src/main/java/org/nfunk/jep/function/ArcCosineH.java diff --git a/src/org/nfunk/jep/function/ArcSine.java b/src/main/java/org/nfunk/jep/function/ArcSine.java similarity index 100% rename from src/org/nfunk/jep/function/ArcSine.java rename to src/main/java/org/nfunk/jep/function/ArcSine.java diff --git a/src/org/nfunk/jep/function/ArcSineH.java b/src/main/java/org/nfunk/jep/function/ArcSineH.java similarity index 100% rename from src/org/nfunk/jep/function/ArcSineH.java rename to src/main/java/org/nfunk/jep/function/ArcSineH.java diff --git a/src/org/nfunk/jep/function/ArcTanH.java b/src/main/java/org/nfunk/jep/function/ArcTanH.java similarity index 100% rename from src/org/nfunk/jep/function/ArcTanH.java rename to src/main/java/org/nfunk/jep/function/ArcTanH.java diff --git a/src/org/nfunk/jep/function/ArcTangent.java b/src/main/java/org/nfunk/jep/function/ArcTangent.java similarity index 100% rename from src/org/nfunk/jep/function/ArcTangent.java rename to src/main/java/org/nfunk/jep/function/ArcTangent.java diff --git a/src/org/nfunk/jep/function/ArcTangent2.java b/src/main/java/org/nfunk/jep/function/ArcTangent2.java similarity index 100% rename from src/org/nfunk/jep/function/ArcTangent2.java rename to src/main/java/org/nfunk/jep/function/ArcTangent2.java diff --git a/src/org/nfunk/jep/function/Arg.java b/src/main/java/org/nfunk/jep/function/Arg.java similarity index 100% rename from src/org/nfunk/jep/function/Arg.java rename to src/main/java/org/nfunk/jep/function/Arg.java diff --git a/src/org/nfunk/jep/function/Assign.java b/src/main/java/org/nfunk/jep/function/Assign.java similarity index 100% rename from src/org/nfunk/jep/function/Assign.java rename to src/main/java/org/nfunk/jep/function/Assign.java diff --git a/src/org/nfunk/jep/function/Binomial.java b/src/main/java/org/nfunk/jep/function/Binomial.java similarity index 100% rename from src/org/nfunk/jep/function/Binomial.java rename to src/main/java/org/nfunk/jep/function/Binomial.java diff --git a/src/org/nfunk/jep/function/CallbackEvaluationI.java b/src/main/java/org/nfunk/jep/function/CallbackEvaluationI.java similarity index 100% rename from src/org/nfunk/jep/function/CallbackEvaluationI.java rename to src/main/java/org/nfunk/jep/function/CallbackEvaluationI.java diff --git a/src/org/nfunk/jep/function/Comparative.java b/src/main/java/org/nfunk/jep/function/Comparative.java similarity index 100% rename from src/org/nfunk/jep/function/Comparative.java rename to src/main/java/org/nfunk/jep/function/Comparative.java diff --git a/src/org/nfunk/jep/function/ComplexPFMC.java b/src/main/java/org/nfunk/jep/function/ComplexPFMC.java similarity index 100% rename from src/org/nfunk/jep/function/ComplexPFMC.java rename to src/main/java/org/nfunk/jep/function/ComplexPFMC.java diff --git a/src/org/nfunk/jep/function/Conjugate.java b/src/main/java/org/nfunk/jep/function/Conjugate.java similarity index 100% rename from src/org/nfunk/jep/function/Conjugate.java rename to src/main/java/org/nfunk/jep/function/Conjugate.java diff --git a/src/org/nfunk/jep/function/Cosine.java b/src/main/java/org/nfunk/jep/function/Cosine.java similarity index 100% rename from src/org/nfunk/jep/function/Cosine.java rename to src/main/java/org/nfunk/jep/function/Cosine.java diff --git a/src/org/nfunk/jep/function/CosineH.java b/src/main/java/org/nfunk/jep/function/CosineH.java similarity index 100% rename from src/org/nfunk/jep/function/CosineH.java rename to src/main/java/org/nfunk/jep/function/CosineH.java diff --git a/src/org/nfunk/jep/function/Cross.java b/src/main/java/org/nfunk/jep/function/Cross.java similarity index 100% rename from src/org/nfunk/jep/function/Cross.java rename to src/main/java/org/nfunk/jep/function/Cross.java diff --git a/src/org/nfunk/jep/function/Divide.java b/src/main/java/org/nfunk/jep/function/Divide.java similarity index 100% rename from src/org/nfunk/jep/function/Divide.java rename to src/main/java/org/nfunk/jep/function/Divide.java diff --git a/src/org/nfunk/jep/function/Dot.java b/src/main/java/org/nfunk/jep/function/Dot.java similarity index 100% rename from src/org/nfunk/jep/function/Dot.java rename to src/main/java/org/nfunk/jep/function/Dot.java diff --git a/src/org/nfunk/jep/function/Ele.java b/src/main/java/org/nfunk/jep/function/Ele.java similarity index 100% rename from src/org/nfunk/jep/function/Ele.java rename to src/main/java/org/nfunk/jep/function/Ele.java diff --git a/src/org/nfunk/jep/function/Exp.java b/src/main/java/org/nfunk/jep/function/Exp.java similarity index 100% rename from src/org/nfunk/jep/function/Exp.java rename to src/main/java/org/nfunk/jep/function/Exp.java diff --git a/src/org/nfunk/jep/function/If.java b/src/main/java/org/nfunk/jep/function/If.java similarity index 100% rename from src/org/nfunk/jep/function/If.java rename to src/main/java/org/nfunk/jep/function/If.java diff --git a/src/org/nfunk/jep/function/Imaginary.java b/src/main/java/org/nfunk/jep/function/Imaginary.java similarity index 100% rename from src/org/nfunk/jep/function/Imaginary.java rename to src/main/java/org/nfunk/jep/function/Imaginary.java diff --git a/src/org/nfunk/jep/function/LValueI.java b/src/main/java/org/nfunk/jep/function/LValueI.java similarity index 100% rename from src/org/nfunk/jep/function/LValueI.java rename to src/main/java/org/nfunk/jep/function/LValueI.java diff --git a/src/org/nfunk/jep/function/List.java b/src/main/java/org/nfunk/jep/function/List.java similarity index 100% rename from src/org/nfunk/jep/function/List.java rename to src/main/java/org/nfunk/jep/function/List.java diff --git a/src/org/nfunk/jep/function/Logarithm.java b/src/main/java/org/nfunk/jep/function/Logarithm.java similarity index 100% rename from src/org/nfunk/jep/function/Logarithm.java rename to src/main/java/org/nfunk/jep/function/Logarithm.java diff --git a/src/org/nfunk/jep/function/Logical.java b/src/main/java/org/nfunk/jep/function/Logical.java similarity index 100% rename from src/org/nfunk/jep/function/Logical.java rename to src/main/java/org/nfunk/jep/function/Logical.java diff --git a/src/org/nfunk/jep/function/Modulus.java b/src/main/java/org/nfunk/jep/function/Modulus.java similarity index 100% rename from src/org/nfunk/jep/function/Modulus.java rename to src/main/java/org/nfunk/jep/function/Modulus.java diff --git a/src/org/nfunk/jep/function/Multiply.java b/src/main/java/org/nfunk/jep/function/Multiply.java similarity index 100% rename from src/org/nfunk/jep/function/Multiply.java rename to src/main/java/org/nfunk/jep/function/Multiply.java diff --git a/src/org/nfunk/jep/function/NaturalLogarithm.java b/src/main/java/org/nfunk/jep/function/NaturalLogarithm.java similarity index 100% rename from src/org/nfunk/jep/function/NaturalLogarithm.java rename to src/main/java/org/nfunk/jep/function/NaturalLogarithm.java diff --git a/src/org/nfunk/jep/function/Not.java b/src/main/java/org/nfunk/jep/function/Not.java similarity index 100% rename from src/org/nfunk/jep/function/Not.java rename to src/main/java/org/nfunk/jep/function/Not.java diff --git a/src/org/nfunk/jep/function/Polar.java b/src/main/java/org/nfunk/jep/function/Polar.java similarity index 100% rename from src/org/nfunk/jep/function/Polar.java rename to src/main/java/org/nfunk/jep/function/Polar.java diff --git a/src/org/nfunk/jep/function/PostfixMathCommand.java b/src/main/java/org/nfunk/jep/function/PostfixMathCommand.java similarity index 100% rename from src/org/nfunk/jep/function/PostfixMathCommand.java rename to src/main/java/org/nfunk/jep/function/PostfixMathCommand.java diff --git a/src/org/nfunk/jep/function/PostfixMathCommandI.java b/src/main/java/org/nfunk/jep/function/PostfixMathCommandI.java similarity index 100% rename from src/org/nfunk/jep/function/PostfixMathCommandI.java rename to src/main/java/org/nfunk/jep/function/PostfixMathCommandI.java diff --git a/src/org/nfunk/jep/function/Power.java b/src/main/java/org/nfunk/jep/function/Power.java similarity index 100% rename from src/org/nfunk/jep/function/Power.java rename to src/main/java/org/nfunk/jep/function/Power.java diff --git a/src/org/nfunk/jep/function/Random.java b/src/main/java/org/nfunk/jep/function/Random.java similarity index 100% rename from src/org/nfunk/jep/function/Random.java rename to src/main/java/org/nfunk/jep/function/Random.java diff --git a/src/org/nfunk/jep/function/Range.java b/src/main/java/org/nfunk/jep/function/Range.java similarity index 100% rename from src/org/nfunk/jep/function/Range.java rename to src/main/java/org/nfunk/jep/function/Range.java diff --git a/src/org/nfunk/jep/function/Real.java b/src/main/java/org/nfunk/jep/function/Real.java similarity index 100% rename from src/org/nfunk/jep/function/Real.java rename to src/main/java/org/nfunk/jep/function/Real.java diff --git a/src/org/nfunk/jep/function/Sine.java b/src/main/java/org/nfunk/jep/function/Sine.java similarity index 100% rename from src/org/nfunk/jep/function/Sine.java rename to src/main/java/org/nfunk/jep/function/Sine.java diff --git a/src/org/nfunk/jep/function/SineH.java b/src/main/java/org/nfunk/jep/function/SineH.java similarity index 100% rename from src/org/nfunk/jep/function/SineH.java rename to src/main/java/org/nfunk/jep/function/SineH.java diff --git a/src/org/nfunk/jep/function/SpecialEvaluationI.java b/src/main/java/org/nfunk/jep/function/SpecialEvaluationI.java similarity index 100% rename from src/org/nfunk/jep/function/SpecialEvaluationI.java rename to src/main/java/org/nfunk/jep/function/SpecialEvaluationI.java diff --git a/src/org/nfunk/jep/function/SquareRoot.java b/src/main/java/org/nfunk/jep/function/SquareRoot.java similarity index 100% rename from src/org/nfunk/jep/function/SquareRoot.java rename to src/main/java/org/nfunk/jep/function/SquareRoot.java diff --git a/src/org/nfunk/jep/function/Str.java b/src/main/java/org/nfunk/jep/function/Str.java similarity index 100% rename from src/org/nfunk/jep/function/Str.java rename to src/main/java/org/nfunk/jep/function/Str.java diff --git a/src/org/nfunk/jep/function/Subtract.java b/src/main/java/org/nfunk/jep/function/Subtract.java similarity index 100% rename from src/org/nfunk/jep/function/Subtract.java rename to src/main/java/org/nfunk/jep/function/Subtract.java diff --git a/src/org/nfunk/jep/function/Sum.java b/src/main/java/org/nfunk/jep/function/Sum.java similarity index 100% rename from src/org/nfunk/jep/function/Sum.java rename to src/main/java/org/nfunk/jep/function/Sum.java diff --git a/src/org/nfunk/jep/function/TanH.java b/src/main/java/org/nfunk/jep/function/TanH.java similarity index 100% rename from src/org/nfunk/jep/function/TanH.java rename to src/main/java/org/nfunk/jep/function/TanH.java diff --git a/src/org/nfunk/jep/function/Tangent.java b/src/main/java/org/nfunk/jep/function/Tangent.java similarity index 100% rename from src/org/nfunk/jep/function/Tangent.java rename to src/main/java/org/nfunk/jep/function/Tangent.java diff --git a/src/org/nfunk/jep/function/UMinus.java b/src/main/java/org/nfunk/jep/function/UMinus.java similarity index 100% rename from src/org/nfunk/jep/function/UMinus.java rename to src/main/java/org/nfunk/jep/function/UMinus.java diff --git a/src/org/nfunk/jep/function/package.html b/src/main/java/org/nfunk/jep/function/package.html similarity index 100% rename from src/org/nfunk/jep/function/package.html rename to src/main/java/org/nfunk/jep/function/package.html diff --git a/src/org/nfunk/jep/package.html b/src/main/java/org/nfunk/jep/package.html similarity index 100% rename from src/org/nfunk/jep/package.html rename to src/main/java/org/nfunk/jep/package.html diff --git a/src/org/nfunk/jep/type/Complex.java b/src/main/java/org/nfunk/jep/type/Complex.java similarity index 100% rename from src/org/nfunk/jep/type/Complex.java rename to src/main/java/org/nfunk/jep/type/Complex.java diff --git a/src/org/nfunk/jep/type/DoubleNumberFactory.java b/src/main/java/org/nfunk/jep/type/DoubleNumberFactory.java similarity index 100% rename from src/org/nfunk/jep/type/DoubleNumberFactory.java rename to src/main/java/org/nfunk/jep/type/DoubleNumberFactory.java diff --git a/src/org/nfunk/jep/type/NumberFactory.java b/src/main/java/org/nfunk/jep/type/NumberFactory.java similarity index 100% rename from src/org/nfunk/jep/type/NumberFactory.java rename to src/main/java/org/nfunk/jep/type/NumberFactory.java diff --git a/src/org/nfunk/jep/type/package.html b/src/main/java/org/nfunk/jep/type/package.html similarity index 100% rename from src/org/nfunk/jep/type/package.html rename to src/main/java/org/nfunk/jep/type/package.html diff --git a/src/overview.html b/src/main/java/overview.html similarity index 100% rename from src/overview.html rename to src/main/java/overview.html diff --git a/src/org/nfunk/jeptesting/AllTests.java b/src/org/nfunk/jeptesting/AllTests.java deleted file mode 100644 index 1fc2cc0..0000000 --- a/src/org/nfunk/jeptesting/AllTests.java +++ /dev/null @@ -1,27 +0,0 @@ -/***************************************************************************** - -@header@ -@date@ -@copyright@ -@license@ - -*****************************************************************************/ - -package org.nfunk.jeptesting; - -import junit.framework.*; - -public class AllTests { - - public static void main (String[] args) { - junit.textui.TestRunner.run(suite()); - } - - public static Test suite() { - TestSuite suite = new TestSuite("All JUnit Tests"); - suite.addTest(new JEPTest("testParseExpression")); - suite.addTest(new LogarithmTest("testLogarithm")); - suite.addTest(new NaturalLogarithmTest("testNaturalLogarithm")); - return suite; - } -} diff --git a/src/org/nfunk/jeptesting/LogarithmTest.java b/src/org/nfunk/jeptesting/LogarithmTest.java deleted file mode 100644 index 38588c3..0000000 --- a/src/org/nfunk/jeptesting/LogarithmTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.nfunk.jeptesting; - -import org.nfunk.jep.ParseException; -import org.nfunk.jep.function.Logarithm; - -import junit.framework.Assert; -import junit.framework.TestCase; - -public class LogarithmTest extends TestCase { - - LogarithmTest(String name) { - super(name); - } - - /** - * Test method for 'org.nfunk.jep.function.Logarithm.run(Stack)' - * Tests the return value of log(NaN). This is a test for bug #1177557 - */ - public void testLogarithm() { - Logarithm logFunction = new Logarithm(); - java.util.Stack stack = new java.util.Stack(); - stack.push(new Double(Double.NaN)); - try { - logFunction.run(stack); - } catch (ParseException e) { - Assert.fail(); - } - Object returnValue = stack.pop(); - - if (returnValue instanceof Double) { - Assert.assertTrue(Double.isNaN(((Double)returnValue).doubleValue())); - } else { - Assert.fail(); - } - } - -} diff --git a/src/org/nfunk/jeptesting/NaturalLogarithmTest.java b/src/org/nfunk/jeptesting/NaturalLogarithmTest.java deleted file mode 100644 index 82f5bf5..0000000 --- a/src/org/nfunk/jeptesting/NaturalLogarithmTest.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.nfunk.jeptesting; - -import org.nfunk.jep.ParseException; -import org.nfunk.jep.function.NaturalLogarithm; - -import junit.framework.Assert; -import junit.framework.TestCase; - -public class NaturalLogarithmTest extends TestCase { - - NaturalLogarithmTest(String name) { - super(name); - } - - /** - * Test method for 'org.nfunk.jep.function.Logarithm.run(Stack)' - * Tests the return value of log(NaN). This is a test for bug #1177557 - */ - public void testNaturalLogarithm() { - NaturalLogarithm logFunction = new NaturalLogarithm(); - java.util.Stack stack = new java.util.Stack(); - stack.push(new Double(Double.NaN)); - try { - logFunction.run(stack); - } catch (ParseException e) { - Assert.fail(); - } - Object returnValue = stack.pop(); - - if (returnValue instanceof Double) { - Assert.assertTrue(Double.isNaN(((Double)returnValue).doubleValue())); - } else { - Assert.fail(); - } - } - -} diff --git a/src/org/lsmp/djepExamples/AssignmentExample.java b/src/test/java/org/lsmp/djepExamples/AssignmentExample.java similarity index 100% rename from src/org/lsmp/djepExamples/AssignmentExample.java rename to src/test/java/org/lsmp/djepExamples/AssignmentExample.java diff --git a/src/org/lsmp/djepExamples/BlockStatments.java b/src/test/java/org/lsmp/djepExamples/BlockStatments.java similarity index 100% rename from src/org/lsmp/djepExamples/BlockStatments.java rename to src/test/java/org/lsmp/djepExamples/BlockStatments.java diff --git a/src/org/lsmp/djepExamples/Console.java b/src/test/java/org/lsmp/djepExamples/Console.java similarity index 100% rename from src/org/lsmp/djepExamples/Console.java rename to src/test/java/org/lsmp/djepExamples/Console.java diff --git a/src/org/lsmp/djepExamples/DJepApplet.java b/src/test/java/org/lsmp/djepExamples/DJepApplet.java similarity index 100% rename from src/org/lsmp/djepExamples/DJepApplet.java rename to src/test/java/org/lsmp/djepExamples/DJepApplet.java diff --git a/src/org/lsmp/djepExamples/DJepConsole.java b/src/test/java/org/lsmp/djepExamples/DJepConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/DJepConsole.java rename to src/test/java/org/lsmp/djepExamples/DJepConsole.java diff --git a/src/org/lsmp/djepExamples/DiffExample.java b/src/test/java/org/lsmp/djepExamples/DiffExample.java similarity index 100% rename from src/org/lsmp/djepExamples/DiffExample.java rename to src/test/java/org/lsmp/djepExamples/DiffExample.java diff --git a/src/org/lsmp/djepExamples/GroupConsole.java b/src/test/java/org/lsmp/djepExamples/GroupConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/GroupConsole.java rename to src/test/java/org/lsmp/djepExamples/GroupConsole.java diff --git a/src/org/lsmp/djepExamples/JamaConsole.java b/src/test/java/org/lsmp/djepExamples/JamaConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/JamaConsole.java rename to src/test/java/org/lsmp/djepExamples/JamaConsole.java diff --git a/src/org/lsmp/djepExamples/MRpConsole.java b/src/test/java/org/lsmp/djepExamples/MRpConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/MRpConsole.java rename to src/test/java/org/lsmp/djepExamples/MRpConsole.java diff --git a/src/org/lsmp/djepExamples/MRpDiffExample.java b/src/test/java/org/lsmp/djepExamples/MRpDiffExample.java similarity index 100% rename from src/org/lsmp/djepExamples/MRpDiffExample.java rename to src/test/java/org/lsmp/djepExamples/MRpDiffExample.java diff --git a/src/org/lsmp/djepExamples/MRpExample.java b/src/test/java/org/lsmp/djepExamples/MRpExample.java similarity index 100% rename from src/org/lsmp/djepExamples/MRpExample.java rename to src/test/java/org/lsmp/djepExamples/MRpExample.java diff --git a/src/org/lsmp/djepExamples/MRpSpeed.java b/src/test/java/org/lsmp/djepExamples/MRpSpeed.java similarity index 100% rename from src/org/lsmp/djepExamples/MRpSpeed.java rename to src/test/java/org/lsmp/djepExamples/MRpSpeed.java diff --git a/src/org/lsmp/djepExamples/MRpSurfExample.java b/src/test/java/org/lsmp/djepExamples/MRpSurfExample.java similarity index 100% rename from src/org/lsmp/djepExamples/MRpSurfExample.java rename to src/test/java/org/lsmp/djepExamples/MRpSurfExample.java diff --git a/src/org/lsmp/djepExamples/MatrixConsole.java b/src/test/java/org/lsmp/djepExamples/MatrixConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/MatrixConsole.java rename to src/test/java/org/lsmp/djepExamples/MatrixConsole.java diff --git a/src/org/lsmp/djepExamples/MatrixExample.java b/src/test/java/org/lsmp/djepExamples/MatrixExample.java similarity index 100% rename from src/org/lsmp/djepExamples/MatrixExample.java rename to src/test/java/org/lsmp/djepExamples/MatrixExample.java diff --git a/src/org/lsmp/djepExamples/MatrixSpeed.java b/src/test/java/org/lsmp/djepExamples/MatrixSpeed.java similarity index 100% rename from src/org/lsmp/djepExamples/MatrixSpeed.java rename to src/test/java/org/lsmp/djepExamples/MatrixSpeed.java diff --git a/src/org/lsmp/djepExamples/ObserverConsole.java b/src/test/java/org/lsmp/djepExamples/ObserverConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/ObserverConsole.java rename to src/test/java/org/lsmp/djepExamples/ObserverConsole.java diff --git a/src/org/lsmp/djepExamples/PrintExample.java b/src/test/java/org/lsmp/djepExamples/PrintExample.java similarity index 100% rename from src/org/lsmp/djepExamples/PrintExample.java rename to src/test/java/org/lsmp/djepExamples/PrintExample.java diff --git a/src/org/lsmp/djepExamples/RpExample.java b/src/test/java/org/lsmp/djepExamples/RpExample.java similarity index 100% rename from src/org/lsmp/djepExamples/RpExample.java rename to src/test/java/org/lsmp/djepExamples/RpExample.java diff --git a/src/org/lsmp/djepExamples/RpSpeed.java b/src/test/java/org/lsmp/djepExamples/RpSpeed.java similarity index 100% rename from src/org/lsmp/djepExamples/RpSpeed.java rename to src/test/java/org/lsmp/djepExamples/RpSpeed.java diff --git a/src/org/lsmp/djepExamples/RpeConsole.java b/src/test/java/org/lsmp/djepExamples/RpeConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/RpeConsole.java rename to src/test/java/org/lsmp/djepExamples/RpeConsole.java diff --git a/src/org/lsmp/djepExamples/SJepConsole.java b/src/test/java/org/lsmp/djepExamples/SJepConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/SJepConsole.java rename to src/test/java/org/lsmp/djepExamples/SJepConsole.java diff --git a/src/org/lsmp/djepExamples/VectorConsole.java b/src/test/java/org/lsmp/djepExamples/VectorConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/VectorConsole.java rename to src/test/java/org/lsmp/djepExamples/VectorConsole.java diff --git a/src/org/lsmp/djepExamples/VectorExample.java b/src/test/java/org/lsmp/djepExamples/VectorExample.java similarity index 100% rename from src/org/lsmp/djepExamples/VectorExample.java rename to src/test/java/org/lsmp/djepExamples/VectorExample.java diff --git a/src/org/lsmp/djepExamples/VectorPrint.java b/src/test/java/org/lsmp/djepExamples/VectorPrint.java similarity index 100% rename from src/org/lsmp/djepExamples/VectorPrint.java rename to src/test/java/org/lsmp/djepExamples/VectorPrint.java diff --git a/src/org/lsmp/djepExamples/XJepConsole.java b/src/test/java/org/lsmp/djepExamples/XJepConsole.java similarity index 100% rename from src/org/lsmp/djepExamples/XJepConsole.java rename to src/test/java/org/lsmp/djepExamples/XJepConsole.java diff --git a/src/org/lsmp/djepExamples/XJepExample.java b/src/test/java/org/lsmp/djepExamples/XJepExample.java similarity index 100% rename from src/org/lsmp/djepExamples/XJepExample.java rename to src/test/java/org/lsmp/djepExamples/XJepExample.java diff --git a/src/org/lsmp/djepExamples/package.html b/src/test/java/org/lsmp/djepExamples/package.html similarity index 100% rename from src/org/lsmp/djepExamples/package.html rename to src/test/java/org/lsmp/djepExamples/package.html diff --git a/src/org/lsmp/djepJUnit/DJepTest.java b/src/test/java/org/lsmp/djepJUnit/DJepTest.java similarity index 92% rename from src/org/lsmp/djepJUnit/DJepTest.java rename to src/test/java/org/lsmp/djepJUnit/DJepTest.java index 22dd511..a0f9f89 100644 --- a/src/org/lsmp/djepJUnit/DJepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/DJepTest.java @@ -5,10 +5,8 @@ */ package org.lsmp.djepJUnit; -import junit.framework.Test; -import junit.framework.TestResult; -import junit.framework.TestSuite; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.lsmp.djep.djep.DJep; import org.lsmp.djep.djep.DSymbolTable; import org.nfunk.jep.Node; @@ -19,20 +17,7 @@ * Created on 22-Apr-2005 */ public class DJepTest extends XJepTest { - - public DJepTest(String name) { - super(name); - } - - public static Test suite() { - return new TestSuite(DJepTest.class); - } - - public static void main(String[] args) { - TestSuite suite= new TestSuite(DJepTest.class); - suite.run(new TestResult()); - } - + @BeforeEach protected void setUp() { j = new DJep(); j.addStandardConstants(); @@ -45,6 +30,7 @@ protected void setUp() { ((DJep) j).addStandardDiffRules(); } + @Test public void testDiff() throws ParseException { System.out.println("\nTesting assignment"); @@ -121,6 +107,7 @@ public void testDiff() throws ParseException // addDiffRule(new PassThroughDiffRule(this,"\"==\"",new Comparative(5))); } + @Test public void testAssignDiff() throws Exception { System.out.println("\nTesting assignment and diff"); @@ -139,6 +126,7 @@ public void testAssignDiff() throws Exception } + @Test public void testChainedVaraibles() throws Exception { simplifyTestString("x=5","x=5.0"); diff --git a/src/org/lsmp/djepJUnit/GroupJepTest.java b/src/test/java/org/lsmp/djepJUnit/GroupJepTest.java similarity index 85% rename from src/org/lsmp/djepJUnit/GroupJepTest.java rename to src/test/java/org/lsmp/djepJUnit/GroupJepTest.java index 2ed0438..31e91c3 100644 --- a/src/org/lsmp/djepJUnit/GroupJepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/GroupJepTest.java @@ -1,13 +1,29 @@ package org.lsmp.djepJUnit; -import junit.framework.*; -import org.nfunk.jep.*; -import org.nfunk.jep.type.*; -import org.lsmp.djep.groupJep.interfaces.*; -import org.lsmp.djep.groupJep.values.*; -import org.lsmp.djep.groupJep.*; -import org.lsmp.djep.groupJep.groups.*; -import java.math.*; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.lsmp.djep.groupJep.GroupJep; +import org.lsmp.djep.groupJep.PolynomialVisitor; +import org.lsmp.djep.groupJep.groups.AlgebraicExtension; +import org.lsmp.djep.groupJep.groups.ExtendedFreeGroup; +import org.lsmp.djep.groupJep.groups.FreeGroup; +import org.lsmp.djep.groupJep.groups.Integers; +import org.lsmp.djep.groupJep.groups.Quaternions; +import org.lsmp.djep.groupJep.groups.Rationals; +import org.lsmp.djep.groupJep.groups.Reals; +import org.lsmp.djep.groupJep.groups.Zn; +import org.lsmp.djep.groupJep.interfaces.RingI; +import org.lsmp.djep.groupJep.values.FreeGroupElement; +import org.lsmp.djep.groupJep.values.HasComplexValueI; +import org.lsmp.djep.groupJep.values.Polynomial; +import org.nfunk.jep.JEP; +import org.nfunk.jep.Node; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.type.Complex; + +import java.math.BigInteger; + +import static org.junit.jupiter.api.Assertions.assertEquals; /* @author rich * Created on 19-Nov-2003 */ @@ -18,35 +34,15 @@ * @author Rich Morris * Created on 19-Nov-2003 */ -public class GroupJepTest extends TestCase { +public class GroupJepTest { GroupJep j; public static final boolean SHOW_BAD=false; - - public GroupJepTest(String name) { - super(name); - } - - public static void main(String args[]) { - // Create an instance of this class and analyse the file - - TestSuite suite= new TestSuite(GroupJepTest.class); -// DJepTest jt = new DJepTest("DJepTest"); -// jt.setUp(); - suite.run(new TestResult()); - } - - protected void setUp() { - } - - public static Test suite() { - return new TestSuite(GroupJepTest.class); - } public void myAssertEquals(String msg,String expected,String actual) { if(!actual.equals(expected)) System.out.println("Error \""+msg+"\" is \""+actual+" should be "+expected+"\""); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected, actual, "<"+msg+">"); System.out.println("Success: Value of \""+msg+"\" is \""+actual+"\""); } @@ -54,11 +50,11 @@ public void myAssertEquals(String msg,String expected,String actual,String endin { if(!actual.equals(expected)) System.out.println("Error \""+msg+"\" is \""+actual+" should be "+expected+"\""); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected,actual, "<"+msg+">"); System.out.println("Success: Value of \""+msg+"\" is \""+actual+"\": "+ending); } - /** just test JUnit working OK */ + @Test @DisplayName("just test JUnit working OK") public void testGood() { assertEquals(1,1); @@ -78,14 +74,14 @@ public void valueToStringTest(String expr,String expected) throws Exception myAssertEquals(expr,expected,res,ending); } - /** Tests very large numbers, 20! */ + @Test @DisplayName("Tests very large numbers, 20!") public void testZ() throws Exception { j = new GroupJep(new Integers()); valueToStringTest("1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17*18*19*20","2432902008176640000"); } - /** Tests rationals */ + @Test @DisplayName("Tests rationals") public void testQ() throws Exception { j = new GroupJep(new Rationals()); @@ -93,7 +89,7 @@ public void testQ() throws Exception valueToStringTest("(1/2)-(1/3)","1/6"); } - /** Tests Quaternions */ + @Test @DisplayName("Tests Quaternions") public void testQuartonians() throws Exception { j = new GroupJep(new Quaternions()); @@ -102,7 +98,7 @@ public void testQuartonians() throws Exception valueToStringTest("i*j","-k"); } - /** Tests integers mod 5 */ + @Test @DisplayName("Tests integers mod 5 ") public void testZn() throws Exception { j = new GroupJep(new Zn(BigInteger.valueOf(5))); @@ -121,6 +117,7 @@ public void testZn() throws Exception valueToStringTest("4/3","3"); } + @Test public void testZroot2() throws Exception { RingI ring = new Integers(); @@ -136,7 +133,8 @@ public void testZroot2() throws Exception valueToStringTest("rt2*rt2","2"); valueToStringTest("(rt2+1)*(rt2+1)","2 rt2+3"); } - + + @Test public void testZ5thRootUnity() throws Exception { RingI ring = new Integers(); @@ -158,6 +156,7 @@ public void testZ5thRootUnity() throws Exception valueToStringTest("t*t*t*t*t","1"); } + @Test public void testZRoot2Root5() throws Exception { RingI ring = new Integers(); @@ -188,6 +187,7 @@ public void testZRoot2Root5() throws Exception valueToStringTest("(t-1)*(s-1)","(t-1) s-t+1"); } + @Test public void testZtau() throws Exception { RingI ring = new Integers(); @@ -215,6 +215,7 @@ public void testZtau() throws Exception valueToStringTest("t*(1-t)","-1"); } + @Test public void testPolynomials() throws Exception { RingI ring = new Reals(); @@ -261,6 +262,7 @@ public void testPolynomials() throws Exception } + @Test public void testPolynomials2() throws Exception { RingI ring = new Reals(); @@ -285,6 +287,8 @@ public void testPolynomials2() throws Exception System.out.println(expr2 +" -> "+res2); } + + @Test public void testPolynomialCreator() throws Exception { RingI ring = new Reals(); @@ -303,6 +307,7 @@ public void testPolynomialCreator() throws Exception System.out.println("Coeffs ["+i+"] "+coeffs[i]); } + @Test public void testBad() throws ParseException { if(SHOW_BAD) diff --git a/src/org/lsmp/djepJUnit/JepTest.java b/src/test/java/org/lsmp/djepJUnit/JepTest.java similarity index 85% rename from src/org/lsmp/djepJUnit/JepTest.java rename to src/test/java/org/lsmp/djepJUnit/JepTest.java index 4824178..c116937 100644 --- a/src/org/lsmp/djepJUnit/JepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/JepTest.java @@ -1,8 +1,19 @@ package org.lsmp.djepJUnit; -import junit.framework.*; -import org.nfunk.jep.*; -import org.nfunk.jep.type.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.nfunk.jep.JEP; +import org.nfunk.jep.Node; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.type.Complex; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.closeTo; +import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /* @author rich * Created on 19-Nov-2003 @@ -12,35 +23,11 @@ * @author Rich Morris * Created on 19-Nov-2003 */ -public class JepTest extends TestCase { +public class JepTest { JEP j; - public static final boolean SHOW_BAD=false; - - public JepTest(String name) { - super(name); - } + public static final boolean SHOW_BAD = false; - /** - * Create a test suite. - * @return the TestSuite - */ - public static Test suite() { - return new TestSuite(JepTest.class); - } - - /** - * Main entry point. - * @param args - */ - public static void main(String args[]) { - // Create an instance of this class and analyse the file - - TestSuite suite= new TestSuite(JepTest.class); - suite.run(new TestResult()); - } - /** - * Run before each test. - */ + @BeforeEach protected void setUp() { j = new JEP(); j.addStandardConstants(); @@ -63,24 +50,24 @@ public void myAssertEquals(String msg,Object expected,Object actual) { if(!actual.equals(expected)) System.out.println("Error: '"+msg+"' is '"+actual+"' should be '"+expected+"'"); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected,actual, "<"+msg+">"); System.out.println("Success: Value of \""+msg+"\" is "+actual+""); } public void myAssertNaN(String msg,Object actual) { if(actual instanceof Double) { - if(Double.isNaN( ((Double) actual).doubleValue()) ) { + if(Double.isNaN((Double) actual) ) { System.out.println("Success: Value of \""+msg+"\" is "+actual+""); } else { System.out.println("Error: \""+msg+"\" is '"+actual+"' should be NaN"); - assertTrue("<"+msg+"> is "+actual+" should be NaN",false); + assertTrue(false, "<"+msg+"> is "+actual+" should be NaN"); } } else { System.out.println("Error: '"+msg+"' is '"+actual+"' should be 'NaN'"); - assertTrue("<"+msg+">",false); + assertTrue(false, "<"+msg+">"); } } @@ -152,18 +139,18 @@ public void valueTest(String expr,double a,double tol) throws Exception { Object res = calcValue(expr); if(res instanceof Double) { - double val = ((Double) res).doubleValue(); + double val = (Double) res; if(Math.abs(val-a) expected: <"+a+"> but was <"+res+">",false); + assertTrue(false, "<"+expr+"> expected: <"+a+"> but was <"+res+">"); } } @@ -181,26 +168,28 @@ public void complexValueTest(String expr,Complex expected,double tol) throws Exc System.out.println("Success value of \""+expr+"\" is "+res); else { System.out.println("Error value of \""+expr+"\" is "+res+" should be "+expected); - assertTrue("<"+expr+"> expected: <"+expected+"> but was <"+res+">",false); + assertTrue(false, "<"+expr+"> expected: <"+expected+"> but was <"+res+">"); } } /////////////////// Tests //////////////// - /** just test JUnit working OK */ + @Test @DisplayName("just test JUnit working OK") public void testGood() { myAssertEquals("1",new Double(1),new Double(1)); myAssertNaN("NaN",new Double(Double.NaN)); } + @Test public void testSimpleSum() throws Exception { valueTest("1+2",3); valueTest("2*6+3",15); valueTest("2*(6+3)",18); } - + + @Test public void testLogical() throws Exception { System.out.println("\nTesting logical operations"); @@ -261,7 +250,8 @@ public void testLogical() throws Exception valueTest("if((true&&true)==true,6,7)",6); valueTest("if((!false)==true,6,7)",6); } - + + @Test public void testFunction() throws Exception { System.out.println("\nTesting real functions"); @@ -277,6 +267,8 @@ public void testFunction() throws Exception valueTest("2^(-4)",1.0/16,0.00000001); valueTest("2^(-10)",1.0/1024,0.00000001); } + + @Test public void testComplex() throws Exception { System.out.println("\nTesting complex values"); @@ -300,7 +292,7 @@ public void testComplex() throws Exception //complexValueTest("cos(z)",new Complex(3,-2),tol); } - + @Test public void testIf() throws Exception { System.out.println("\nTesting if statement"); @@ -320,6 +312,7 @@ public void testIf() throws Exception valueTest("if(x<3,1,-1)",-1); } + @Test public void testAssign() throws Exception { System.out.println("\nTesting assignment of variables"); @@ -338,6 +331,7 @@ public void testAssign() throws Exception // and hence the broken MMultiply was used. } + @Test public void testDotInName() throws ParseException,Exception { System.out.println("\nTesting names with dot in them"); @@ -345,7 +339,7 @@ public void testDotInName() throws ParseException,Exception valueTest("x.x+1",4); } - + @Test public void testBinom() throws ParseException,Exception { System.out.println("\nTesting binomial coeffs"); @@ -382,7 +376,8 @@ public void testBinom() throws ParseException,Exception valueTestInt("binom(10,1)",10); valueTestInt("binom(10,5)",252); } - + + @Test public void testNaN() throws Exception { System.out.println("\nTesting for NaN"); @@ -412,7 +407,8 @@ public void testNaN() throws Exception valueTest("x == x+5",0); valueTest("x == x",1); } - + + @Test public void testAssign2() { System.out.println("\nTesting for assignment using parseExpression and getValue"); @@ -426,42 +422,43 @@ public void testAssign2() parser.parseExpression("AB=3"); // AB = 8 System.out.println("AB=3"+parser.getValue()); parser.parseExpression("AB+2"); - double result= parser.getValue(); // Result = 17 - assertEquals("",5.0,result,0.0); + double result = parser.getValue(); // Result = 17 + assertThat("", result, is(closeTo(5.0, 0.0001))); } - boolean isExpressionValid(String expression) - { - JEP jep = j; - try{ - Node n = jep.parse(expression); - System.out.println("expression " + expression + " \n Parsed value " + jep.hasError()); - if(jep.hasError()) - { - System.out.println("jep.getErrorInfo " + jep.getErrorInfo()); - return false; - } - System.out.println("jep.getSymbolTable " + jep.getSymbolTable()); - System.out.println("Eval: " +jep.evaluate(n).toString()); - return true; - } - catch(Error e) - { - System.out.println(e.getMessage()); - if(jep.hasError()) - System.out.println("Error is : " + jep.getErrorInfo()); - return false; - } - catch(Exception e1) - { - System.out.println(e1.getMessage()); - if(jep.hasError()) - System.out.println("Error is : " + jep.getErrorInfo()); - return false; - } - - } - + boolean isExpressionValid(String expression) + { + JEP jep = j; + try{ + Node n = jep.parse(expression); + System.out.println("expression " + expression + " \n Parsed value " + jep.hasError()); + if(jep.hasError()) + { + System.out.println("jep.getErrorInfo " + jep.getErrorInfo()); + return false; + } + System.out.println("jep.getSymbolTable " + jep.getSymbolTable()); + System.out.println("Eval: " +jep.evaluate(n).toString()); + return true; + } + catch(Error e) + { + System.out.println(e.getMessage()); + if(jep.hasError()) + System.out.println("Error is : " + jep.getErrorInfo()); + return false; + } + catch(Exception e1) + { + System.out.println(e1.getMessage()); + if(jep.hasError()) + System.out.println("Error is : " + jep.getErrorInfo()); + return false; + } + + } + + @Test public void testNumParam() throws Exception { j.parse("if(3,1,2)"); @@ -517,6 +514,8 @@ public void testNumParam() throws Exception ) */ } + + @Test public void testUndeclared() throws Exception { j.setAllowUndeclared(false); @@ -533,7 +532,8 @@ public void testUndeclared() throws Exception System.out.println("Expected error caught: "+e.getClass().getName()+": "+e.getMessage()); } } - + + @Test public void testBad() throws Exception { if(SHOW_BAD) diff --git a/src/org/lsmp/djepJUnit/MRpTest.java b/src/test/java/org/lsmp/djepJUnit/MRpTest.java similarity index 96% rename from src/org/lsmp/djepJUnit/MRpTest.java rename to src/test/java/org/lsmp/djepJUnit/MRpTest.java index f6198d8..dbbf430 100644 --- a/src/org/lsmp/djepJUnit/MRpTest.java +++ b/src/test/java/org/lsmp/djepJUnit/MRpTest.java @@ -1,13 +1,22 @@ package org.lsmp.djepJUnit; -import junit.framework.*; -import org.nfunk.jep.*; -import org.nfunk.jep.type.*; -import org.lsmp.djep.matrixJep.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.lsmp.djep.matrixJep.MatrixJep; import org.lsmp.djep.mrpe.MRpCommandList; import org.lsmp.djep.mrpe.MRpEval; import org.lsmp.djep.mrpe.MRpRes; -import org.lsmp.djep.vectorJep.values.*; +import org.lsmp.djep.vectorJep.values.MVector; +import org.lsmp.djep.vectorJep.values.Matrix; +import org.lsmp.djep.vectorJep.values.MatrixValueI; +import org.nfunk.jep.Node; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.type.Complex; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /* @author rich * Created on 19-Nov-2003 @@ -19,32 +28,17 @@ * @author Rich Morris * Created on 19-Nov-2003 */ -public class MRpTest extends TestCase { +public class MRpTest { MatrixJep mj; MRpEval mrpe; public static final boolean SHOW_BAD=false; - public MRpTest(String name) { - super(name); - } - - public static Test suite() { - return new TestSuite(MRpTest.class); - } - - public static void main(String args[]) { - // Create an instance of this class and analyse the file - - TestSuite suite= new TestSuite(MRpTest.class); -// DJepTest jt = new DJepTest("DJepTest"); -// jt.setUp(); - suite.run(new TestResult()); - } /** strings for each variable */ String matStrs[][] = new String[10][10]; String matStrsB[][] = new String[10][10]; String vecStrs[] = new String[10]; + @BeforeEach protected void setUp() { mj = new MatrixJep(); mj.addStandardConstants(); @@ -110,6 +104,7 @@ protected void setUp() { } } + @Test public void testGood() { assertEquals(1,1); @@ -119,7 +114,7 @@ public void myAssertEquals(String msg,String actual,String expected) { if(!actual.equals(expected)) System.out.println("Error \""+msg+"\" is \n<"+actual+"> should be \n<"+expected+">"); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected,actual, "<"+msg+">"); System.out.println("Success: Value of <"+msg+"> is <"+actual+">"); } @@ -128,7 +123,7 @@ public void valueTest(String expr,Object expected) throws ParseException Object res = calcValue(expr); if(mj.hasError()) fail("Evaluation Failure: "+expr+mj.getErrorInfo()); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected, res, "<"+expr+">"); System.out.println("Success value of <"+expr+"> is "+res); } @@ -145,8 +140,7 @@ public void complexValueTest(String expr,Complex expected,double tol) throws Exc { Node node = mj.preprocess(mj.parse(expr)); Object res = mj.evaluate(node); - assertTrue("<"+expr+"> expected: <"+expected+"> but was <"+res+">", - expected.equals((Complex) res,tol)); + assertTrue(expected.equals((Complex) res,tol), "<"+expr+"> expected: <"+expected+"> but was <"+res+">"); System.out.println("Sucess value of <"+expr+"> is "+res); } @@ -264,6 +258,7 @@ void rpTest2(String eqns[]) throws ParseException rpe.cleanUp(); } + @Test public void testRp() throws ParseException { rpTest(new String[]{"y=[[1,2,3],[4,5,6],[7,8,9]]"},"y*y"); @@ -306,6 +301,7 @@ public void testRp() throws ParseException } + @Test public void testRpAllDim() throws ParseException { @@ -336,7 +332,7 @@ public void testRpAllDim() throws ParseException } } - + @Test public void testMul() throws ParseException { rpTest(new String[]{"x=[1,2]","y="+matStrs[2][2]},"x*y"); @@ -416,8 +412,9 @@ public void testMul() throws ParseException rpTest(new String[]{"x=[1,2,3,4,5]","y=[1,0,0,0,0]"},"x*y"); } - - public void testAssign() throws ParseException + + @Test + public void tesign() throws ParseException { rpTest2(new String[]{"x=[[5,6],[7,8]]","x+x"}); rpTest2(new String[]{"x=[5,6]","x+x"}); @@ -483,6 +480,7 @@ public void testLogical() throws ParseException rpTest2(new String[]{matStrs[2][2]+"!="+matStrs[2][2]}); } boolean TESTALL = false; + @Test public void testVn() throws ParseException { rpTest2(new String[]{"x=[5,6,7,8,9]","x+x","x-x","2*x","x*3","x.x"}); rpTest2(new String[]{"x=[[1,2,3,4,5],[5,6,7,8,9]]","x+x","x-x","2*x","x*3"}); @@ -516,6 +514,7 @@ public void testVn() throws ParseException { } } + @Test public void testFun() throws ParseException { rpTest2(new String[]{"x=5","y=4","x/y","x%y","x^y"}); rpTest2(new String[]{"x=0.5","cos(x)","sin(x)","tan(x)","asin(x)","acos(x)","atan(x)"}); @@ -524,7 +523,8 @@ public void testFun() throws ParseException { rpTest2(new String[]{"x=0.5","sec(x)","cosec(x)","cot(x)"}); rpTest2(new String[]{"x=3","y=4","atan2(y,x)","if(x>y,1,2)","if(x should be \n<"+expected+">"); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected, actual, "<"+msg+">"); System.out.println("Success: Value of <"+msg+"> is <"+actual+">"); } @@ -75,7 +72,7 @@ public void valueTest(String expr,Object expected) throws ParseException,Excepti Object res = j.evaluate(node); if(j.hasError()) fail("Evaluation Failure: "+expr+j.getErrorInfo()); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected, res, "<"+expr+">"); System.out.println("Sucess value of <"+expr+"> is "+res); } @@ -93,8 +90,7 @@ public void complexValueTest(String expr,Complex expected,double tol) throws Exc { Node node = j.parse(expr); Object res = j.evaluate(node); - assertTrue("<"+expr+"> expected: <"+expected+"> but was <"+res+">", - expected.equals((Complex) res,tol)); + assertTrue(expected.equals((Complex) res,tol), "<"+expr+"> expected: <"+expected+"> but was <"+res+">"); System.out.println("Sucess value of <"+expr+"> is "+res); } @@ -185,13 +181,14 @@ void rpTest2(String eqns[]) throws ParseException,Exception System.out.println("<"+eqns[i]+"> "+rpRes[i]); } for(int i=0;i found <"+rpRes[i]+">"); + Double matRes = (Double) j.evaluate(nodes[i]); + assertThat("Expected <"+matRes+"> found <"+rpRes[i]+">", + matRes, is(closeTo(rpRes[i], 0.0000000000000001))); } rpe.cleanUp(); } + @Test public void testRp() throws ParseException,Exception { rpTest(new String[0],"1*2*3+4*5*6+7*8*9"); @@ -201,13 +198,15 @@ public void testRp() throws ParseException,Exception } + @Test public void testAssign() throws ParseException,Exception { rpTest2(new String[]{"x=5","x+x"}); j.setVarValue("x",new Double(6.0)); rpTest2(new String[]{"x+x"}); } - + + @Test public void testLogical() throws ParseException,Exception { rpTest2(new String[]{"1&&1","1&&0","0&&0","0&&1","3.14&&1"}); @@ -223,6 +222,8 @@ public void testLogical() throws ParseException,Exception } boolean TESTALL = false; + + @Test public void testFun() throws ParseException,Exception { rpTest2(new String[]{"x=5","y=4","x/y","x%y","x^y"}); diff --git a/src/org/lsmp/djepJUnit/SJepTest.java b/src/test/java/org/lsmp/djepJUnit/SJepTest.java similarity index 93% rename from src/org/lsmp/djepJUnit/SJepTest.java rename to src/test/java/org/lsmp/djepJUnit/SJepTest.java index c8e1b95..f96c2cd 100644 --- a/src/org/lsmp/djepJUnit/SJepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/SJepTest.java @@ -1,12 +1,22 @@ package org.lsmp.djepJUnit; -import junit.framework.*; -import org.nfunk.jep.*; -import org.nfunk.jep.type.*; -import org.lsmp.djep.xjep.*; -import org.lsmp.djep.djep.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.lsmp.djep.djep.DJep; +import org.lsmp.djep.sjep.PNodeI; +import org.lsmp.djep.sjep.PolynomialCreator; +import org.lsmp.djep.xjep.PrintVisitor; +import org.lsmp.djep.xjep.XOperator; +import org.nfunk.jep.Node; +import org.nfunk.jep.OperatorSet; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.type.Complex; + import java.text.NumberFormat; -import org.lsmp.djep.sjep.*; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /* @author rich * Created on 19-Nov-2003 */ @@ -15,25 +25,13 @@ * @author Rich Morris * Created on 19-Nov-2003 */ -public class SJepTest extends TestCase { +public class SJepTest { DJep j; PolynomialCreator pc; public static final boolean SHOW_BAD=false; - - public SJepTest(String name) { - super(name); - } - - public static void main(String args[]) { - // Create an instance of this class and analyse the file - - TestSuite suite= new TestSuite(SJepTest.class); -// DJepTest jt = new DJepTest("DJepTest"); -// jt.setUp(); - suite.run(new TestResult()); - } + @BeforeEach protected void setUp() { j = new DJep(); j.addStandardConstants(); @@ -47,15 +45,11 @@ protected void setUp() { pc = new PolynomialCreator(j); } - public static Test suite() { - return new TestSuite(SJepTest.class); - } - public void myAssertEquals(String msg,String actual,String expected) { if(!actual.equals(expected)) System.out.println("Error \""+msg+"\" is \""+actual+" should be "+expected+"\""); - assertEquals("<"+msg+">",expected,actual); + assertEquals(expected,actual, "<"+msg+">"); System.out.println("Success: Value of \""+msg+"\" is \""+actual+"\""); } @@ -71,7 +65,7 @@ public void assertPolynomialEquals(String s1,String s2) throws ParseException System.out.println("Sucess: \""+s1+"\" equals \""+s2+"\""); }else{ System.out.println("Error: \""+s1+"\" is not equal to \""+s2+"\""); - assertTrue("<"+s1+"> should be equal to <"+s2+"> it is not",false); + assertTrue(false, "<"+s1+"> should be equal to <"+s2+"> it is not"); } } /** just test JUnit working OK */ @@ -84,21 +78,22 @@ public void valueTest(String expr,double dub) throws Exception { valueTest(expr,new Double(dub)); } + public void valueTest(String expr,Object expected) throws Exception { Node node = j.parse(expr); Node n2 = j.preprocess(node); Object res = j.evaluate(n2); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected,res, "<"+expr+">"); System.out.println("Success value of <"+expr+"> is "+res); } + public void complexValueTest(String expr,Complex expected,double tol) throws Exception { Node node = j.parse(expr); Node n2 = j.preprocess(node); Object res = j.evaluate(n2); - assertTrue("<"+expr+"> expected: <"+expected+"> but was <"+res+">", - expected.equals((Complex) res,tol)); + assertTrue(expected.equals((Complex) res,tol), "<"+expr+"> expected: <"+expected+"> but was <"+res+">"); System.out.println("Success value of <"+expr+"> is "+res); } @@ -124,7 +119,7 @@ public void simplifyTest(String expr,String expected) throws ParseException if(!res2.equals(res)) System.out.println("Error: Value of \""+expr+"\" is \""+res+"\" should be \""+res2+"\""); - assertEquals("<"+expr+">",res2,res); + assertEquals(res2,res,"<"+expr+">"); System.out.println("Sucess: Value of \""+expr+"\" is \""+res+"\""); // System.out.print("Full Brackets:\t"); @@ -143,7 +138,7 @@ public void simplifyTestString(String expr,String expected) throws ParseExceptio if(!expected.equals(res)) System.out.println("Error: Value of \""+expr+"\" is \""+res+"\" should be \""+expected+"\""); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected,res,"<"+expr+">"); System.out.println("Sucess: Value of \""+expr+"\" is \""+res+"\""); // System.out.print("Full Brackets:\t"); @@ -163,7 +158,7 @@ public void expandTestString(String expr,String expected) throws ParseException if(!expected.equals(res)) System.out.println("Error: Value of \""+expr+"\" is \""+res+"\" should be \""+expected+"\""); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected,res,"<"+expr+">"); System.out.println("Sucess: Value of \""+expr+"\" is \""+res+"\""); // System.out.print("Full Brackets:\t"); @@ -188,13 +183,15 @@ public Node parseProcSimpEval(String expr,Object expected) throws ParseException } */ + @Test public void testSimpleSum() throws Exception { valueTest("1+2",3); valueTest("2*6+3",15); valueTest("2*(6+3)",18); } - + + @Test public void testOperators() throws Exception { OperatorSet opSet = j.getOperatorSet(); @@ -233,7 +230,8 @@ public void testOperators() throws Exception valueTest("(a&&(b||c)) == ((a&&b)||(a&&c))",1); valueTest("(a||(b&&c)) == ((a||b)&&(a||c))",1); } - + + @Test public void testPrint() throws ParseException { simplifyTestString("(a+b)+c","a+b+c"); @@ -274,7 +272,8 @@ public void testPrint() throws ParseException // simplifyTestString("a||(b&&c)","a||b&&c"); // simplifyTestString("a&&(b&&c)","a&&b&&c"); } - + + @Test public void testSimp() throws ParseException { simplifyTest("2+3","5"); @@ -414,6 +413,7 @@ public void testSimp() throws ParseException simplifyTest("(2*x+x)^3","27*x^3"); } + @Test public void testPolySimp() throws ParseException,Exception { Node n1 = j.parse("(1.0+2.0*x+x^2.0)*(1.0+2.0*x+x^2.0)"); @@ -495,6 +495,7 @@ public void testPolySimp() throws ParseException,Exception j.println(simp); } + @Test public void testTotalOrder() throws ParseException,Exception { expandTestString("y+x","x+y"); @@ -513,7 +514,8 @@ public void testTotalOrder() throws ParseException,Exception simplifyTestString("x+1/x","1/x+x"); simplifyTestString("1/x^2+1/x","1/x^2+1/x"); } - + + @Test public void testPolySimp2() throws ParseException,Exception { expandTestString("1+2*(1+x)","3+2*x"); @@ -521,7 +523,8 @@ public void testPolySimp2() throws ParseException,Exception expandTestString("x*y+2*x","2*x+x*y"); expandTestString("(1+x+y)^2","1+2*x+2*x*y+x^2+2*y+y^2"); } - + + @Test public void testFormat() throws ParseException { NumberFormat format = NumberFormat.getInstance(); @@ -545,10 +548,13 @@ public void testFormat() throws ParseException System.out.println(c.toString(format,true)); } + @Test public void testSimpleEquals() throws ParseException { assertPolynomialEquals("a+b-(c+d)","(a+b)-c-d"); } + + @Test public void testBad() throws ParseException { if(SHOW_BAD) diff --git a/src/org/lsmp/djepJUnit/VectorJepTest.java b/src/test/java/org/lsmp/djepJUnit/VectorJepTest.java similarity index 90% rename from src/org/lsmp/djepJUnit/VectorJepTest.java rename to src/test/java/org/lsmp/djepJUnit/VectorJepTest.java index fb37afd..46a92b9 100644 --- a/src/org/lsmp/djepJUnit/VectorJepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/VectorJepTest.java @@ -5,46 +5,17 @@ */ package org.lsmp.djepJUnit; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.lsmp.djep.vectorJep.VectorJep; import org.nfunk.jep.ParseException; - -import junit.framework.Test; -import junit.framework.TestResult; -import junit.framework.TestSuite; - /** * @author Rich Morris * Created on 22-Apr-2005 */ public class VectorJepTest extends JepTest { - - /** - * @param name - */ - public VectorJepTest(String name) { - super(name); - // TODO Auto-generated constructor stub - } - - /** - * Create a test suite. - * @return the TestSuite - */ - public static Test suite() { - return new TestSuite(VectorJepTest.class); - } - - /** - * Main entry point. - * @param args - */ - public static void main(String args[]) { - // Create an instance of this class and analyse the file - - TestSuite suite= new TestSuite(VectorJepTest.class); - suite.run(new TestResult()); - } - + @BeforeEach protected void setUp() { j = new VectorJep(); j.addStandardConstants(); @@ -56,6 +27,7 @@ protected void setUp() { j.setImplicitMul(true); } + @Test public void testMatrix() throws Exception { System.out.println("\nTesting vector and matrix operations"); @@ -95,6 +67,7 @@ public void testMatrix() throws Exception valueTest("ele(x,[2,2])","4.0"); // Value: 2.0 } + @Test public void testLength() throws ParseException,Exception { System.out.println("\nTesting vector and matrix functions"); @@ -128,22 +101,30 @@ public void testLength() throws ParseException,Exception valueTest("Map(abs(x),x,[[-2,-1],[1,2]])","[[2.0,1.0],[1.0,2.0]]"); } + @Test @Disabled public void testSumVector() throws Exception { } + + @Test public void testVecCmp() throws Exception { valueTest("[1,2,3]==[1,2,3]",1); valueTest("[1,2,3]==[1,2,4]",0); } + + @Test @Disabled public void testDotInName() throws ParseException, Exception { } + + @Test public void testGenMatEle() throws Exception { System.out.println("The following caused a problem as ele only acepted Double arguments"); valueTest("m=[1,2,3]","[1.0,2.0,3.0]"); valueTest("GenMat(3,ele(m,n)*10,n)","[10.0,20.0,30.0]"); } - + + @Test public void testArrayAccess() throws Exception { System.out.println("\nTests array access on lhs and rhs using the a[3] notation"); valueTest("a=[1,2,3]","[1.0,2.0,3.0]"); @@ -155,7 +136,8 @@ public void testArrayAccess() throws Exception { valueTest("c","[[1.0,5.0],[3.0,4.0]]"); valueTest("c[2,1]",3); } - + + @Test public void testElementOperations() throws Exception { ((VectorJep) j).setElementMultiply(true); valueTest("[1,2,3] == [2,2,2]","[0.0,1.0,0.0]"); @@ -167,7 +149,8 @@ public void testElementOperations() throws Exception { valueTest("[1,2,3] * [2,2,2]","[2.0,4.0,6.0]"); valueTest("[1,2,3] / [2,2,2]","[0.5,1.0,1.5]"); } - + + @Test public void testComplexMatricies() throws Exception { valueTest("v=[1+i,1-2i]","[(1.0, 1.0),(1.0, -2.0)]"); valueTest("vsum(v)","(2.0, -1.0)"); diff --git a/src/org/lsmp/djepJUnit/XJepTest.java b/src/test/java/org/lsmp/djepJUnit/XJepTest.java similarity index 94% rename from src/org/lsmp/djepJUnit/XJepTest.java rename to src/test/java/org/lsmp/djepJUnit/XJepTest.java index 8a34d68..82ece70 100644 --- a/src/org/lsmp/djepJUnit/XJepTest.java +++ b/src/test/java/org/lsmp/djepJUnit/XJepTest.java @@ -5,16 +5,25 @@ */ package org.lsmp.djepJUnit; +import org.junit.jupiter.api.BeforeEach; +import org.lsmp.djep.xjep.BaseFormat; +import org.lsmp.djep.xjep.MacroFunction; +import org.lsmp.djep.xjep.PrintVisitor; +import org.lsmp.djep.xjep.XJep; +import org.lsmp.djep.xjep.XOperator; +import org.nfunk.jep.Node; +import org.nfunk.jep.OperatorSet; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.type.Complex; + import java.text.NumberFormat; import java.util.Vector; -import org.nfunk.jep.*; -import org.nfunk.jep.type.Complex; -import org.lsmp.djep.xjep.*; - -import junit.framework.Test; -import junit.framework.TestResult; -import junit.framework.TestSuite; +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; /** * @author Rich Morris @@ -22,19 +31,7 @@ */ public class XJepTest extends JepTest { - public XJepTest(String name) { - super(name); - } - - public static Test suite() { - return new TestSuite(XJepTest.class); - } - - public static void main(String[] args) { - TestSuite suite= new TestSuite(XJepTest.class); - suite.run(new TestResult()); - } - + @BeforeEach protected void setUp() { j = new XJep(); j.addStandardConstants(); @@ -67,7 +64,7 @@ public void simplifyTestString(String expr,String expected) throws ParseExceptio if(!expected.equals(res)) System.out.println("Error: Value of \""+expr+"\" is \""+res+"\" should be \""+expected+"\""); - assertEquals("<"+expr+">",expected,res); + assertEquals(expected,res, "<"+expr+">"); System.out.println("Success: Value of \""+expr+"\" is \""+res+"\""); } @@ -324,7 +321,7 @@ public void testReentrant() throws ParseException,Exception node = xj.continueParsing(); myAssertEquals("..., z=x+y;","3.0",calcValue(node).toString()); node = xj.continueParsing(); - assertNull("empty string ",node); + assertNull(node, "empty string "); } @@ -359,10 +356,10 @@ public void testVarInEqn() throws Exception Node n1 = j.parse("a+b+c+d"); Vector v = xj.getVarsInEquation(n1,new Vector()); - assertTrue("Does not contain a",v.contains(j.getSymbolTable().getVar("a"))); - assertTrue("Does not contain b",v.contains(j.getSymbolTable().getVar("b"))); - assertTrue("Does not contain c",v.contains(j.getSymbolTable().getVar("c"))); - assertTrue("Does not contain d",v.contains(j.getSymbolTable().getVar("d"))); + assertTrue(v.contains(j.getSymbolTable().getVar("a")), "Does not contain a"); + assertTrue(v.contains(j.getSymbolTable().getVar("b")), "Does not contain b"); + assertTrue(v.contains(j.getSymbolTable().getVar("c")), "Does not contain c"); + assertTrue(v.contains(j.getSymbolTable().getVar("d")), "Does not contain d"); xj.preprocess(j.parse("x=a+b t")); xj.preprocess(j.parse("y=c+d t")); @@ -383,7 +380,7 @@ public void testVarInEqn() throws Exception v3.add(j.getVar("g")); System.out.println(v2.toString()); - assertEquals("Bad element seq",v3,v2); + assertArrayEquals(v3.toArray(), v2.toArray(), "Bad element seq"); } public void testUndecVar() throws ParseException { diff --git a/src/org/lsmp/djepJUnit/package.html b/src/test/java/org/lsmp/djepJUnit/package.html similarity index 100% rename from src/org/lsmp/djepJUnit/package.html rename to src/test/java/org/lsmp/djepJUnit/package.html diff --git a/src/org/nfunk/jepexamples/Console.java b/src/test/java/org/nfunk/jepexamples/Console.java similarity index 100% rename from src/org/nfunk/jepexamples/Console.java rename to src/test/java/org/nfunk/jepexamples/Console.java diff --git a/src/org/nfunk/jepexamples/Evaluator.java b/src/test/java/org/nfunk/jepexamples/Evaluator.java similarity index 100% rename from src/org/nfunk/jepexamples/Evaluator.java rename to src/test/java/org/nfunk/jepexamples/Evaluator.java diff --git a/src/org/nfunk/jepexamples/Fractal.java b/src/test/java/org/nfunk/jepexamples/Fractal.java similarity index 100% rename from src/org/nfunk/jepexamples/Fractal.java rename to src/test/java/org/nfunk/jepexamples/Fractal.java diff --git a/src/org/nfunk/jepexamples/FractalCanvas.java b/src/test/java/org/nfunk/jepexamples/FractalCanvas.java similarity index 100% rename from src/org/nfunk/jepexamples/FractalCanvas.java rename to src/test/java/org/nfunk/jepexamples/FractalCanvas.java diff --git a/src/org/nfunk/jepexamples/FunctionPlotter.java b/src/test/java/org/nfunk/jepexamples/FunctionPlotter.java similarity index 100% rename from src/org/nfunk/jepexamples/FunctionPlotter.java rename to src/test/java/org/nfunk/jepexamples/FunctionPlotter.java diff --git a/src/org/nfunk/jepexamples/GraphCanvas.java b/src/test/java/org/nfunk/jepexamples/GraphCanvas.java similarity index 100% rename from src/org/nfunk/jepexamples/GraphCanvas.java rename to src/test/java/org/nfunk/jepexamples/GraphCanvas.java diff --git a/src/org/nfunk/jepexamples/LargeExpressionTest.java b/src/test/java/org/nfunk/jepexamples/LargeExpressionTest.java similarity index 100% rename from src/org/nfunk/jepexamples/LargeExpressionTest.java rename to src/test/java/org/nfunk/jepexamples/LargeExpressionTest.java diff --git a/src/org/nfunk/jepexamples/SimpleTest.java b/src/test/java/org/nfunk/jepexamples/SimpleTest.java similarity index 100% rename from src/org/nfunk/jepexamples/SimpleTest.java rename to src/test/java/org/nfunk/jepexamples/SimpleTest.java diff --git a/src/org/nfunk/jepexamples/ThreadTest.java b/src/test/java/org/nfunk/jepexamples/ThreadTest.java similarity index 100% rename from src/org/nfunk/jepexamples/ThreadTest.java rename to src/test/java/org/nfunk/jepexamples/ThreadTest.java diff --git a/src/org/nfunk/jepexamples/ThreadTestThread.java b/src/test/java/org/nfunk/jepexamples/ThreadTestThread.java similarity index 100% rename from src/org/nfunk/jepexamples/ThreadTestThread.java rename to src/test/java/org/nfunk/jepexamples/ThreadTestThread.java diff --git a/src/org/nfunk/jepexamples/package.html b/src/test/java/org/nfunk/jepexamples/package.html similarity index 100% rename from src/org/nfunk/jepexamples/package.html rename to src/test/java/org/nfunk/jepexamples/package.html diff --git a/src/org/nfunk/jeptesting/JEPTest.java b/src/test/java/org/nfunk/jeptesting/JEPTest.java similarity index 70% rename from src/org/nfunk/jeptesting/JEPTest.java rename to src/test/java/org/nfunk/jeptesting/JEPTest.java index 5f8e4b4..55d8dcf 100644 --- a/src/org/nfunk/jeptesting/JEPTest.java +++ b/src/test/java/org/nfunk/jeptesting/JEPTest.java @@ -9,13 +9,19 @@ package org.nfunk.jeptesting; -import java.io.*; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.nfunk.jep.JEP; +import org.nfunk.jep.type.Complex; -import junit.framework.Assert; -import junit.framework.TestCase; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; -import org.nfunk.jep.*; -import org.nfunk.jep.type.Complex; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; /** * This class is designed for testing the validity of JEP evaluations. @@ -27,38 +33,15 @@ *3. * The expressions '1+2' and '3' are evaluated with JEP and the results compared. */ -public class JEPTest extends TestCase { +public class JEPTest { /** The parser */ - JEP myParser; + private JEP myParser; /** Current line position */ - int lineCount; + private int lineCount; - /** - * Constructor - * - public JEPTester() { - // Set up the parser - myParser = new JEP(); - myParser.setImplicitMul(true); - myParser.addStandardFunctions(); - myParser.addStandardConstants(); - myParser.addComplex(); - myParser.setTraverse(false); - lineCount = 0; - }*/ - - /** - * Creates a new JEPTest instance - */ - public JEPTest(String name) { - super(name); - } - - /** - * Sets up the parser. - */ + @BeforeEach public void setUp() { // Set up the parser myParser = new JEP(); @@ -69,56 +52,26 @@ public void setUp() { myParser.setTraverse(false); lineCount = 0; } - - /** - * Runs the test. - */ - public void runTest() { - String fileName = "JEPTestExpressions.txt"; - testWithFile(fileName); - testGetValue(); - testGetComplexValue(); - testOpSetBug(); - } - - /** - * The main method checks the arguments and creates an instance - * and calls it's run method. - */ - public static void main(String args[]) { - String fileName; - - // get filename from argument, or use default - if (args!=null && args.length>0) { - fileName = args[0]; - } else { - fileName = "JEPTestExpressions.txt"; - println("Using default input file: " + fileName); - println("Start with \"java org.nfunk.jepexamples."+ - "JEPTest \" to load a different input file."); - } - - // Create an instance of this class and analyse the file - JEPTest jt = new JEPTest("JEP Test"); - jt.setUp(); - jt.testWithFile(fileName); - } /** * Loads the file specified in fileName. Evaluates the expressions listed * in it and compares the expressions with the results. */ - public void testWithFile(String fileName) { + @Test + public void testWithFile() { + final String resource = "/JEPTestExpressions.txt"; + InputStream ios = JEPTest.class.getResourceAsStream(resource); + BufferedReader reader; Object v1, v2; boolean hasError = false; // Load the input file try { - reader = new BufferedReader(new FileReader(fileName)); + reader = new BufferedReader(new InputStreamReader(ios)); } catch (Exception e) { - Assert.assertTrue(false); - println("File \""+fileName+"\" not found"); + assertTrue(false); + println("File \""+resource+"\" not found"); return; } @@ -230,50 +183,47 @@ private boolean equal(Object param1, Object param2) throws Exception // throw new Exception("Unable to compare the values of this type"); } - /** - * Test the getValue() method. - */ + @Test + @DisplayName("Test the getValue() method") public void testGetValue() { // Test whether a normal double value is returned correctly myParser.parseExpression("2.1345"); - Assert.assertEquals(myParser.getValue(), 2.1345, 0); + assertEquals(myParser.getValue(), 2.1345, 0.00001); - // Test whether NaN is returned for Somplex numbers + // Test whether NaN is returned for Complex numbers myParser.parseExpression("i"); - Assert.assertTrue(Double.isNaN(myParser.getValue())); + assertTrue(Double.isNaN(myParser.getValue())); // Test whether NaN is returned for String results myParser.parseExpression("\"asdf\""); - Assert.assertTrue(Double.isNaN(myParser.getValue())); + assertTrue(Double.isNaN(myParser.getValue())); } - /** - * Test the getComplexValue() method. - */ + @Test + @DisplayName("Test the getComplexValue() method.") public void testGetComplexValue() { // Test whether a normal double value is returned as a Complex myParser.parseExpression("2.1345"); - Assert.assertTrue(new Complex(2.1345, 0).equals( + assertTrue(new Complex(2.1345, 0).equals( myParser.getComplexValue(), 0)); // Test whether (0, 1) is returned for i myParser.parseExpression("i"); Complex z = myParser.getComplexValue(); - Assert.assertTrue(z != null); - Assert.assertTrue(z.re() == 0); - Assert.assertTrue(z.im() == 1); + assertTrue(z != null); + assertTrue(z.re() == 0); + assertTrue(z.im() == 1); // Test whether NaN is returned for String results myParser.parseExpression("\"asdf\""); - Assert.assertTrue(Double.isNaN(myParser.getValue())); + assertTrue(Double.isNaN(myParser.getValue())); } - /** - * Tests the uninitialized OperatorSet bug 1061200 - */ + @Test + @DisplayName("Tests the uninitialized OperatorSet bug 1061200") public void testOpSetBug() { JEP j = new JEP(false, true, true, null); - Assert.assertNotNull(j.getOperatorSet()); + assertNotNull(j.getOperatorSet()); } /** diff --git a/src/test/java/org/nfunk/jeptesting/LogarithmTest.java b/src/test/java/org/nfunk/jeptesting/LogarithmTest.java new file mode 100644 index 0000000..8254bf6 --- /dev/null +++ b/src/test/java/org/nfunk/jeptesting/LogarithmTest.java @@ -0,0 +1,25 @@ +package org.nfunk.jeptesting; + +import org.junit.jupiter.api.Test; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.function.Logarithm; + +import java.util.Stack; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class LogarithmTest { + /** + * Test method for 'org.nfunk.jep.function.Logarithm.run(Stack)' + * Tests the return value of log(NaN). This is a test for bug #1177557 + */ + @Test + public void testLogarithm() throws ParseException { + Logarithm logFunction = new Logarithm(); + Stack stack = new Stack<>(); + stack.push(Double.NaN); + logFunction.run(stack); + assertTrue(Double.isNaN(stack.pop())); + } + +} diff --git a/src/test/java/org/nfunk/jeptesting/NaturalLogarithmTest.java b/src/test/java/org/nfunk/jeptesting/NaturalLogarithmTest.java new file mode 100644 index 0000000..22a4c6d --- /dev/null +++ b/src/test/java/org/nfunk/jeptesting/NaturalLogarithmTest.java @@ -0,0 +1,24 @@ +package org.nfunk.jeptesting; + +import org.junit.jupiter.api.Test; +import org.nfunk.jep.ParseException; +import org.nfunk.jep.function.NaturalLogarithm; + +import java.util.Stack; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class NaturalLogarithmTest { + /** + * Test method for 'org.nfunk.jep.function.Logarithm.run(Stack)' + * Tests the return value of log(NaN). This is a test for bug #1177557 + */ + @Test + public void testNaturalLogarithm() throws ParseException { + NaturalLogarithm logFunction = new NaturalLogarithm(); + Stack stack = new Stack<>(); + stack.push(Double.NaN); + logFunction.run(stack); + assertTrue(Double.isNaN(stack.pop())); + } +} diff --git a/src/org/nfunk/jeptesting/package.html b/src/test/java/org/nfunk/jeptesting/package.html similarity index 100% rename from src/org/nfunk/jeptesting/package.html rename to src/test/java/org/nfunk/jeptesting/package.html diff --git a/bin/JEPTestExpressions.txt b/src/test/resources/JEPTestExpressions.txt similarity index 100% rename from bin/JEPTestExpressions.txt rename to src/test/resources/JEPTestExpressions.txt