Commit Graph

120 Commits

Author SHA1 Message Date
Danila Fedorin 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
Danila Fedorin c9fad36d16 Fix bug causing an NPE when sqrt() was called. 2017-07-27 19:30:40 -07:00
Danila Fedorin 2cc4bd14ce Switch all uses of *List, *Map to just List and Map. 2017-07-27 18:19:12 -07:00
Danila Fedorin f119f19c04 Make pow an operator, represented by caret. 2017-07-27 16:55:18 -07:00
Danila Fedorin 65772c8d57 Fix function argument order. 2017-07-27 16:52:16 -07:00
Danila Fedorin bbbb2e855e Fix typo. 2017-07-27 16:37:54 -07:00
Danila Fedorin 8a29019852 Add ignoring whitespace and fix function precedence. 2017-07-27 16:36:13 -07:00
Danila Fedorin 0d7a416446 Add a missing comment. 2017-07-27 16:27:26 -07:00
Danila Fedorin 167e13cfe1 Merge branch 'master' of github.com:DanilaFe/abacus 2017-07-27 15:28:21 -07:00
Danila Fedorin b0ae3f90fc Add sanitization to TreeBuilder. 2017-07-27 15:26:02 -07:00
Danila Fedorin 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
Danila Fedorin f7da896fc0 Fix several bugs and register operations as operations. 2017-07-27 14:15:45 -07:00
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