mirror of
https://github.com/DanilaFe/abacus
synced 2026-01-25 08:05:19 +00:00
Compare commits
6 Commits
definition
...
unary-minu
| Author | SHA1 | Date | |
|---|---|---|---|
| ac17246317 | |||
| 18e0bdebc5 | |||
| 251d0fc2c5 | |||
| 93c1c53612 | |||
| 0b6798e28d | |||
| 4188c83a66 |
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
*
|
*
|
||||||
* This is a standard operator that simply performs addition.
|
* This is a standard operator that simply performs addition.
|
||||||
*/
|
*/
|
||||||
class OperatorAdd: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) {
|
class OperatorAdd: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2
|
params.size == 2
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import org.nwapw.abacus.plugin.standard.StandardPlugin.*
|
|||||||
*
|
*
|
||||||
* This is a standard operator that brings one number to the power of the other.
|
* This is a standard operator that brings one number to the power of the other.
|
||||||
*/
|
*/
|
||||||
class OperatorCaret: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 2) {
|
class OperatorCaret: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 3) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2
|
params.size == 2
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
*
|
*
|
||||||
* This is a standard operator that simply performs division.
|
* This is a standard operator that simply performs division.
|
||||||
*/
|
*/
|
||||||
class OperatorDivide: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
class OperatorDivide: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 2) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2
|
params.size == 2
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
*
|
*
|
||||||
* This is a standard operator that simply performs multiplication.
|
* This is a standard operator that simply performs multiplication.
|
||||||
*/
|
*/
|
||||||
class OperatorMultiply: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
class OperatorMultiply: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 2) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2
|
params.size == 2
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import org.nwapw.abacus.plugin.standard.StandardPlugin.OP_NPR
|
|||||||
* This is a standard operator that returns the number of possible combinations, regardless of order,
|
* This is a standard operator that returns the number of possible combinations, regardless of order,
|
||||||
* of a certain size can be taken out of a pool of a bigger size.
|
* of a certain size can be taken out of a pool of a bigger size.
|
||||||
*/
|
*/
|
||||||
class OperatorNcr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 0) {
|
class OperatorNcr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 1) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2 && params[0].isInteger()
|
params.size == 2 && params[0].isInteger()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
*
|
*
|
||||||
* This is a standard operator that negates a number.
|
* This is a standard operator that negates a number.
|
||||||
*/
|
*/
|
||||||
class OperatorNegate: NumberOperator(OperatorAssociativity.LEFT, OperatorType.UNARY_PREFIX, 0) {
|
class OperatorNegate: NumberOperator(OperatorAssociativity.LEFT, OperatorType.UNARY_PREFIX, 1) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 1
|
params.size == 1
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
* his is a standard operator that returns the number of possible combinations
|
* his is a standard operator that returns the number of possible combinations
|
||||||
* of a certain size can be taken out of a pool of a bigger size.
|
* of a certain size can be taken out of a pool of a bigger size.
|
||||||
*/
|
*/
|
||||||
class OperatorNpr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 0) {
|
class OperatorNpr: NumberOperator(OperatorAssociativity.RIGHT, OperatorType.BINARY_INFIX, 1) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2 && params[0].isInteger()
|
params.size == 2 && params[0].isInteger()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import org.nwapw.abacus.number.NumberInterface
|
|||||||
*
|
*
|
||||||
* This is a standard operator that performs subtraction.
|
* This is a standard operator that performs subtraction.
|
||||||
*/
|
*/
|
||||||
class OperatorSubtract: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 0) {
|
class OperatorSubtract: NumberOperator(OperatorAssociativity.LEFT, OperatorType.BINARY_INFIX, 1) {
|
||||||
|
|
||||||
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
override fun matchesParams(context: PluginEvaluationContext, params: Array<out NumberInterface>) =
|
||||||
params.size == 2
|
params.size == 2
|
||||||
|
|||||||
@@ -330,8 +330,10 @@ public class AbacusController implements PluginListener {
|
|||||||
}
|
}
|
||||||
} catch (AbacusException abacusError) {
|
} catch (AbacusException abacusError) {
|
||||||
outputText.setText(ERR_DEFINITION + " (" + abacusError.getMessage() + ")");
|
outputText.setText(ERR_DEFINITION + " (" + abacusError.getMessage() + ")");
|
||||||
|
abacusError.printStackTrace();
|
||||||
} catch (RuntimeException runtime) {
|
} catch (RuntimeException runtime) {
|
||||||
outputText.setText(ERR_DEFINITION + " (" + ERR_EXCEPTION + ")");
|
outputText.setText(ERR_DEFINITION + " (" + ERR_EXCEPTION + ")");
|
||||||
|
runtime.printStackTrace();
|
||||||
} catch (FileNotFoundException ignored) {}
|
} catch (FileNotFoundException ignored) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,13 +347,13 @@ public class AbacusController implements PluginListener {
|
|||||||
} catch (IOException | ClassNotFoundException e) {
|
} catch (IOException | ClassNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
abacus.reload();
|
reloadAbacus();
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void performReload() {
|
public void performReload() {
|
||||||
alertIfApplyNeeded(true);
|
alertIfApplyNeeded(true);
|
||||||
abacus.reload();
|
reloadAbacus();
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
@@ -391,6 +393,13 @@ public class AbacusController implements PluginListener {
|
|||||||
changesMade = true;
|
changesMade = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void reloadAbacus(){
|
||||||
|
abacus.reload();
|
||||||
|
for(String file : definitionFiles){
|
||||||
|
loadDefinitionFile(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad(PluginManager manager) {
|
public void onLoad(PluginManager manager) {
|
||||||
ExtendedConfiguration configuration = (ExtendedConfiguration) abacus.getConfiguration();
|
ExtendedConfiguration configuration = (ExtendedConfiguration) abacus.getConfiguration();
|
||||||
@@ -420,9 +429,6 @@ public class AbacusController implements PluginListener {
|
|||||||
}).collect(Collectors.toCollection(ArrayList::new)));
|
}).collect(Collectors.toCollection(ArrayList::new)));
|
||||||
functionList.sort(Comparator.comparing(Documentation::getCodeName));
|
functionList.sort(Comparator.comparing(Documentation::getCodeName));
|
||||||
definitionFiles.addAll(configuration.getDefinitionFiles());
|
definitionFiles.addAll(configuration.getDefinitionFiles());
|
||||||
for(String file : definitionFiles){
|
|
||||||
loadDefinitionFile(file);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user