Arthur Drobot
|
e029ab1fea
|
Add argument checks in division and natural log.
|
2017-08-04 10:05:18 -07:00 |
|
|
af56d31723
|
Implement a getPi function for the plugin, and use the new pi value.
|
2017-08-04 09:55:24 -07:00 |
|
Riley Jones
|
eff7be0204
|
StandardPlugin uses null
|
2017-08-03 23:59:23 -07:00 |
|
|
34ae4b42c6
|
Add attempt to find the number implementation from the class.
|
2017-08-03 22:16:08 -07:00 |
|
|
b680215f57
|
Make the promotion map protected and use classes.
|
2017-08-03 21:27:53 -07:00 |
|
|
e6cc08043e
|
Add the number implementation to the plugin manager, and use it.
|
2017-08-03 21:05:25 -07:00 |
|
|
3e10ea223f
|
Add a class that keeps track of the implementation information.
|
2017-08-03 20:50:53 -07:00 |
|
|
44c52b412c
|
Remove old reference to the promotion system and the number class map.
|
2017-08-03 20:50:39 -07:00 |
|
|
eb51d5d3e4
|
Add a save and reload button.
|
2017-08-03 19:00:13 -07:00 |
|
|
8ae28f2dab
|
Add the apply warnings when switching tabs.
|
2017-08-03 18:16:48 -07:00 |
|
|
0bade4a7df
|
Add warnings that trigger if configuration has been changed.
|
2017-08-03 18:12:40 -07:00 |
|
Riley Jones
|
9d5f9d901c
|
Plugin fixes
|
2017-08-03 15:16:26 -07:00 |
|
|
0f02867a4e
|
Add the list of number interface providers to Plugins.
|
2017-08-03 14:10:04 -07:00 |
|
Riley Jones
|
dad546c5b5
|
Add stop button
|
2017-08-03 14:04:09 -07:00 |
|
|
f0e1b85dcf
|
Make sure disk writes are only on save, and add an alert dialog.
|
2017-08-03 13:55:39 -07:00 |
|
|
37261c2f58
|
Fix order of operations bug.
|
2017-08-03 13:14:09 -07:00 |
|
|
691118c206
|
Add a number provider cache.
|
2017-08-03 10:54:09 -07:00 |
|
Arthur Drobot
|
95845a1585
|
Add tan, sec, csc, cot in terms of what we currently have.
|
2017-08-03 10:30:42 -07:00 |
|
|
819fff6391
|
Change the cache search function to be more generic.
|
2017-08-03 10:03:13 -07:00 |
|
Arthur Drobot
|
8cf0c94947
|
Add cos.
|
2017-08-03 09:52:56 -07:00 |
|
|
20f6e0b0b2
|
Merge branch 'plugin-list'
|
2017-08-03 09:34:14 -07:00 |
|
|
4056013d1f
|
Add defaults that actually work.
|
2017-08-02 21:57:53 -07:00 |
|
|
be28e26607
|
Stop autosaving, switch to save + reload buttons.
|
2017-08-02 19:40:22 -07:00 |
|
|
2f1ed5f0d1
|
Change the default implementation string to "<default>"
|
2017-08-02 19:26:14 -07:00 |
|
|
2615273d28
|
Refresh all settings on plugin load.
|
2017-08-02 19:18:33 -07:00 |
|
|
6e1d2ce629
|
Clear caches on unload and call onUnload before plugins are removed.
|
2017-08-02 19:14:50 -07:00 |
|
|
44b8efd9bc
|
Actually disable loading the plugin functions in the PluginManager.
|
2017-08-02 19:06:16 -07:00 |
|
|
2502c90837
|
Write disabled / enabled plugins to the configuration.
|
2017-08-02 19:01:01 -07:00 |
|
|
e49f28a850
|
Add a check box list cell generator.
|
2017-08-02 18:48:42 -07:00 |
|
|
88e4a87d81
|
Add a data model for the plugins displayed in the enabled plugins list.
|
2017-08-02 18:39:00 -07:00 |
|
|
cda09518c3
|
Add the disabled plugins configuration option.
|
2017-08-02 18:38:37 -07:00 |
|
|
56510d97de
|
Add the new UI components required for the plugin loading.
|
2017-08-02 18:24:20 -07:00 |
|
Arthur Drobot
|
86533d53c9
|
Fix scaling for optimization in FUNCTION_LN, in the positive direction towards unity (i.e., when the argument passed to ln is small).
|
2017-08-02 15:33:34 -07:00 |
|
Arthur Drobot
|
9b71f9aaf4
|
Add comments for FUNCTION_SIN and intFactorial in StandardPlugin.
|
2017-08-02 15:13:04 -07:00 |
|
Arthur Drobot
|
cf953da40a
|
Fix getPi function.
|
2017-08-02 14:13:30 -07:00 |
|
Arthur Drobot
|
27ad10c0f1
|
Remember to use floor in the angle reduction function. Comment debugging output.
|
2017-08-02 13:27:39 -07:00 |
|
Arthur Drobot
|
601c4fea55
|
Change ceiling and floor to return NumberInterface. Add fractional part function. Add intValue function. Change StandardPlugin correspondingly.
|
2017-08-02 12:00:56 -07:00 |
|
|
c2ae0b4138
|
Merge branch 'negatives'
|
2017-08-02 11:33:21 -07:00 |
|
|
16938b4e06
|
Fix division to not multiply numbers.
|
2017-08-02 11:28:49 -07:00 |
|
|
d964fbfb6f
|
Implement the negation operator.
|
2017-08-02 11:26:59 -07:00 |
|
Arthur Drobot
|
52fbfd5134
|
Change getPi to calculate pi using a series.
|
2017-08-02 11:03:17 -07:00 |
|
|
9713f24ed2
|
Rename nodes to more general names.
|
2017-08-02 10:41:52 -07:00 |
|
|
5de9453bec
|
Merge branch 'config-rewrite'
|
2017-08-01 16:42:58 -07:00 |
|
Arthur Drobot
|
b31151384d
|
Implement sin function and helper functions such as getSmallAngle and floor.
|
2017-08-01 15:36:54 -07:00 |
|
|
d205651332
|
Add a number implementation selector box.
|
2017-08-01 11:52:48 -07:00 |
|
|
6f99f07150
|
Add comment to PreciseNumber.
|
2017-08-01 10:49:50 -07:00 |
|
|
2cf41c1029
|
Add comments to the JavaFX codebase
|
2017-08-01 10:49:00 -07:00 |
|
|
76677ef494
|
Merge the two configuration classes into one.
|
2017-08-01 10:24:32 -07:00 |
|
|
0cd40b028a
|
Merge branch 'javafx'
|
2017-08-01 09:53:47 -07:00 |
|
|
7cb04a1222
|
Switch to the new UI.
|
2017-08-01 09:53:38 -07:00 |
|
|
0a97eeb442
|
Resize table columns.
|
2017-08-01 09:25:13 -07:00 |
|
Arthur Drobot
|
1ee8c7d231
|
Keep 15 additional decimal places.
|
2017-07-31 23:16:37 -07:00 |
|
Arthur Drobot
|
f97d16c640
|
Comment out debugging output.
|
2017-07-31 23:09:11 -07:00 |
|
Arthur Drobot
|
a0bba03c2c
|
Separate power and factorial calculations to fix large precision loss in exp.
|
2017-07-31 22:56:55 -07:00 |
|
|
05d0755526
|
Implement a cell that copies input when clicked, and add it to table.
|
2017-07-31 22:53:42 -07:00 |
|
|
0b97a935bf
|
Enable cell selection to later allow for data copying.
|
2017-07-31 22:34:49 -07:00 |
|
|
211e963db0
|
Populate the history table.
|
2017-07-31 22:29:44 -07:00 |
|
|
d8145acc8f
|
Implement the history data model.
|
2017-07-31 17:49:57 -07:00 |
|
|
63b8162a9b
|
Format the fxml.
|
2017-07-31 17:18:08 -07:00 |
|
|
c655c63233
|
Link up the evaluation and the UI buttons.
|
2017-07-31 17:17:56 -07:00 |
|
|
27ff1a47b5
|
Add the inputs to the calculator tab.
|
2017-07-31 17:16:26 -07:00 |
|
|
2941252f7d
|
Add a tabbed pane as the main focus of the window.
|
2017-07-31 16:56:38 -07:00 |
|
|
44ed0199d4
|
Add initialization code to AbacusController
|
2017-07-31 16:52:34 -07:00 |
|
|
5b582a7dbe
|
Add FXML loading application.
|
2017-07-31 16:50:39 -07:00 |
|
|
a02086e791
|
Create new fxml file and controller for it.
|
2017-07-31 16:48:04 -07:00 |
|
Arthur Drobot
|
8666e96420
|
Remove unused code and functions in StandardPlugin.
|
2017-07-31 14:53:41 -07:00 |
|
Arthur Drobot
|
fd40e6b297
|
Rewrite exp. (Now works faster.) Add private factorial function to StandardPlugin as well.
|
2017-07-31 14:49:25 -07:00 |
|
Arthur Drobot
|
79ccd61af3
|
Add ceiling to NumberInterface and the two numbers that implement it.
|
2017-07-31 13:25:23 -07:00 |
|
Arthur Drobot
|
699ba9e193
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-31 12:40:19 -07:00 |
|
Arthur Drobot
|
e43f223086
|
Optimize log.
|
2017-07-31 12:39:56 -07:00 |
|
|
2dbc91f79e
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-31 11:54:25 -07:00 |
|
Arthur Drobot
|
782636a982
|
Fix comment.
|
2017-07-31 10:28:39 -07:00 |
|
|
97d63489cc
|
Focus on the text field on startup.
|
2017-07-30 21:25:21 -07:00 |
|
|
a0a4f1fbfe
|
Add comments to the newly defined static functions.
|
2017-07-30 21:15:01 -07:00 |
|
|
763683b6b4
|
Move OP_CARET back into place.
|
2017-07-30 21:12:50 -07:00 |
|
|
3ce74303ed
|
Format code.
|
2017-07-30 21:11:32 -07:00 |
|
|
122874b97a
|
Move all functions to a static context, stopping unnecessary lookups.
|
2017-07-30 21:10:11 -07:00 |
|
|
0125980c5a
|
Write tests involving plugin loading, and generalize token testing code.
|
2017-07-30 19:21:26 -07:00 |
|
|
cb7d0f309b
|
Remove the window as a part of the Abacus class.
|
2017-07-30 15:00:08 -07:00 |
|
|
cb98601ae5
|
Add some comments.
|
2017-07-30 14:59:20 -07:00 |
|
|
67b95edd44
|
Write basic tokenizer tests.
|
2017-07-30 14:52:10 -07:00 |
|
|
960f891393
|
Remove abacus dependency from PluginManager.
|
2017-07-30 14:42:06 -07:00 |
|
|
b599bef775
|
Write more tests for the Lexer.
|
2017-07-30 14:12:17 -07:00 |
|
|
28004ed98d
|
Write tests for special cases.
|
2017-07-30 00:46:42 -07:00 |
|
|
317cc552e6
|
Write basic tests for string matching.
|
2017-07-29 23:48:01 -07:00 |
|
|
43c11f8454
|
Move the source files into a new default directory.
|
2017-07-29 23:44:21 -07:00 |
|
|
3131d96d07
|
Merge branch 'new-parser-prep' into unit-tests
|
2017-07-29 23:42:23 -07:00 |
|
|
7b2ee1c87a
|
Create empty class, getting ready to write tests.
|
2017-07-29 21:49:36 -07:00 |
|
|
274826cc09
|
Replace the old TreeBuilder with the new TreeBuilder.
|
2017-07-29 21:37:55 -07:00 |
|
|
bfee4ec322
|
Implement a LexerTokenizer and a ShuntingYard parser.
These are basically two pieces of the old TreeBuilder, but decoupled
and reimplemented conventionally.
|
2017-07-29 21:37:32 -07:00 |
|
|
bd1f7b8786
|
Add comments to the two parsing interfaces.
|
2017-07-29 21:36:39 -07:00 |
|
|
90c6625108
|
Change matches to store the string they matched.
|
2017-07-29 21:20:11 -07:00 |
|
|
a99b6b647f
|
Implement the components of a new tree builder.
|
2017-07-29 21:02:41 -07:00 |
|
|
9454620489
|
Remove precision specification as it seems detrimental.
|
2017-07-28 22:51:59 -07:00 |
|
|
1160768ee5
|
Allow plugins to register number implementations and use user's choice.
|
2017-07-28 22:17:22 -07:00 |
|
|
1ce9fc6b1c
|
Add configuration object to Abacus.
|
2017-07-28 21:37:47 -07:00 |
|
|
acf3d85584
|
Merge branch 'configuration' into architecture
|
2017-07-28 21:31:45 -07:00 |
|
|
6c80d8fe93
|
Rewrite Abacus to be the central class of the application.
|
2017-07-28 21:25:02 -07:00 |
|
|
c230675855
|
Change precision to getMaxPrecision, as precision can be configured.
|
2017-07-28 20:04:13 -07:00 |
|
|
bd44307f2b
|
Create a ConfigurationObject class.
|
2017-07-28 20:03:50 -07:00 |
|
|
a949a27da4
|
Make ClassFinder return generic List objects.
|
2017-07-28 19:36:34 -07:00 |
|
|
5c301e4afa
|
Load default plugin without jars.
|
2017-07-28 15:22:38 -07:00 |
|
|
8c5306051e
|
Add a toString for UnaryPrefixNode
|
2017-07-28 14:57:11 -07:00 |
|
|
c3bb3d7d3f
|
Remove unused default value from PreciseNumber
|
2017-07-28 14:55:01 -07:00 |
|
|
556a72f946
|
Change the constructor for NumberNode
|
2017-07-28 14:47:34 -07:00 |
|
|
f303093a3f
|
Add a promotion priority to PerciseNumber
|
2017-07-28 14:39:37 -07:00 |
|
|
8dae4a880e
|
Comment class finder.
|
2017-07-28 14:32:27 -07:00 |
|
|
243dc81deb
|
Change ClassFinder code to be static.
|
2017-07-28 14:21:43 -07:00 |
|
|
0c07695991
|
Merge branch 'unary'
|
2017-07-28 13:28:59 -07:00 |
|
|
ff689f9bd5
|
Merge branch 'big-decimal'
|
2017-07-28 13:18:44 -07:00 |
|
Arthur Drobot
|
c184b55738
|
Implement preciseNumber for arbitrary precision.
|
2017-07-28 11:38:22 -07:00 |
|
|
dc410917b3
|
Remove old ClassFinder and hardcoded folder names, and fix class filter.
|
2017-07-28 11:35:23 -07:00 |
|
|
9850f896bb
|
Remove unneeded files from git.
|
2017-07-28 11:23:25 -07:00 |
|
|
0b3648d4f3
|
Fix null pointer exceptions associated with turning ! into an operator.
|
2017-07-28 11:19:41 -07:00 |
|
rileyJones
|
69e3b55643
|
Add external plugin support
|
2017-07-28 11:17:54 -07:00 |
|
|
2ba6e22fcb
|
Rename OpNode to BinaryInfixNode.
|
2017-07-28 11:15:36 -07:00 |
|
|
5228773b5e
|
Implement unary operators.
|
2017-07-28 11:14:45 -07:00 |
|
|
42393ca6a6
|
Add operator types.
|
2017-07-28 10:26:25 -07:00 |
|
|
b20ddc2013
|
Add rounding to naive number.
|
2017-07-28 09:57:39 -07:00 |
|
|
a881640bf6
|
Make the decimal matching optional.
|
2017-07-28 09:52:14 -07:00 |
|
|
0263086e10
|
Add link nodes to collections and check for their presence.
This prevents infinite loops, as Link nodes do not follow regular
addInto behavior.
|
2017-07-28 09:51:59 -07:00 |
|
|
c9fad36d16
|
Fix bug causing an NPE when sqrt() was called.
|
2017-07-27 19:30:40 -07:00 |
|
|
2cc4bd14ce
|
Switch all uses of *List, *Map to just List and Map.
|
2017-07-27 18:19:12 -07:00 |
|
|
f119f19c04
|
Make pow an operator, represented by caret.
|
2017-07-27 16:55:18 -07:00 |
|
|
65772c8d57
|
Fix function argument order.
|
2017-07-27 16:52:16 -07:00 |
|
|
bbbb2e855e
|
Fix typo.
|
2017-07-27 16:37:54 -07:00 |
|
|
8a29019852
|
Add ignoring whitespace and fix function precedence.
|
2017-07-27 16:36:13 -07:00 |
|
|
0d7a416446
|
Add a missing comment.
|
2017-07-27 16:27:26 -07:00 |
|
|
167e13cfe1
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-27 15:28:21 -07:00 |
|
|
b0ae3f90fc
|
Add sanitization to TreeBuilder.
|
2017-07-27 15:26:02 -07:00 |
|
|
a7c2084254
|
Remove backslashes that will be obsolete.
|
2017-07-27 15:02:13 -07:00 |
|
rileyJones
|
bf6f48bf82
|
Jar Plugin Loader
|
2017-07-27 14:33:08 -07:00 |
|
|
f7da896fc0
|
Fix several bugs and register operations as operations.
|
2017-07-27 14:15:45 -07:00 |
|
|
6813643b15
|
Merge branch 'plugins'
|
2017-07-27 14:08:40 -07:00 |
|
|
e6cb755ec9
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-27 14:08:31 -07:00 |
|
|
2ca23fd427
|
Implement correct plugin loading and registration.
|
2017-07-27 14:06:57 -07:00 |
|
|
efbd6a4c20
|
Add missing return documentation.
|
2017-07-27 14:06:25 -07:00 |
|
|
a211884499
|
Prevent operation lookups, as they pollute the cache.
|
2017-07-27 14:06:15 -07:00 |
|
|
f2c280766d
|
Add a PluginListener type for use in the PluginManager.
|
2017-07-27 14:06:04 -07:00 |
|
Arthur Drobot
|
088a45cf4c
|
Add sqrt function.
|
2017-07-27 13:47:51 -07:00 |
|
Arthur Drobot
|
557bc66e53
|
Begin working on memoization for factorial. (Commented out for now.)
|
2017-07-27 13:39:19 -07:00 |
|
|
e6559015b3
|
Rename load to onLoad and add onDisable to plugin.
|
2017-07-27 13:26:17 -07:00 |
|
|
f931b9f322
|
Move parsing code into TreeBuilder, change lexing and parsing algorithms
|
2017-07-27 13:25:57 -07:00 |
|
Arthur Drobot
|
9666ef9019
|
Add pow function.
|
2017-07-27 13:17:22 -07:00 |
|
Arthur Drobot
|
ba30227b28
|
Add natural log function. May not be terribly efficient currently, but it works and is usable.
|
2017-07-27 13:04:41 -07:00 |
|
|
78e2d50f89
|
Add comments and clear appropriate cache.
|
2017-07-27 10:58:11 -07:00 |
|
|
07dd9d0a1a
|
Support removing expressions.
|
2017-07-27 10:54:11 -07:00 |
|
|
ee1de6dc17
|
Add the operator that had been in use by Plugin and PluginManager.
|
2017-07-27 10:53:56 -07:00 |
|
|
077a34c618
|
Switch Lexer to use a map for patterns, to allow for removal.
|
2017-07-27 10:47:11 -07:00 |
|
|
79e85832ce
|
Add operator map to Plugin class, and use it in PluginManager.
|
2017-07-27 10:38:18 -07:00 |
|