1
0
mirror of https://github.com/DanilaFe/abacus synced 2024-11-18 00:19:32 -08:00
Commit Graph

198 Commits

Author SHA1 Message Date
8a79d0c2df Add the number implementation to the plugin manager, and use it. 2017-08-03 21:05:25 -07:00
3f2c4ae249 Add a class that keeps track of the implementation information. 2017-08-03 20:50:53 -07:00
542f062b5e Remove old reference to the promotion system and the number class map. 2017-08-03 20:50:39 -07:00
7dda1f2fcf Add the list of number interface providers to Plugins. 2017-08-03 14:10:04 -07:00
7c0f0046f8 Add a number provider cache. 2017-08-03 10:54:09 -07:00
22f1b7543a Change the cache search function to be more generic. 2017-08-03 10:03:13 -07:00
Arthur Drobot
921c176317 Add comments for FUNCTION_SIN and intFactorial in StandardPlugin. 2017-08-02 15:13:04 -07:00
Arthur Drobot
7fa28c4ebf Fix getPi function. 2017-08-02 14:13:30 -07:00
Arthur Drobot
955bd4c04d Remember to use floor in the angle reduction function. Comment debugging output. 2017-08-02 13:27:39 -07:00
Arthur Drobot
44ad5b3a6c 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
Arthur Drobot
c027a23dcb Change getPi to calculate pi using a series. 2017-08-02 11:03:17 -07:00
Arthur Drobot
661bc170fc Implement sin function and helper functions such as getSmallAngle and floor. 2017-08-01 15:36:54 -07:00
Arthur Drobot
c7136f903a Keep 15 additional decimal places. 2017-07-31 23:16:37 -07:00
Arthur Drobot
f873b4ecad Comment out debugging output. 2017-07-31 23:09:11 -07:00
Arthur Drobot
f68f184945 Separate power and factorial calculations to fix large precision loss in exp. 2017-07-31 22:56:55 -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
4901a801b8 Fix README formatting.
[ci skip]
2017-07-29 23:35:56 -07:00
4395a263b2 Add the build badge to the README page.
[ci skip]
2017-07-29 23:35:15 -07:00
2a630e9821 Add a .travis.yml to run TravisCI tests. 2017-07-29 23:29:10 -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
10c25fd478 Merge branch 'architecture' 2017-07-29 19:30:36 -07:00
02443fc563 Update README.md 2017-07-28 23:26:35 -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