Commit graph

83 commits

Author SHA1 Message Date
06ab560ed7 Adding license information
Got missed on migration from v1 to v2. Adding it back in. LGPL so that unmodified library linking is commercially viable.
2026-07-01 01:14:18 -05:00
eb4a511355 Error Logging + Documentation
Exposing error logging and changing the default output stream. Setting projects to include documentation files generated from XMLDocs.
2026-06-30 01:39:36 -05:00
37c2c6a121 New release
All checks were successful
Build / build (push) Successful in 28s
Tests / tests (push) Successful in 30s
2026-06-28 01:19:25 -05:00
codex
858717deae Fix and cover standard library functions
All checks were successful
Build / build (push) Successful in 36s
Tests / tests (push) Successful in 43s
2026-06-28 00:31:44 -05:00
codex
a936188e46 Add XMLDoc documentation to functions
Some checks failed
Build / build (push) Successful in 33s
Tests / tests (push) Failing after 34s
2026-06-28 00:06:30 -05:00
7864da2701 Fibonacci and Identity functions
Some checks failed
Build / build (push) Successful in 31s
Tests / tests (push) Failing after 32s
2026-06-27 23:49:20 -05:00
5556010c91 Expanding Standard Library
Some checks failed
Build / build (push) Successful in 37s
Tests / tests (push) Failing after 31s
Expanding functions in the standard library.
2026-06-27 19:41:26 -05:00
9dba1a2dfd Versioning 2026-06-27 19:40:56 -05:00
codex
426cf70d67 Move standard library functions into canonical folder
All checks were successful
Build / build (push) Successful in 28s
Tests / tests (push) Successful in 30s
2026-06-24 16:29:36 -05:00
codex
64781cbb7b Fix CI parser generation compile inputs
All checks were successful
Build / build (push) Successful in 33s
Tests / tests (push) Successful in 30s
2026-06-24 16:19:24 -05:00
codex
3a61cd4eb1 Move generated interpreter alias to file scope
Some checks failed
Build / build (push) Failing after 45s
Tests / tests (push) Failing after 31s
2026-06-24 16:03:10 -05:00
codex
8f1dafef75 Alias generated interpreter namespace
Some checks failed
Build / build (push) Failing after 28s
Tests / tests (push) Failing after 28s
2026-06-24 16:00:04 -05:00
codex
6c1154e2c7 Fix parser namespace references
Some checks failed
Build / build (push) Failing after 37s
Tests / tests (push) Failing after 27s
2026-06-24 15:48:13 -05:00
909997d7ae Update .forgejo/workflows/tests.yml
Some checks failed
Build / build (push) Failing after 31s
Tests / tests (push) Failing after 27s
2026-06-24 15:42:40 -05:00
b016ecde7b Update .forgejo/workflows/build.yml
Some checks failed
Tests / tests (push) Has been cancelled
Build / build (push) Has been cancelled
2026-06-24 15:42:12 -05:00
codex
2d86b5db62 Target Forgejo self-hosted runner
Some checks failed
Build / build (push) Has been cancelled
Tests / tests (push) Has been cancelled
2026-06-24 15:40:01 -05:00
codex
36218648cc Rename CI badge labels
Some checks failed
Tests / tests (push) Has been cancelled
Build / build (push) Has been cancelled
2026-06-24 15:35:34 -05:00
codex
3f10f4a1f6 Add Forgejo CI workflows 2026-06-24 15:31:04 -05:00
fb0dcccaf4 Documentation Update
Updated version to push documentation update.
2026-06-24 15:00:42 -05:00
codex
80c2674070 Add XML doc comments 2026-06-24 14:17:32 -05:00
b911ccfbfe Polishing XMLDoc conventions 2026-06-24 13:54:15 -05:00
4072775c09 Establishing XMLDoc conventions 2026-06-24 13:10:29 -05:00
4d6a0c6bab XMLDoc 2026-06-24 03:34:35 -05:00
codex
4452679310 Ignore scratch workspace 2026-06-24 02:45:41 -05:00
codex
4f38ab7064 Ignore generated Coco/R output 2026-06-24 02:42:37 -05:00
ba44e0ed48 Merge branch 'v2' of https://git.jordanwages.com/wagesj45/cs-mic into v2 2026-06-24 02:35:11 -05:00
2a7077eedd Update .gitignore
Github isn't the primary repository anymore, so github specific config should be unnecessary.
2026-06-24 02:34:59 -05:00
3ec3858ff2 XMLDoc 2026-06-24 02:33:34 -05:00
codex
eeb243b727 Update README docs for 2.0 release 2026-06-24 00:54:25 -05:00
288a4f9e5b Nuget Publish Update
Updating the nuget.org publishing targets.
2026-06-23 23:55:16 -05:00
bceff03cd1 Upgrading version number
In preparation for v2.0 release.
2026-06-23 19:13:01 -05:00
9a086e35f0 Updated version for nuget packing 2025-08-29 21:24:24 -05:00
codex
6ed3ded0ed Interpreter: fix implicit multiplication LL(1) conflict and recursion handling
- Rewrite Term loop in Interpreter.atg to avoid deletable alternative causing '+'/'-' to be treated as '%'.
- Support implicit multiplication by explicit adjacency checks without affecting additive parsing.
- Add cycle-safe expression evaluation: track evaluation stack and collapse self/mutual recursion to zero via shared recursion scope.
- Update StandardLibrary project reference casing to 'CSMic.Core.csproj'.

All tests pass: 85/85.
2025-08-29 20:01:51 -05:00
codex
135af2cc49 Interpreter: support implicit multiplication (adjacency) and allow whitespace; update Coco/R frames path casing; add tests for implicit multiplication and function calls; fix project reference casing in tests. 2025-08-29 17:43:07 -05:00
04a175223d Updating to latest version of CS-MIC with recursion protection 2025-08-27 02:36:13 -05:00
b6dee57aa1 Merge branch 'v2' of https://git.jordanwages.com/wagesj45/cs-mic into v2 2025-08-26 23:24:12 -05:00
62ea3efe16 Added Variable array 2025-08-26 23:24:08 -05:00
codex
ad78611f9c fix: prevent infinite recursion in expression evaluation
Add evaluation stack and recursion detection in InputInterpreter to short-circuit self/cyclic expression references. Return zero when recursion is detected during evaluation and unwind stack state after parse. Add unit tests covering self-recursion and mutual recursion cases.
2025-08-26 17:16:13 -05:00
ead706e38b Update InputInterpreter.cs 2025-08-26 02:28:22 -05:00
codex
5f7b862d5e Fix .NET Standard compatibility:
- Replace double.DegreesToRadians/RadiansToDegrees with Math-based conversions
- Replace Random.Shared with thread-local Random for thread safety
2025-08-26 00:39:43 -05:00
8dd20b2cb8 Downgrading to 2.1, fixing language versions 2025-08-26 00:36:29 -05:00
7521fb0f2a Fixed goof lol 2025-08-26 00:17:04 -05:00
codex
d725e9e357 chore: migrate libraries to netstandard2.1; set tests to net8.0
- Core/StandardLibrary: TargetFramework -> netstandard2.1
- Tests: TargetFramework -> net8.0 (runnable for test host)
- Fix project reference casing for Linux/CI
2025-08-25 23:42:00 -05:00
f1cf26ad98 Fixed spelling error. 2025-08-21 04:11:03 -05:00
106efbc86e tests(stdlib): reorganize and expand StandardLibrary tests
- Switch tests to use Initializer.InitializeAll for setup
- Split stdlib tests by category: Angle, Rounding, Trig (incl. hyperbolic), NumberTheory, Random
- Add comprehensive tests invoking functions via InputInterpreter.Interpret()
- Register Bernoulli in Initializer so random tests cover
2025-08-21 04:04:46 -05:00
1d86b2bc19 Readding Tests
Missed from nomenclature standardization.
2025-08-21 03:53:39 -05:00
736f05a023 Fix stdlib typos and logic bugs: Round precision arg; rename Trancate->Truncate; correct degrees/radians conversion; wrapangle shift into range; Random rands add lower; correct gcd/lcm names/logic; fix 13! constant; clarify atan2 args; update initializer registrations 2025-08-21 03:52:26 -05:00
47e6ea91d7 StandardLibrary: implement and wire Initialize[Type]Functions in Initializer (Angle, Rounding, Trigonometry incl. Hyperbolic, NumberTheory, Random) and call them from InitializeAllFunctions 2025-08-21 03:48:48 -05:00
4a21ff3d46 Adding functions to Standard Library 2025-08-21 03:44:04 -05:00
808d4ca420 Surface ICodedFunction exceptions: set interpreter message via ProduceOutput in ExecuteFunction 2025-08-21 03:24:13 -05:00