Moved StaticVars to Settings, moved other packages and organized imports

This commit is contained in:
Andrea Cavalli 2018-09-12 22:16:33 +02:00
parent f57449c8d4
commit ba07692313
213 changed files with 444 additions and 804 deletions

View File

@ -13,9 +13,9 @@
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">

View File

@ -31,6 +31,11 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@ -1,221 +0,0 @@
package it.cavallium.warppi;
import java.awt.Component;
import java.awt.Image;
import java.awt.image.PixelGrabber;
import java.io.FileOutputStream;
public class BMPFile extends Component {
/**
*
*/
private static final long serialVersionUID = 9182927946568629682L;
// --- Private constants
private final static int BITMAPFILEHEADER_SIZE = 14;
private final static int BITMAPINFOHEADER_SIZE = 40;
// --- Private variable declaration
// --- Bitmap file header
@SuppressWarnings("unused")
private final byte bitmapFileHeader[] = new byte[14];
private final byte bfType[] = { 'B', 'M' };
private int bfSize = 0;
private final int bfReserved1 = 0;
private final int bfReserved2 = 0;
private final int bfOffBits = BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;
// --- Bitmap info header
@SuppressWarnings("unused")
private final byte bitmapInfoHeader[] = new byte[40];
private final int biSize = BITMAPINFOHEADER_SIZE;
private int biWidth = 0;
private int biHeight = 0;
private final int biPlanes = 1;
private final int biBitCount = 24;
private final int biCompression = 0;
private int biSizeImage = 0x030000;
private final int biXPelsPerMeter = 0x0;
private final int biYPelsPerMeter = 0x0;
private final int biClrUsed = 0;
private final int biClrImportant = 0;
// --- Bitmap raw data
private int bitmap[];
// --- File section
private FileOutputStream fo;
// --- Default constructor
public BMPFile() {}
public void saveBitmap(String parFilename, Image parImage, int parWidth, int parHeight) {
try {
fo = new FileOutputStream(parFilename);
save(parImage, parWidth, parHeight);
fo.close();
} catch (final Exception saveEx) {
saveEx.printStackTrace();
}
}
/*
* The saveMethod is the main method of the process. This method
* will call the convertImage method to convert the memory image to
* a byte array; method writeBitmapFileHeader creates and writes
* the bitmap file header; writeBitmapInfoHeader creates the
* information header; and writeBitmap writes the image.
*
*/
private void save(Image parImage, int parWidth, int parHeight) {
try {
convertImage(parImage, parWidth, parHeight);
writeBitmapFileHeader();
writeBitmapInfoHeader();
writeBitmap();
} catch (final Exception saveEx) {
saveEx.printStackTrace();
}
}
/*
* convertImage converts the memory image to the bitmap format (BRG).
* It also computes some information for the bitmap info header.
*
*/
private boolean convertImage(Image parImage, int parWidth, int parHeight) {
int pad;
bitmap = new int[parWidth * parHeight];
final PixelGrabber pg = new PixelGrabber(parImage, 0, 0, parWidth, parHeight, bitmap, 0, parWidth);
try {
pg.grabPixels();
} catch (final InterruptedException e) {
e.printStackTrace();
return (false);
}
pad = (4 - ((parWidth * 3) % 4)) * parHeight;
biSizeImage = ((parWidth * parHeight) * 3) + pad;
bfSize = biSizeImage + BITMAPFILEHEADER_SIZE + BITMAPINFOHEADER_SIZE;
biWidth = parWidth;
biHeight = parHeight;
return (true);
}
/*
* writeBitmap converts the image returned from the pixel grabber to
* the format required. Remember: scan lines are inverted in
* a bitmap file!
*
* Each scan line must be padded to an even 4-byte boundary.
*/
private void writeBitmap() {
int size;
int value;
int j;
int i;
int rowCount;
int rowIndex;
int lastRowIndex;
int pad;
int padCount;
final byte rgb[] = new byte[3];
size = (biWidth * biHeight) - 1;
pad = 4 - ((biWidth * 3) % 4);
if (pad == 4) {
pad = 0; // <==== Bug correction
}
rowCount = 1;
padCount = 0;
rowIndex = size - biWidth;
lastRowIndex = rowIndex;
try {
for (j = 0; j < size; j++) {
value = bitmap[rowIndex];
rgb[0] = (byte) (value & 0xFF);
rgb[1] = (byte) ((value >> 8) & 0xFF);
rgb[2] = (byte) ((value >> 16) & 0xFF);
fo.write(rgb);
if (rowCount == biWidth) {
padCount += pad;
for (i = 1; i <= pad; i++) {
fo.write(0x00);
}
rowCount = 1;
rowIndex = lastRowIndex - biWidth;
lastRowIndex = rowIndex;
} else {
rowCount++;
}
rowIndex++;
}
// --- Update the size of the file
bfSize += padCount - pad;
biSizeImage += padCount - pad;
} catch (final Exception wb) {
wb.printStackTrace();
}
}
/*
* writeBitmapFileHeader writes the bitmap file header to the file.
*
*/
private void writeBitmapFileHeader() {
try {
fo.write(bfType);
fo.write(intToDWord(bfSize));
fo.write(intToWord(bfReserved1));
fo.write(intToWord(bfReserved2));
fo.write(intToDWord(bfOffBits));
} catch (final Exception wbfh) {
wbfh.printStackTrace();
}
}
/*
*
* writeBitmapInfoHeader writes the bitmap information header
* to the file.
*
*/
private void writeBitmapInfoHeader() {
try {
fo.write(intToDWord(biSize));
fo.write(intToDWord(biWidth));
fo.write(intToDWord(biHeight));
fo.write(intToWord(biPlanes));
fo.write(intToWord(biBitCount));
fo.write(intToDWord(biCompression));
fo.write(intToDWord(biSizeImage));
fo.write(intToDWord(biXPelsPerMeter));
fo.write(intToDWord(biYPelsPerMeter));
fo.write(intToDWord(biClrUsed));
fo.write(intToDWord(biClrImportant));
} catch (final Exception wbih) {
wbih.printStackTrace();
}
}
/*
*
* intToWord converts an int to a word, where the return
* value is stored in a 2-byte array.
*
*/
private byte[] intToWord(int parValue) {
final byte retValue[] = new byte[2];
retValue[0] = (byte) (parValue & 0x00FF);
retValue[1] = (byte) ((parValue >> 8) & 0x00FF);
return (retValue);
}
/*
*
* intToDWord converts an int to a double word, where the return
* value is stored in a 4-byte array.
*
*/
private byte[] intToDWord(int parValue) {
final byte retValue[] = new byte[4];
retValue[0] = (byte) (parValue & 0x00FF);
retValue[1] = (byte) ((parValue >> 8) & 0x000000FF);
retValue[2] = (byte) ((parValue >> 16) & 0x000000FF);
retValue[3] = (byte) ((parValue >> 24) & 0x000000FF);
return (retValue);
}
}

View File

@ -2,9 +2,8 @@ package it.cavallium.warppi;
import java.io.IOException;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.boot.StartupArguments;
import it.cavallium.warppi.deps.Platform;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.device.HardwareTouchDevice;
import it.cavallium.warppi.device.InputManager;
@ -15,6 +14,7 @@ import it.cavallium.warppi.gui.DisplayManager;
import it.cavallium.warppi.gui.HUD;
import it.cavallium.warppi.gui.HardwareDisplay;
import it.cavallium.warppi.gui.screens.Screen;
import it.cavallium.warppi.util.ClassUtils;
public class Engine {
public static final Engine INSTANCE = new Engine();
@ -93,7 +93,7 @@ public class Engine {
Engine.getPlatform().getGpio().pinMode(12, Engine.getPlatform().getGpio().valuePwmOutput());
} else {
StaticVars.screenPos = new int[] { 0, 0 };
StaticVars.debugOn = true;
Engine.getPlatform().getSettings().setDebugEnabled(true);
}
}

View File

@ -1,9 +0,0 @@
package it.cavallium.warppi;
public class IntegerObj {
public int i;
public IntegerObj(int i) {
this.i = i;
}
}

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi.deps;
package it.cavallium.warppi;
import java.io.File;
import java.io.IOException;
@ -8,9 +8,9 @@ import java.net.URISyntaxException;
import java.net.URL;
import java.util.List;
import java.util.Map;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Skin;
import it.cavallium.warppi.util.Error;
public interface Platform {
@ -18,6 +18,7 @@ public interface Platform {
public Gpio getGpio();
public StorageUtils getStorageUtils();
public PngUtils getPngUtils();
public Settings getSettings();
public void setThreadName(Thread t, String name);
public void setThreadDaemon(Thread t);
@ -159,4 +160,23 @@ public interface Platform {
}
}
public interface Settings {
public boolean isDebugEnabled();
public void setDebugEnabled(boolean debugOn);
public default String getCalculatorName() {
return "WarpPI";
}
public default String getCalculatorNameLowercase() {
return "warppi";
}
public default String getCalculatorNameUppercase() {
return "WARPPI";
}
}
}

View File

@ -6,16 +6,13 @@ import it.cavallium.warppi.boot.StartupArguments;
import it.cavallium.warppi.flow.BehaviorSubject;
import it.cavallium.warppi.flow.Observable;
/*
* TODO: Move everything to Engine.Settings
*/
public class StaticVars {
public static final boolean enableVBO = true;
public static final String calculatorName = "WarpPI";
public static final String calculatorNameLOWER = calculatorName.toLowerCase();
public static final String calculatorNameUPPER = calculatorName.toUpperCase();
public static boolean haxMode = true;
public static final boolean zoomed = true;
public static int[] screenPos = new int[] { 0, 0 };
public static final int[] screenSize = new int[] { 480, 320 };
public static boolean debugOn;
public static int outputLevel = 0;
public static boolean debugWindow2x = false;
public static BehaviorSubject<Float> windowZoom = BehaviorSubject.create(2F);

View File

@ -4,14 +4,13 @@ import java.util.Arrays;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Engine.LoadingStatus;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.deps.Platform;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.Platform;
import it.cavallium.warppi.device.PIHardwareDisplay;
import it.cavallium.warppi.device.PIHardwareTouchDevice;
import it.cavallium.warppi.gui.CalculatorHUD;
import it.cavallium.warppi.gui.screens.LoadingScreen;
import it.cavallium.warppi.math.rules.RulesManager;
import it.cavallium.warppi.util.Error;
public class Boot {

View File

@ -8,7 +8,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.UUID;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.Engine;
public class CacheFile {
private String path;
@ -22,7 +22,7 @@ public class CacheFile {
path = UUID.randomUUID().toString() + ".ser";
} while (new File(path).exists());
try {
File.createTempFile(StaticVars.calculatorNameLOWER, "");
File.createTempFile(Engine.getPlatform().getSettings().getCalculatorNameLowercase(), "");
} catch (final IOException e) {
e.printStackTrace();
}

View File

@ -3,9 +3,8 @@ package it.cavallium.warppi.device;
import java.awt.event.KeyEvent;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.deps.DJogamp;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.device.chip.ParallelToSerial;
import it.cavallium.warppi.device.chip.SerialToParallel;
import it.cavallium.warppi.event.Key;
@ -42,7 +41,7 @@ public class Keyboard {
public synchronized void startKeyboard() {
final Thread kt = new Thread(() -> {
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
try {
while (true) {
if (debugKeyCode != -1) {
@ -215,7 +214,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.LOGARITHM);
}
break;
case DJogamp.VK_ENTER:
case KeyboardJogampValues.VK_ENTER:
case KeyEvent.VK_ENTER:
if (Keyboard.shift) {
Keyboard.keyPressed(Key.STEP);
@ -274,7 +273,7 @@ public class Keyboard {
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.NUM7);
} else if (Keyboard.shift) {
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Keyboard.keyPressed(Key.DIVIDE);
}
}
@ -315,7 +314,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.LETTER_M);
}
break;
case DJogamp.VK_ADD:
case KeyboardJogampValues.VK_ADD:
case KeyEvent.VK_ADD:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.PLUS);
@ -325,7 +324,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_SUBTRACT:
case KeyboardJogampValues.VK_SUBTRACT:
case KeyEvent.VK_SUBTRACT:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.MINUS);
@ -333,7 +332,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_MULTIPLY:
case KeyboardJogampValues.VK_MULTIPLY:
case KeyEvent.VK_MULTIPLY:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.MULTIPLY);
@ -341,7 +340,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_DIVIDE:
case KeyboardJogampValues.VK_DIVIDE:
case KeyEvent.VK_DIVIDE:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.DIVIDE);
@ -352,7 +351,7 @@ public class Keyboard {
case KeyEvent.VK_BACK_SPACE:
Keyboard.keyPressed(Key.DELETE);
break;
case DJogamp.VK_DELETE:
case KeyboardJogampValues.VK_DELETE:
case KeyEvent.VK_DELETE:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.RESET);
@ -360,7 +359,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_LEFT:
case KeyboardJogampValues.VK_LEFT:
case KeyEvent.VK_LEFT:
//LEFT
row = 2;
@ -372,7 +371,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_RIGHT:
case KeyboardJogampValues.VK_RIGHT:
case KeyEvent.VK_RIGHT:
//RIGHT
row = 2;
@ -384,7 +383,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_UP:
case KeyboardJogampValues.VK_UP:
case KeyEvent.VK_UP:
//UP
row = 1;
@ -396,7 +395,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_DOWN:
case KeyboardJogampValues.VK_DOWN:
case KeyEvent.VK_DOWN:
//DOWN
row = 3;
@ -419,7 +418,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_NUMPAD4:
case KeyboardJogampValues.VK_NUMPAD4:
case KeyEvent.VK_NUMPAD4:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.HISTORY_BACK);
@ -427,7 +426,7 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_NUMPAD6:
case KeyboardJogampValues.VK_NUMPAD6:
case KeyEvent.VK_NUMPAD6:
if (!Keyboard.shift && !Keyboard.alpha) {
Keyboard.keyPressed(Key.HISTORY_FORWARD);
@ -585,26 +584,26 @@ public class Keyboard {
Keyboard.keyPressed(Key.NONE);
}
break;
case DJogamp.VK_SHIFT:
case KeyboardJogampValues.VK_SHIFT:
case KeyEvent.VK_SHIFT:
Keyboard.keyPressed(Key.SHIFT);
break;
case KeyEvent.VK_CONTROL:
Keyboard.keyPressed(Key.ALPHA);
break;
case DJogamp.VK_NUMPAD1:
case KeyboardJogampValues.VK_NUMPAD1:
case KeyEvent.VK_NUMPAD1:
Keyboard.keyPressed(Key.SQRT);
break;
case DJogamp.VK_NUMPAD2:
case KeyboardJogampValues.VK_NUMPAD2:
case KeyEvent.VK_NUMPAD2:
Keyboard.keyPressed(Key.ROOT);
break;
case DJogamp.VK_NUMPAD3:
case KeyboardJogampValues.VK_NUMPAD3:
case KeyEvent.VK_NUMPAD3:
Keyboard.keyPressed(Key.POWER_OF_2);
break;
case DJogamp.VK_NUMPAD5:
case KeyboardJogampValues.VK_NUMPAD5:
case KeyEvent.VK_NUMPAD5:
Keyboard.keyPressed(Key.POWER_OF_x);
break;
@ -618,14 +617,14 @@ public class Keyboard {
int col = 1;
Keyboard.debugKeysDown[row - 1][col - 1] = false;
break;
case DJogamp.VK_LEFT:
case KeyboardJogampValues.VK_LEFT:
case KeyEvent.VK_LEFT:
//LEFT
row = 2;
col = 3;
Keyboard.debugKeysDown[row - 1][col - 1] = false;
break;
case DJogamp.VK_RIGHT:
case KeyboardJogampValues.VK_RIGHT:
case KeyEvent.VK_RIGHT:
//RIGHT
row = 2;
@ -633,14 +632,14 @@ public class Keyboard {
Keyboard.debugKeysDown[row - 1][col - 1] = false;
System.out.println("RELEASE");
break;
case DJogamp.VK_UP:
case KeyboardJogampValues.VK_UP:
case KeyEvent.VK_UP:
//UP
row = 1;
col = 4;
Keyboard.debugKeysDown[row - 1][col - 1] = false;
break;
case DJogamp.VK_DOWN:
case KeyboardJogampValues.VK_DOWN:
case KeyEvent.VK_DOWN:
//DOWN
row = 3;
@ -657,7 +656,7 @@ public class Keyboard {
}
public static boolean isKeyDown(int row, int col) {
if (StaticVars.debugOn == false) {
if (Engine.getPlatform().getSettings().isDebugEnabled() == false) {
return precedentStates[row - 1][col - 1];
} else {
return debugKeysDown[row - 1][col - 1];
@ -863,7 +862,7 @@ public class Keyboard {
}
public static void stopKeyboard() {
if (StaticVars.debugOn == false) {
if (Engine.getPlatform().getSettings().isDebugEnabled() == false) {
Engine.getPlatform().getGpio().digitalWrite(33, false);
Engine.getPlatform().getGpio().digitalWrite(35, false);
Engine.getPlatform().getGpio().digitalWrite(36, false);

View File

@ -1,6 +1,6 @@
package it.cavallium.warppi.deps;
package it.cavallium.warppi.device;
public interface DJogamp {
public interface KeyboardJogampValues {
//
// Unicode: Non printable controls: [0x00 - 0x1F]

View File

@ -1,7 +1,6 @@
package it.cavallium.warppi.device;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.gui.HardwareDisplay;
public class PIHardwareDisplay implements HardwareDisplay {
@ -14,7 +13,7 @@ public class PIHardwareDisplay implements HardwareDisplay {
@Override
public void setBrightness(double value) {
if (StaticVars.debugOn == false) {
if (Engine.getPlatform().getSettings().isDebugEnabled() == false) {
Engine.getPlatform().getGpio().pwmWrite(12, (int) Math.ceil(value * 1024f));
// SoftPwm.softPwmWrite(12, (int)(Math.ceil(brightness*10)));
} else {

View File

@ -11,9 +11,9 @@ import java.util.logging.Logger;
import javax.imageio.ImageIO;
import it.cavallium.warppi.ClassUtils;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.util.ClassUtils;
import it.cavallium.warppi.util.Utils;
/**
*

View File

@ -2,12 +2,11 @@ package it.cavallium.warppi.gui;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.device.Keyboard;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
import it.cavallium.warppi.gui.graphicengine.Skin;
import it.cavallium.warppi.util.Utils;
public class CalculatorHUD extends HUD {
@ -92,7 +91,7 @@ public class CalculatorHUD extends HUD {
final boolean canGoBack = Engine.INSTANCE.getHardwareDevice().getDisplayManager().canGoBack();
final boolean canGoForward = Engine.INSTANCE.getHardwareDevice().getDisplayManager().canGoForward();
if (StaticVars.haxMode) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
renderer.glFillRect(StaticVars.screenSize[0] - (padding + 16), 2, 16, 16, 16 * 18, 16 * 0, 16, 16);
padding += 18 + 6;
}

View File

@ -7,10 +7,9 @@ import java.util.List;
import org.apache.commons.lang3.tuple.Pair;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.Platform.Semaphore;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.deps.Platform.Semaphore;
import it.cavallium.warppi.device.Keyboard;
import it.cavallium.warppi.flow.Observable;
import it.cavallium.warppi.gui.graphicengine.BinaryFont;
@ -20,6 +19,7 @@ import it.cavallium.warppi.gui.graphicengine.RenderingLoop;
import it.cavallium.warppi.gui.graphicengine.Skin;
import it.cavallium.warppi.gui.graphicengine.nogui.NoGuiEngine;
import it.cavallium.warppi.gui.screens.Screen;
import it.cavallium.warppi.util.Utils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public final class DisplayManager implements RenderingLoop {
@ -327,7 +327,7 @@ public final class DisplayManager implements RenderingLoop {
fnt.use(engine);
}
renderer.glColor3i(129, 28, 22);
renderer.glDrawStringRight(StaticVars.screenSize[0] - 2, StaticVars.screenSize[1] - (fnt.getCharacterHeight() + 2), StaticVars.calculatorNameUPPER + " CALCULATOR");
renderer.glDrawStringRight(StaticVars.screenSize[0] - 2, StaticVars.screenSize[1] - (fnt.getCharacterHeight() + 2), Engine.getPlatform().getSettings().getCalculatorNameUppercase() + " CALCULATOR");
renderer.glColor3i(149, 32, 26);
renderer.glDrawStringCenter((StaticVars.screenSize[0] / 2), 22, error);
renderer.glColor3i(164, 34, 28);

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.gui;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
import it.cavallium.warppi.util.Error;
public class GUIErrorMessage {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.GraphicalElement;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.expression.ExtraMenu;
@ -8,6 +7,7 @@ import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public abstract class Block implements GraphicalElement {

View File

@ -1,7 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.gui.GraphicalElement;
import it.cavallium.warppi.gui.expression.Caret;
@ -13,6 +11,8 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.MathParser;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class BlockContainer implements GraphicalElement {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeatureDivision;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockDivision extends Block {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeatureLogarithm;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class BlockLogarithm extends Block {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeatureParenthesis;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class BlockParenthesis extends BlockParenthesisAbstract {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public abstract class BlockParenthesisAbstract extends Block {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeaturePowerChar;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockPower extends Block {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeaturePowerChar;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockPower2 extends Block {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeatureSine;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockSine extends BlockParenthesisAbstract {
public BlockSine() {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.Caret;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.parser.features.FeatureSquareRoot;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockSquareRoot extends Block {

View File

@ -1,8 +1,6 @@
package it.cavallium.warppi.gui.expression.blocks;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.event.KeyPressedEvent;
import it.cavallium.warppi.event.KeyReleasedEvent;
import it.cavallium.warppi.gui.expression.Caret;
@ -15,6 +13,7 @@ import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Variable.V_TYPE;
import it.cavallium.warppi.math.parser.features.FeatureVariable;
import it.cavallium.warppi.math.parser.features.interfaces.Feature;
import it.cavallium.warppi.util.Error;
public class BlockVariable extends Block {

View File

@ -2,7 +2,6 @@ package it.cavallium.warppi.gui.expression.containers;
import java.io.Serializable;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.event.KeyboardEventListener;
import it.cavallium.warppi.gui.GraphicalElement;
import it.cavallium.warppi.gui.expression.Caret;
@ -17,6 +16,7 @@ import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Renderer;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public abstract class InputContainer implements GraphicalElement, InputLayout, Serializable {

View File

@ -8,7 +8,7 @@ import java.net.URISyntaxException;
import javax.imageio.ImageIO;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.deps.Platform.PngUtils.PngReader;
import it.cavallium.warppi.Platform.PngUtils.PngReader;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.gui.graphicengine.Skin;

View File

@ -13,10 +13,10 @@ import java.util.logging.Logger;
import javax.imageio.ImageIO;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.gui.graphicengine.BinaryFont;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.util.Utils;
public abstract class RFTFont implements BinaryFont {

View File

@ -3,7 +3,7 @@ package it.cavallium.warppi.gui.graphicengine.nogui;
import java.io.IOException;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.deps.Platform.Semaphore;
import it.cavallium.warppi.Platform.Semaphore;
import it.cavallium.warppi.flow.Observable;
import it.cavallium.warppi.gui.graphicengine.BinaryFont;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;

View File

@ -2,11 +2,10 @@ package it.cavallium.warppi.gui.screens;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.event.KeyPressedEvent;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.functions.Variable.VariableValue;
import it.cavallium.warppi.util.Utils;
public class ChooseVariableValueScreen extends Screen {

View File

@ -2,7 +2,6 @@ package it.cavallium.warppi.gui.screens;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.event.KeyPressedEvent;
import it.cavallium.warppi.event.KeyReleasedEvent;
import it.cavallium.warppi.gui.graphicengine.Renderer;

View File

@ -2,7 +2,6 @@ package it.cavallium.warppi.gui.screens;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.gui.GraphicUtils;
public class LoadingScreen extends Screen {
@ -37,7 +36,7 @@ public class LoadingScreen extends Screen {
loadingTextTranslation = GraphicUtils.sinDeg(endLoading * 90f) * 10f;
endLoading += dt;
if (loaded && (StaticVars.debugOn || endLoading >= 3.5f)) {
if (loaded && (Engine.getPlatform().getSettings().isDebugEnabled() || endLoading >= 3.5f)) {
StaticVars.windowZoom.onNext(previousZoomValue);
Engine.INSTANCE.getHardwareDevice().getDisplayManager().setScreen(new MathInputScreen());
}

View File

@ -4,7 +4,6 @@ import java.io.IOException;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.device.Keyboard;
import it.cavallium.warppi.extra.mario.MarioGame;
import it.cavallium.warppi.extra.mario.MarioWorld;

View File

@ -3,12 +3,7 @@ package it.cavallium.warppi.gui.screens;
import java.io.IOException;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.device.Keyboard;
import it.cavallium.warppi.event.Key;
import it.cavallium.warppi.event.KeyPressedEvent;
@ -35,6 +30,9 @@ import it.cavallium.warppi.math.functions.Variable;
import it.cavallium.warppi.math.functions.Variable.VariableValue;
import it.cavallium.warppi.math.parser.MathParser;
import it.cavallium.warppi.math.solver.MathSolver;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.Utils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class MathInputScreen extends Screen {
@ -241,7 +239,7 @@ public class MathInputScreen extends Screen {
} catch (final InterruptedException ex) {
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_MIN, "Computing thread stopped.");
} catch (final Exception ex) {
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
ex.printStackTrace();
}
throw new Error(Errors.SYNTAX_ERROR);

View File

@ -2,7 +2,6 @@ package it.cavallium.warppi.gui.screens;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.event.KeyPressedEvent;
public class SolveForXScreen extends Screen {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public interface Function {

View File

@ -3,9 +3,9 @@ package it.cavallium.warppi.math;
import java.util.Arrays;
import java.util.List;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Utils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public abstract class FunctionDynamic implements Function {

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.Utils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public abstract class FunctionOperator implements Function {

View File

@ -1,7 +1,7 @@
package it.cavallium.warppi.math;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public abstract class FunctionSingle implements Function {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.functions.Variable.VariableValue;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.math.rules.RuleType;
import it.cavallium.warppi.math.rules.RulesManager;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class MathContext {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math;
import static it.cavallium.warppi.Utils.concat;
import static it.cavallium.warppi.util.Utils.concat;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.util.Utils;
public class MathematicalSymbols {
public static final char SUM = '+';

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockDivision;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Division extends FunctionOperator {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class EmptyNumber implements Function {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockParenthesis;
@ -13,6 +12,7 @@ import it.cavallium.warppi.math.functions.trigonometry.ArcTangent;
import it.cavallium.warppi.math.functions.trigonometry.Cosine;
import it.cavallium.warppi.math.functions.trigonometry.Sine;
import it.cavallium.warppi.math.functions.trigonometry.Tangent;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Expression extends FunctionSingle {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Joke implements Function {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockLogarithm;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Logarithm extends FunctionOperator {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.gui.expression.blocks.BlockParenthesis;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Multiplication extends FunctionOperator {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.gui.expression.blocks.BlockParenthesis;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Negative extends FunctionSingle {

View File

@ -6,8 +6,6 @@ import java.util.LinkedList;
import org.nevec.rjm.BigDecimalMath;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Utils;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
@ -16,6 +14,8 @@ import it.cavallium.warppi.gui.expression.blocks.BlockPower;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Utils;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Number implements Function {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockPower;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Power extends FunctionOperator {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Root extends FunctionOperator {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockSquareRoot;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class RootSquare extends FunctionOperator {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Subtraction extends FunctionOperator {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Sum extends FunctionOperator {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class SumSubtraction extends FunctionOperator {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockUndefined;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Undefined implements Function {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockChar;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Variable implements Function {

View File

@ -4,12 +4,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.solver.SolveMethod;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Equation extends FunctionOperator {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.functions.equations;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionDynamic;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class EquationsSystem extends FunctionDynamic {

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math.functions.equations;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class EquationsSystemPart extends FunctionSingle {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class ArcCosine extends FunctionSingle {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class ArcSine extends FunctionSingle {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class ArcTangent extends FunctionSingle {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Cosine extends FunctionSingle {

View File

@ -1,12 +1,12 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.blocks.BlockContainer;
import it.cavallium.warppi.gui.expression.blocks.BlockSine;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Sine extends FunctionSingle {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.functions.trigonometry;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class Tangent extends FunctionSingle {

View File

@ -1,11 +1,7 @@
package it.cavallium.warppi.math.parser;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.gui.expression.blocks.Block;
import it.cavallium.warppi.gui.expression.containers.InputContainer;
import it.cavallium.warppi.math.Function;
@ -30,6 +26,9 @@ import it.cavallium.warppi.math.parser.steps.FixSingleFunctionArgs;
import it.cavallium.warppi.math.parser.steps.FixSumsAndSubtractions;
import it.cavallium.warppi.math.parser.steps.JoinNumberAndVariables;
import it.cavallium.warppi.math.parser.steps.RemoveParentheses;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class MathParser {
@ -84,7 +83,7 @@ public class MathParser {
boolean lastLoopDidSomething;
Function lastElement;
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Engine.getPlatform().getConsoleUtils().out().print(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "\tStatus: ");
for (final Function f : functionsList) {
Engine.getPlatform().getConsoleUtils().out().print(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, f.toString());
@ -93,7 +92,7 @@ public class MathParser {
}
for (final MathParserStep step : steps) {
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Engine.getPlatform().getConsoleUtils().out().println(2, "Stack fixing step \"" + step.getStepName() + "\"");
}
final int stepQty = step.requiresReversedIteration() ? -1 : 1,
@ -101,7 +100,7 @@ public class MathParser {
do {
lastLoopDidSomething = false;
lastElement = null;
final IntegerObj curIndex = new IntegerObj(initialIndex);
final IntWrapper curIndex = new IntWrapper(initialIndex);
while (curIndex.i >= 0 && curIndex.i < functionsList.size()) {
final int i = curIndex.i;
final Function f = functionsList.get(i);
@ -115,7 +114,7 @@ public class MathParser {
}
} while (lastLoopDidSomething);
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Engine.getPlatform().getConsoleUtils().out().print(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "\tStatus: ");
for (final Function f : functionsList) {
Engine.getPlatform().getConsoleUtils().out().print(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, f.toString());

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**
@ -19,7 +19,7 @@ public interface MathParserStep {
* @param process
* @return true if something changed
*/
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsfunctionsList) throws Error;
public boolean requiresReversedIteration();

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Logarithm;
import it.cavallium.warppi.util.Error;
public class FeatureLogarithm extends FeatureDoubleImpl {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.MathematicalSymbols;
import it.cavallium.warppi.math.functions.Number;
import it.cavallium.warppi.math.parser.features.interfaces.FeatureBasic;
import it.cavallium.warppi.util.Error;
public class FeatureNumber implements FeatureBasic {
private String numberString;

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Expression;
import it.cavallium.warppi.util.Error;
public class FeatureParenthesis extends FeatureSingleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Power;
import it.cavallium.warppi.util.Error;
public class FeaturePower extends FeatureDoubleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
public class FeaturePowerChar extends FeatureSingleImpl {

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.trigonometry.Sine;
import it.cavallium.warppi.util.Error;
public class FeatureSine extends FeatureSingleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.RootSquare;
import it.cavallium.warppi.util.Error;
public class FeatureSquareRoot extends FeatureSingleImpl {

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Subtraction;
import it.cavallium.warppi.util.Error;
public class FeatureSubtraction extends FeatureDoubleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Sum;
import it.cavallium.warppi.util.Error;
public class FeatureSum extends FeatureDoubleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.SumSubtraction;
import it.cavallium.warppi.util.Error;
public class FeatureSumSubtraction extends FeatureDoubleImpl {

View File

@ -1,8 +1,8 @@
package it.cavallium.warppi.math.parser.features.interfaces;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.util.Error;
public abstract interface Feature {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Multiplication;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class AddImplicitMultiplications implements MathParserStep {
@ -16,7 +16,7 @@ public class AddImplicitMultiplications implements MathParserStep {
}
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) {
if (currentFunction instanceof Function) {
if (lastFunction instanceof Function) {

View File

@ -1,18 +1,18 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.functions.Division;
import it.cavallium.warppi.math.functions.Multiplication;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class FixMultiplicationsAndDivisions implements MathParserStep {
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) throws Error {
if (currentFunction instanceof Multiplication || currentFunction instanceof Division) {
if (currentFunction.getParameter(0) == null && currentFunction.getParameter(1) == null) {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionSingle;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**
@ -17,7 +17,7 @@ import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class FixSingleFunctionArgs implements MathParserStep {
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) throws Error {
if (currentFunction instanceof FunctionSingle) {
if (((FunctionSingle) currentFunction).getParameter() == null) {

View File

@ -1,19 +1,19 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Errors;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.functions.Subtraction;
import it.cavallium.warppi.math.functions.Sum;
import it.cavallium.warppi.math.functions.SumSubtraction;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.Error;
import it.cavallium.warppi.util.Errors;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class FixSumsAndSubtractions implements MathParserStep {
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) throws Error {
if (currentFunction instanceof Sum || currentFunction instanceof Subtraction || currentFunction instanceof SumSubtraction) {
if (currentFunction.getParameter(0) == null && currentFunction.getParameter(1) == null) {

View File

@ -1,6 +1,5 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Division;
@ -8,6 +7,7 @@ import it.cavallium.warppi.math.functions.Multiplication;
import it.cavallium.warppi.math.functions.Number;
import it.cavallium.warppi.math.functions.Variable;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class JoinNumberAndVariables implements MathParserStep {
@ -19,7 +19,7 @@ public class JoinNumberAndVariables implements MathParserStep {
}
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) {
if (currentFunction instanceof Number | currentFunction instanceof Variable | currentFunction instanceof Division) {
if (lastFunction instanceof Variable | lastFunction instanceof Number | (lastFunction instanceof Multiplication && ((Multiplication) lastFunction).getParameter2() != null)) {

View File

@ -1,10 +1,10 @@
package it.cavallium.warppi.math.parser.steps;
import it.cavallium.warppi.IntegerObj;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Expression;
import it.cavallium.warppi.math.parser.MathParserStep;
import it.cavallium.warppi.util.IntWrapper;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class RemoveParentheses implements MathParserStep {
@ -17,7 +17,7 @@ public class RemoveParentheses implements MathParserStep {
}
@Override
public boolean eval(IntegerObj curIndex, Function lastFunction, Function currentFunction,
public boolean eval(IntWrapper curIndex, Function lastFunction, Function currentFunction,
ObjectArrayList<Function> functionsList) {
if (currentFunction instanceof Expression) {
if (((Expression) currentFunction).getParameter() == null) {

View File

@ -1,7 +1,7 @@
package it.cavallium.warppi.math.rules;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**

View File

@ -10,19 +10,18 @@ import java.net.URISyntaxException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipFile;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.Platform.URLClassLoader;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.deps.Platform.URLClassLoader;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Expression;
import it.cavallium.warppi.math.functions.Variable;
import it.cavallium.warppi.math.functions.Variable.V_TYPE;
import it.cavallium.warppi.math.solver.MathSolver;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class RulesManager {

View File

@ -1,11 +1,11 @@
package it.cavallium.warppi.math.rules.methods;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Division;
import it.cavallium.warppi.math.functions.Multiplication;
import it.cavallium.warppi.math.functions.Number;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**

View File

@ -1,9 +1,9 @@
package it.cavallium.warppi.math.rules.methods;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.MathContext;
import it.cavallium.warppi.math.functions.Multiplication;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**

View File

@ -2,7 +2,6 @@ package it.cavallium.warppi.math.rules.methods;
import java.math.BigDecimal;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.MathContext;
@ -10,6 +9,7 @@ import it.cavallium.warppi.math.functions.Negative;
import it.cavallium.warppi.math.functions.Number;
import it.cavallium.warppi.math.functions.Subtraction;
import it.cavallium.warppi.math.functions.Sum;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
/**

View File

@ -4,12 +4,11 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.Error;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.deps.Platform.ConsoleUtils;
import it.cavallium.warppi.Platform.ConsoleUtils;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.rules.Rule;
import it.cavallium.warppi.math.rules.RuleType;
import it.cavallium.warppi.util.Error;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
public class MathSolver {
@ -76,10 +75,10 @@ public class MathSolver {
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "Math Solver", stepName, "Step result: " + stepResult);
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "Math Solver", stepName, "Step result details: Consecutive steps that did nothing: " + consecutiveNullSteps + ", this step did " + stepStateRepetitions + " simplifications.");
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "Math Solver", stepName, "Next step state: " + stepStates[endStepState]);
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "Math Solver", stepName, currFnc + " is " + (checkEquals(currFnc, lastFunctions[0][endStepState]) ? "" : "not ") + "equals to [0]:" + lastFunctions[0][endStepState]);
}
if (StaticVars.debugOn) {
if (Engine.getPlatform().getSettings().isDebugEnabled()) {
Engine.getPlatform().getConsoleUtils().out().println(ConsoleUtils.OUTPUTLEVEL_DEBUG_VERBOSE, "Math Solver", stepName, currFnc + " is " + (checkEquals(currFnc, lastFunctions[1][endStepState]) ? "" : "not ") + "equals to [1]:" + lastFunctions[1][endStepState]);
}
} while (consecutiveNullSteps < stepStates.length && !checkEquals(currFnc, lastFunctions[0][endStepState]) && !checkEquals(currFnc, lastFunctions[1][endStepState]));

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi;
package it.cavallium.warppi.util;
import java.util.Collections;
import java.util.HashMap;

View File

@ -1,8 +1,4 @@
package it.cavallium.warppi;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
package it.cavallium.warppi.util;
public class ClassUtils {

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi;
package it.cavallium.warppi.util;
public class Error extends java.lang.Throwable {

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi;
package it.cavallium.warppi.util;
public enum Errors {
ERROR, DIVISION_BY_ZERO, UNBALANCED_STACK, NOT_IMPLEMENTED, NEGATIVE_PARAMETER, NUMBER_TOO_LARGE, NUMBER_TOO_SMALL, CONVERSION_ERROR, SYNTAX_ERROR, NOT_AN_EQUATION, TIMEOUT, MISSING_ARGUMENTS

View File

@ -0,0 +1,9 @@
package it.cavallium.warppi.util;
public class IntWrapper {
public int i;
public IntWrapper(int i) {
this.i = i;
}
}

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi;
package it.cavallium.warppi.util;
import java.math.BigInteger;
import java.util.Iterator;

View File

@ -1,4 +1,4 @@
package it.cavallium.warppi;
package it.cavallium.warppi.util;
import java.io.ByteArrayOutputStream;
import java.io.File;
@ -12,19 +12,17 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.nevec.rjm.BigDecimalMath;
import org.nevec.rjm.Rational;
import it.cavallium.warppi.device.HardwareDevice;
import it.cavallium.warppi.Engine;
import it.cavallium.warppi.StaticVars;
import it.cavallium.warppi.gui.graphicengine.BinaryFont;
import it.cavallium.warppi.gui.graphicengine.GraphicEngine;
import it.cavallium.warppi.math.Function;
import it.cavallium.warppi.math.FunctionOperator;
import it.cavallium.warppi.math.FunctionSingle;

Some files were not shown because too many files have changed in this diff Show More