Commit Graph

543 Commits

Author SHA1 Message Date
Danila Fedorin 2d1ee2a662 Start implementing the canvas to draw graphs. 2017-09-23 15:54:37 -07:00
Danila Fedorin 122b402ef4 Switch to using NumberRange in range-related areas. 2017-09-23 15:54:37 -07:00
Danila Fedorin 2f4362e23b Add comments and make minor modifications to the Graph class. 2017-09-23 15:54:37 -07:00
Danila Fedorin bbe4fa182f Add functions to generate inputs and outputs within the range. 2017-09-23 15:54:37 -07:00
Danila Fedorin 3bffa1c78f Add a function to run inputs through an abacus expression. 2017-09-23 15:54:37 -07:00
Danila Fedorin b0cddf75f0 Write a base Graph class that does some parsing of expressions. 2017-09-23 15:54:37 -07:00
Danila Fedorin 2e8e1488c4 Update Kotlin version and add dependency on coroutines. 2017-09-23 15:54:37 -07:00
Danila Fedorin e0ccb67ad3 Merge pull request #37 from DanilaFe/more-exceptions
Replace some more cases where null is used with Exceptions.
2017-09-23 15:53:37 -07:00
Danila Fedorin ea4588be44 Add more descriptive message to context exceptions. 2017-09-23 15:43:07 -07:00
Danila Fedorin 31996219ad Switch the Lexer and TreeBuilder to using exceptions. 2017-09-23 15:31:35 -07:00
Danila Fedorin a3bfc34c1c Throw parse exceptions instead of returning null. 2017-09-22 16:35:08 -07:00
Danila Fedorin 8dc7acd4b3 Add a separate class of exceptions for NumberReducer. 2017-09-22 11:58:19 -07:00
Danila Fedorin 76fcd8ec1c Remove unused elvis. 2017-09-21 23:17:45 -07:00
Danila Fedorin fbdf2c7e52 Eliminate warnings related to null returns that have been removed. 2017-09-21 23:09:13 -07:00
Danila Fedorin 3057f66e66 Throw the exception instead of returning null. 2017-09-21 23:05:48 -07:00
Danila Fedorin f385a48aa2 Merge pull request #34 from DanilaFe/number-range
Add a NumberRange utility.
2017-09-20 15:42:05 -07:00
Danila Fedorin fd3f56aa8f Write some tests for the Ranges. 2017-09-20 15:23:17 -07:00
Danila Fedorin e364f4e94b Have the NumberInterface provide the Kotlin rangeTo method. 2017-09-20 13:22:18 -07:00
Danila Fedorin 4c94abb18b Create the NumberRangeBuilder utility class. 2017-09-20 13:19:55 -07:00
Danila Fedorin ba63dd7874 Implement a range that works for NumberInterfaces. 2017-09-20 13:04:20 -07:00
Danila Fedorin 566598b702 Merge pull request #33 from DanilaFe/promotion-fix
Fix a bug that made some same-priority implementations not convert.
2017-09-20 12:56:12 -07:00
Danila Fedorin eb91a5b875 Fix a bug that made some same-priority implementations not convert. 2017-09-20 12:47:30 -07:00
Danila Fedorin fcd4694203 Merge pull request #32 from DanilaFe/promotion-exception
Add an exception thrown when promotion fails.
2017-09-20 12:16:00 -07:00
Danila Fedorin 566831246c Add an exception thrown when promotion fails. 2017-09-20 12:06:06 -07:00
Danila Fedorin ad8a0a9b2a Merge pull request #29 from DanilaFe/fixes
Revert "Remove unnecessary nullability from parseString."
2017-09-16 03:05:20 -07:00
Danila Fedorin e430e738cf Merge branch 'master' into fixes 2017-09-16 03:03:52 -07:00
Danila Fedorin f6e326e0f1 Revert "Remove unnecessary nullability from parseString."
88e3bb7109
2017-09-16 03:02:35 -07:00
Danila Fedorin 07581557c7 Merge pull request #27 from DanilaFe/fixes
Fix a number of small issues not worthy of their own branches.
2017-09-16 01:26:40 -07:00
Danila Fedorin 14ac9c67f4 Implement the comparable interface. 2017-09-16 00:18:43 -07:00
Danila Fedorin 0ff071e212 Add a more complete .gitignore 2017-09-16 00:17:03 -07:00
Danila Fedorin 88e3bb7109 Remove unnecessary nullability from parseString. 2017-09-16 00:16:48 -07:00
Danila Fedorin 540e5d6099 Load default implementation if one is not found. 2017-09-16 00:16:32 -07:00
Danila Fedorin c9e93d87a2 Merge pull request #23 from DanilaFe/thread-safety
Make some parts of the code more thread safe.
2017-09-15 22:59:42 -07:00
Danila Fedorin 337edd68fa Merge branch 'master' into thread-safety 2017-09-15 22:58:33 -07:00
Danila Fedorin 08967fbb8f Merge pull request #22 from DanilaFe/less-null
Remove some null-heavy parts of the code.
2017-09-15 22:56:54 -07:00
Danila Fedorin 46f78bb2ed Merge pull request #21 from DanilaFe/context
Implement a Context system which allows concurrent creation of variables.
2017-09-15 22:51:56 -07:00
Danila Fedorin 5b4773dee1 Do not use null in exceptions and add messages to exceptions. 2017-09-11 19:32:57 -07:00
Danila Fedorin be94394a5c Catch one exception. 2017-09-11 19:32:57 -07:00
Danila Fedorin 45de25cd50 Move exceptions to their own package and subclass one class. 2017-09-11 19:32:57 -07:00
Danila Fedorin 52ab357fe1 Remove nullability from reduction. 2017-09-11 19:32:57 -07:00
Danila Fedorin 1575d3e574 Remove nullability from tree nodes. 2017-09-11 19:32:57 -07:00
Danila Fedorin 87529da15f Precompute all the transitions ahead of time. 2017-09-11 19:32:51 -07:00
Danila Fedorin 7cd117dac1 Add synchronization to the Standard plugin. 2017-09-11 19:32:51 -07:00
Danila Fedorin 8975bfdb99 Precompute Pi, and do not store documentation on access. 2017-09-11 19:32:51 -07:00
Danila Fedorin 00f8475044 Merge branch 'master' into context 2017-09-11 19:32:42 -07:00
Danila Fedorin f0efae21be Merge pull request #19 from DanilaFe/fix-loading
Fix exception during startup if configuration is missing.
2017-09-11 19:32:17 -07:00
Danila Fedorin 9f11fd20a2 Fix exception during startup if configuration is missing. 2017-09-11 19:30:21 -07:00
Danila Fedorin 1667edc72b Merge branch 'master' into context 2017-09-11 19:14:07 -07:00
Danila Fedorin 5d2a988f75 Merge pull request #17 from DanilaFe/website-update
Add more information about features and some pictures to main page.
2017-09-11 19:08:35 -07:00
Danila Fedorin 91978686e6 Merge branch 'master' into website-update 2017-09-11 19:06:02 -07:00