|
02b87bfae4
|
Populate the history table.
|
2017-07-31 22:29:44 -07:00 |
|
|
61ead67535
|
Implement the history data model.
|
2017-07-31 17:49:57 -07:00 |
|
|
d61cc7bb9c
|
Format the fxml.
|
2017-07-31 17:18:08 -07:00 |
|
|
8c935983b2
|
Link up the evaluation and the UI buttons.
|
2017-07-31 17:17:56 -07:00 |
|
|
41395f09f9
|
Add the inputs to the calculator tab.
|
2017-07-31 17:16:26 -07:00 |
|
|
192fe7de76
|
Add a tabbed pane as the main focus of the window.
|
2017-07-31 16:56:38 -07:00 |
|
|
d42172ce03
|
Add initialization code to AbacusController
|
2017-07-31 16:52:34 -07:00 |
|
|
0b173a68dd
|
Add FXML loading application.
|
2017-07-31 16:50:39 -07:00 |
|
|
5c886cee60
|
Create new fxml file and controller for it.
|
2017-07-31 16:48:04 -07:00 |
|
Arthur Drobot
|
87f98228d0
|
Remove unused code and functions in StandardPlugin.
|
2017-07-31 14:53:41 -07:00 |
|
Arthur Drobot
|
68155446b6
|
Rewrite exp. (Now works faster.) Add private factorial function to StandardPlugin as well.
|
2017-07-31 14:49:25 -07:00 |
|
Arthur Drobot
|
afb57cf69b
|
Add ceiling to NumberInterface and the two numbers that implement it.
|
2017-07-31 13:25:23 -07:00 |
|
Arthur Drobot
|
9a6b695f97
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-31 12:40:19 -07:00 |
|
Arthur Drobot
|
0172b178de
|
Optimize log.
|
2017-07-31 12:39:56 -07:00 |
|
|
2aa479a971
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-31 11:54:25 -07:00 |
|
Arthur Drobot
|
5bb7c1dc6b
|
Fix comment.
|
2017-07-31 10:28:39 -07:00 |
|
|
cb787c7e25
|
Focus on the text field on startup.
|
2017-07-30 21:25:21 -07:00 |
|
|
f400f9f464
|
Add comments to the newly defined static functions.
|
2017-07-30 21:15:01 -07:00 |
|
|
e7ad733c81
|
Move OP_CARET back into place.
|
2017-07-30 21:12:50 -07:00 |
|
|
a278e5bb9a
|
Format code.
|
2017-07-30 21:11:32 -07:00 |
|
|
03eb669eb3
|
Move all functions to a static context, stopping unnecessary lookups.
|
2017-07-30 21:10:11 -07:00 |
|
|
6b8d8497e2
|
Write tests involving plugin loading, and generalize token testing code.
|
2017-07-30 19:21:26 -07:00 |
|
|
b35d3a3cd4
|
Remove the window as a part of the Abacus class.
|
2017-07-30 15:00:08 -07:00 |
|
|
5e8afd54e0
|
Add some comments.
|
2017-07-30 14:59:20 -07:00 |
|
|
b553c05f49
|
Write basic tokenizer tests.
|
2017-07-30 14:52:10 -07:00 |
|
|
127644ea46
|
Remove abacus dependency from PluginManager.
|
2017-07-30 14:42:06 -07:00 |
|
|
1c31efa577
|
Write more tests for the Lexer.
|
2017-07-30 14:12:17 -07:00 |
|
|
0f21526ec8
|
Write tests for special cases.
|
2017-07-30 00:46:42 -07:00 |
|
|
f28f56b5f0
|
Write basic tests for string matching.
|
2017-07-29 23:48:01 -07:00 |
|
|
bce469ec8d
|
Move the source files into a new default directory.
|
2017-07-29 23:44:21 -07:00 |
|
|
92443bf0cf
|
Merge branch 'new-parser-prep' into unit-tests
|
2017-07-29 23:42:23 -07:00 |
|
|
c21aabc7ed
|
Create empty class, getting ready to write tests.
|
2017-07-29 21:49:36 -07:00 |
|
|
6337c74e63
|
Replace the old TreeBuilder with the new TreeBuilder.
|
2017-07-29 21:37:55 -07:00 |
|
|
e61e2b07b2
|
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 |
|
|
dcbda5b255
|
Add comments to the two parsing interfaces.
|
2017-07-29 21:36:39 -07:00 |
|
|
65e8b7d15e
|
Change matches to store the string they matched.
|
2017-07-29 21:20:11 -07:00 |
|
|
7b1b9aa01c
|
Implement the components of a new tree builder.
|
2017-07-29 21:02:41 -07:00 |
|
|
768b9b0e8f
|
Remove precision specification as it seems detrimental.
|
2017-07-28 22:51:59 -07:00 |
|
|
c66f36c77a
|
Allow plugins to register number implementations and use user's choice.
|
2017-07-28 22:17:22 -07:00 |
|
|
28b9e15fc8
|
Add configuration object to Abacus.
|
2017-07-28 21:37:47 -07:00 |
|
|
451931da6c
|
Merge branch 'configuration' into architecture
|
2017-07-28 21:31:45 -07:00 |
|
|
a16e85dfcd
|
Rewrite Abacus to be the central class of the application.
|
2017-07-28 21:25:02 -07:00 |
|
|
90f04a20ad
|
Change precision to getMaxPrecision, as precision can be configured.
|
2017-07-28 20:04:13 -07:00 |
|
|
a0bc85a899
|
Create a ConfigurationObject class.
|
2017-07-28 20:03:50 -07:00 |
|
|
a63a3b6bae
|
Make ClassFinder return generic List objects.
|
2017-07-28 19:36:34 -07:00 |
|
|
0300bece46
|
Load default plugin without jars.
|
2017-07-28 15:22:38 -07:00 |
|
|
ce9e32b08f
|
Add a toString for UnaryPrefixNode
|
2017-07-28 14:57:11 -07:00 |
|
|
f4508a8c5a
|
Remove unused default value from PreciseNumber
|
2017-07-28 14:55:01 -07:00 |
|
|
eac4ce8600
|
Change the constructor for NumberNode
|
2017-07-28 14:47:34 -07:00 |
|
|
9e3b550a15
|
Add a promotion priority to PerciseNumber
|
2017-07-28 14:39:37 -07:00 |
|
|
6aa9225eee
|
Comment class finder.
|
2017-07-28 14:32:27 -07:00 |
|
|
0592200961
|
Change ClassFinder code to be static.
|
2017-07-28 14:21:43 -07:00 |
|
|
5a8e13fbef
|
Merge branch 'unary'
|
2017-07-28 13:28:59 -07:00 |
|
|
317c214ef3
|
Merge branch 'big-decimal'
|
2017-07-28 13:18:44 -07:00 |
|
Arthur Drobot
|
851c63115f
|
Implement preciseNumber for arbitrary precision.
|
2017-07-28 11:38:22 -07:00 |
|
|
701de050fd
|
Remove old ClassFinder and hardcoded folder names, and fix class filter.
|
2017-07-28 11:35:23 -07:00 |
|
|
53065f8374
|
Remove unneeded files from git.
|
2017-07-28 11:23:25 -07:00 |
|
|
2fa51fc997
|
Fix null pointer exceptions associated with turning ! into an operator.
|
2017-07-28 11:19:41 -07:00 |
|
rileyJones
|
408c4f0379
|
Add external plugin support
|
2017-07-28 11:17:54 -07:00 |
|
|
c1bf308d6d
|
Rename OpNode to BinaryInfixNode.
|
2017-07-28 11:15:36 -07:00 |
|
|
51f2c15542
|
Implement unary operators.
|
2017-07-28 11:14:45 -07:00 |
|
|
082b2f8783
|
Add operator types.
|
2017-07-28 10:26:25 -07:00 |
|
|
7755a04bd7
|
Add rounding to naive number.
|
2017-07-28 09:57:39 -07:00 |
|
|
1d7134e7f3
|
Make the decimal matching optional.
|
2017-07-28 09:52:14 -07:00 |
|
|
c350c24f62
|
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 |
|
|
df0b1829ff
|
Fix bug causing an NPE when sqrt() was called.
|
2017-07-27 19:30:40 -07:00 |
|
|
d9df565a42
|
Switch all uses of *List, *Map to just List and Map.
|
2017-07-27 18:19:12 -07:00 |
|
|
bc23b8dbda
|
Make pow an operator, represented by caret.
|
2017-07-27 16:55:18 -07:00 |
|
|
65a6265cf6
|
Fix function argument order.
|
2017-07-27 16:52:16 -07:00 |
|
|
edbef67b8a
|
Fix typo.
|
2017-07-27 16:37:54 -07:00 |
|
|
5373d953a6
|
Add ignoring whitespace and fix function precedence.
|
2017-07-27 16:36:13 -07:00 |
|
|
692ba2cdc5
|
Add a missing comment.
|
2017-07-27 16:27:26 -07:00 |
|
|
029acb7747
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-27 15:28:21 -07:00 |
|
|
96b09fdf2e
|
Add sanitization to TreeBuilder.
|
2017-07-27 15:26:02 -07:00 |
|
|
d2b27da528
|
Remove backslashes that will be obsolete.
|
2017-07-27 15:02:13 -07:00 |
|
rileyJones
|
7b3df49422
|
Jar Plugin Loader
|
2017-07-27 14:33:08 -07:00 |
|
|
381c88f7a0
|
Fix several bugs and register operations as operations.
|
2017-07-27 14:15:45 -07:00 |
|
|
5c9c718283
|
Merge branch 'plugins'
|
2017-07-27 14:08:40 -07:00 |
|
|
b84ca8a121
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-27 14:08:31 -07:00 |
|
|
f00ad25d6a
|
Implement correct plugin loading and registration.
|
2017-07-27 14:06:57 -07:00 |
|
|
de3feae3b6
|
Add missing return documentation.
|
2017-07-27 14:06:25 -07:00 |
|
|
15e42126b5
|
Prevent operation lookups, as they pollute the cache.
|
2017-07-27 14:06:15 -07:00 |
|
|
4f9c8dee9a
|
Add a PluginListener type for use in the PluginManager.
|
2017-07-27 14:06:04 -07:00 |
|
Arthur Drobot
|
8fb82e1fb8
|
Add sqrt function.
|
2017-07-27 13:47:51 -07:00 |
|
Arthur Drobot
|
22f8a48195
|
Begin working on memoization for factorial. (Commented out for now.)
|
2017-07-27 13:39:19 -07:00 |
|
|
f29fea6106
|
Rename load to onLoad and add onDisable to plugin.
|
2017-07-27 13:26:17 -07:00 |
|
|
7d822a3e77
|
Move parsing code into TreeBuilder, change lexing and parsing algorithms
|
2017-07-27 13:25:57 -07:00 |
|
Arthur Drobot
|
950e3503b7
|
Add pow function.
|
2017-07-27 13:17:22 -07:00 |
|
Arthur Drobot
|
18a5a99887
|
Add natural log function. May not be terribly efficient currently, but it works and is usable.
|
2017-07-27 13:04:41 -07:00 |
|
|
4eff4760e5
|
Add comments and clear appropriate cache.
|
2017-07-27 10:58:11 -07:00 |
|
|
87c51f279a
|
Support removing expressions.
|
2017-07-27 10:54:11 -07:00 |
|
|
663562bab1
|
Add the operator that had been in use by Plugin and PluginManager.
|
2017-07-27 10:53:56 -07:00 |
|
|
586cd90e32
|
Switch Lexer to use a map for patterns, to allow for removal.
|
2017-07-27 10:47:11 -07:00 |
|
|
b5ff2c1c2b
|
Add operator map to Plugin class, and use it in PluginManager.
|
2017-07-27 10:38:18 -07:00 |
|
Arthur Drobot
|
c15b737738
|
Increase precision of NaiveNumber to 18.
|
2017-07-27 10:32:09 -07:00 |
|
Arthur Drobot
|
ea648b38e7
|
Modify exp to work properly with the new changes and support all reals.
|
2017-07-27 10:16:38 -07:00 |
|
Arthur Drobot
|
c426cdb892
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-27 10:07:07 -07:00 |
|
Arthur Drobot
|
e04caee942
|
Add absolute value function to standard plugin. Modify getNTermsExp to work on negative exponents instead (and correctly).
|
2017-07-27 10:03:26 -07:00 |
|
|
dea25bbc9c
|
Move OperatorAssociativity into the function class.
|
2017-07-27 09:33:01 -07:00 |
|
|
0b8d2b0459
|
Remove the caret operator as it is not implemented.
|
2017-07-27 09:23:07 -07:00 |
|
|
eef83a04aa
|
Remove unnecessary getType() calls.
|
2017-07-27 09:22:24 -07:00 |
|
|
cc1d67a078
|
Fix strangely incomplete comment.
|
2017-07-26 19:28:57 -07:00 |
|
|
ba3a733928
|
Add comments to NumberReducer and FunctionNode.
|
2017-07-26 19:16:10 -07:00 |
|
|
49f6f2d21e
|
Comment and clean up the Window class.
|
2017-07-26 19:10:55 -07:00 |
|
|
1b788c0a46
|
Comment and clean up HistoryTableModel code.
|
2017-07-26 19:04:39 -07:00 |
|
|
d54ec9e8fa
|
Implement reducing functions.
|
2017-07-26 18:44:30 -07:00 |
|
|
e8d9836431
|
Implement parsing functions.
|
2017-07-26 18:44:17 -07:00 |
|
|
12e34230ec
|
Add correct handling of failed reduces to both OpNode and Window.
|
2017-07-26 18:41:21 -07:00 |
|
|
367abb4157
|
Merge branch 'master' into ui-touchup
|
2017-07-26 17:27:05 -07:00 |
|
|
c88a0cbdc5
|
Implement toString in child nodes of TreeNode.
|
2017-07-26 17:26:55 -07:00 |
|
|
51ca0a9ae2
|
Make some operator-related fields protected in TreeNode.
This should allow for the implementation of toString in child nodes.
|
2017-07-26 17:26:42 -07:00 |
|
|
0f2296c92a
|
Change default calculator width.
|
2017-07-26 17:19:43 -07:00 |
|
|
6bdf9d855a
|
Rename some variables to more appropriate names.
|
2017-07-26 17:18:40 -07:00 |
|
|
b0f10e011c
|
Separate UI into tabbed panes, and change layout of side panel.
|
2017-07-26 17:17:21 -07:00 |
|
|
0aa9646b84
|
Temporarily move components into a tabbed pane.
|
2017-07-26 15:35:59 -07:00 |
|
Arthur Drobot
|
56c7b6f15e
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-26 15:27:22 -07:00 |
|
Arthur Drobot
|
e8934cc83e
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-26 15:26:35 -07:00 |
|
Arthur Drobot
|
6673771ca9
|
Add exp and helper functions for Taylor Series etc.
|
2017-07-26 15:26:06 -07:00 |
|
Arthur Drobot
|
fd458a659b
|
Change precision of NaiveNumber to 15.
|
2017-07-26 15:24:24 -07:00 |
|
|
2cabb8cf88
|
Add exit on close.
|
2017-07-26 15:23:22 -07:00 |
|
|
cc0d1d71d5
|
Make enter key call evaluate entered expression.
|
2017-07-26 15:22:29 -07:00 |
|
|
b9bcae4e41
|
Merge branch 'master' of github.com:DanilaFe/abacus
|
2017-07-26 14:49:34 -07:00 |
|
|
81c774fcf4
|
Add copy pasting to history.
|
2017-07-26 14:48:43 -07:00 |
|
|
d746db8c9f
|
Implement a table as a history tracker.
|
2017-07-26 14:34:19 -07:00 |
|
|
53b9b56039
|
Add a new constructor to the UI, and move strings into constants.
|
2017-07-26 13:33:24 -07:00 |
|
|
9ce35aad54
|
Correctly handle invalid strings.
|
2017-07-26 13:25:12 -07:00 |
|
|
7c4ecdc1db
|
Remove unnecessary pattern.
|
2017-07-26 13:25:01 -07:00 |
|
|
93e892f92e
|
Correctly handle un-matched tokens and end-of-string situations.
|
2017-07-26 13:24:46 -07:00 |
|
Arthur Drobot
|
42cedf7c43
|
Modify precision of NaiveNumber. Fix factorial to work with 0./a.exe Add function to get nth term of the exp Maclaurin series.
|
2017-07-26 11:05:12 -07:00 |
|
|
76705ed92b
|
Implement the ability to reduce a tree to a single variable of a type.
|
2017-07-26 10:58:27 -07:00 |
|
|
ce2373be8e
|
Comment the PluginManager and change pluginFor to functionFor
|
2017-07-26 10:15:22 -07:00 |
|
|
7ba6f8a353
|
Add more comments.
|
2017-07-26 10:10:37 -07:00 |
|
Arthur Drobot
|
37d5c04911
|
Merge branch 'master' of https://github.com/DanilaFe/abacus
|
2017-07-26 09:19:42 -07:00 |
|
|
136a481e74
|
Add a lot of comments. More to come.
|
2017-07-25 22:47:48 -07:00 |
|
|
d175a0d7d8
|
Make some adjustments to the UI.
|
2017-07-25 22:08:12 -07:00 |
|
|
718f7ba7ad
|
Move function into its own package.
|
2017-07-25 21:57:14 -07:00 |
|
|
c14a4ceb93
|
Add the plugin manager to the main. Abacus class.
|
2017-07-25 21:52:23 -07:00 |
|
|
0b5c72d274
|
Move the standard functions into a standard plugin.
|
2017-07-25 21:50:41 -07:00 |
|
|
b3c795e42f
|
Rename ExternalFunction --> Plugin, and implement plugin loading.
|
2017-07-25 21:50:30 -07:00 |
|
|
ee63eb270e
|
Tidy Window class with more explicit variable names and private vars.
|
2017-07-25 21:13:18 -07:00 |
|
|
734256fac1
|
Make the program actually create the UI.
|
2017-07-25 21:11:36 -07:00 |
|
|
61035437ed
|
Delete unused main method.
|
2017-07-25 21:11:11 -07:00 |
|
rileyJones
|
f3f7efdb10
|
Add GUI
|
2017-07-25 14:52:57 -07:00 |
|
Arthur Drobot
|
7aedbd5e20
|
Add support for non-positive ints in intPow for NaiveNumber.
|
2017-07-25 14:36:46 -07:00 |
|
|
dd8d62608c
|
Merge tree construction feature into master.
|
2017-07-25 14:28:12 -07:00 |
|
|
e4e9e2ce21
|
Implement parsing a postfix expression into a tree.
|
2017-07-25 14:21:00 -07:00 |
|
Arthur Drobot
|
6f5a27c418
|
Fix intPow loop.
|
2017-07-25 14:18:00 -07:00 |
|
Arthur Drobot
|
46da95e7b5
|
Fix initial array index in the product function.
|
2017-07-25 14:08:46 -07:00 |
|
Arthur Drobot
|
4962aae083
|
Rename Number to NumberInterface. Fix factorial function. Add toString override to NaiveNumber.
|
2017-07-25 13:58:09 -07:00 |
|
|
3684673362
|
Implement Shunting Yard.
|
2017-07-25 13:53:38 -07:00 |
|