Commit Graph

107 Commits

Author SHA1 Message Date
Danila Fedorin 6813643b15 Merge branch 'plugins' 2017-07-27 14:08:40 -07:00
Danila Fedorin e6cb755ec9 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-27 14:08:31 -07:00
Danila Fedorin 2ca23fd427 Implement correct plugin loading and registration. 2017-07-27 14:06:57 -07:00
Danila Fedorin efbd6a4c20 Add missing return documentation. 2017-07-27 14:06:25 -07:00
Danila Fedorin a211884499 Prevent operation lookups, as they pollute the cache. 2017-07-27 14:06:15 -07:00
Danila Fedorin 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
Danila Fedorin e6559015b3 Rename load to onLoad and add onDisable to plugin. 2017-07-27 13:26:17 -07:00
Danila Fedorin 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
Danila Fedorin 78e2d50f89 Add comments and clear appropriate cache. 2017-07-27 10:58:11 -07:00
Danila Fedorin 07dd9d0a1a Support removing expressions. 2017-07-27 10:54:11 -07:00
Danila Fedorin ee1de6dc17 Add the operator that had been in use by Plugin and PluginManager. 2017-07-27 10:53:56 -07:00
Danila Fedorin 077a34c618 Switch Lexer to use a map for patterns, to allow for removal. 2017-07-27 10:47:11 -07:00
Danila Fedorin 79e85832ce Add operator map to Plugin class, and use it in PluginManager. 2017-07-27 10:38:18 -07:00
Arthur Drobot ea5a7a9558 Increase precision of NaiveNumber to 18. 2017-07-27 10:32:09 -07:00
Arthur Drobot 3e52a9d645 Modify exp to work properly with the new changes and support all reals. 2017-07-27 10:16:38 -07:00
Arthur Drobot 7a0fa31cad Merge branch 'master' of https://github.com/DanilaFe/abacus 2017-07-27 10:07:07 -07:00
Arthur Drobot aec37b6720 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
Danila Fedorin 189f8c6e15 Move OperatorAssociativity into the function class. 2017-07-27 09:33:01 -07:00
Danila Fedorin e8595510b8 Remove the caret operator as it is not implemented. 2017-07-27 09:23:07 -07:00
Danila Fedorin b09c9c3cb2 Remove unnecessary getType() calls. 2017-07-27 09:22:24 -07:00
Danila Fedorin b0a7c90aa1 Fix strangely incomplete comment. 2017-07-26 19:28:57 -07:00
Danila Fedorin cf95ed7dc0 Add comments to NumberReducer and FunctionNode. 2017-07-26 19:16:10 -07:00
Danila Fedorin bc72b4da8a Comment and clean up the Window class. 2017-07-26 19:10:55 -07:00
Danila Fedorin 15d7dbd30e Comment and clean up HistoryTableModel code. 2017-07-26 19:04:39 -07:00
Danila Fedorin c8146954c3 Implement reducing functions. 2017-07-26 18:44:30 -07:00
Danila Fedorin d18e27bdb4 Implement parsing functions. 2017-07-26 18:44:17 -07:00
Danila Fedorin c4eb70999b Add correct handling of failed reduces to both OpNode and Window. 2017-07-26 18:41:21 -07:00
Danila Fedorin 4a8164631f Merge branch 'master' into ui-touchup 2017-07-26 17:27:05 -07:00
Danila Fedorin d7caf1cdc7 Implement toString in child nodes of TreeNode. 2017-07-26 17:26:55 -07:00
Danila Fedorin 8754871556 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
Danila Fedorin b31c1f9624 Change default calculator width. 2017-07-26 17:19:43 -07:00
Danila Fedorin 2b7a68e179 Rename some variables to more appropriate names. 2017-07-26 17:18:40 -07:00
Danila Fedorin e06feaa581 Separate UI into tabbed panes, and change layout of side panel. 2017-07-26 17:17:21 -07:00
Danila Fedorin 626a2cb514 Temporarily move components into a tabbed pane. 2017-07-26 15:35:59 -07:00
Arthur Drobot 0002f14e61 Merge branch 'master' of https://github.com/DanilaFe/abacus 2017-07-26 15:27:22 -07:00
Arthur Drobot f35f83a92f Merge branch 'master' of https://github.com/DanilaFe/abacus 2017-07-26 15:26:35 -07:00
Arthur Drobot 8d9dac1a75 Add exp and helper functions for Taylor Series etc. 2017-07-26 15:26:06 -07:00
Arthur Drobot aae7e678dd Change precision of NaiveNumber to 15. 2017-07-26 15:24:24 -07:00
Danila Fedorin 8ada6c32ff Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-26 15:23:30 -07:00
Danila Fedorin a446034a92 Add exit on close. 2017-07-26 15:23:22 -07:00
Danila Fedorin 78033e93b0 Make enter key call evaluate entered expression. 2017-07-26 15:22:29 -07:00
rileyJones 6038663b3a Update RESOURCES.md 2017-07-26 14:53:52 -07:00
Danila Fedorin 2074c11095 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-26 14:49:34 -07:00
Danila Fedorin 95bae3befb Add copy pasting to history. 2017-07-26 14:48:43 -07:00
Danila Fedorin e41c25847b Implement a table as a history tracker. 2017-07-26 14:34:19 -07:00
Danila Fedorin 50baf80433 Add a new constructor to the UI, and move strings into constants. 2017-07-26 13:33:24 -07:00