-
-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update deps, add js? and simplify? #118
Conversation
Redesign compiler as a pipeline of transformations that works by having each step add or update keys in a map representing the current state of the compilation, avoiding the need for bookkeeping parameters.
- redo cache to include relevant information in cache key - this makes the `*` and non-`*` versions of compile unnecessary - You can supply the option `{:cache false}` if you really want to - non-generic-params compilations are excluded from caching - primitive calling convention now "works", but not yet wired into ODE
- avoid js->clj in primitive case - remove timing instrumentation in ODE fns - `integration-opts` is now `make-integrator*` & is simpler
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #118 +/- ##
==========================================
- Coverage 86.43% 86.37% -0.06%
==========================================
Files 99 99
Lines 15306 15335 +29
Branches 785 800 +15
==========================================
+ Hits 13229 13245 +16
+ Misses 1292 1290 -2
- Partials 785 800 +15
... and 8 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
I will get a test in before merging... |
From the CHANGELOG:
Update deps, add js? and simplify? #118:
Fixes problems with the
resolve
calls inemmy.util.def
triggered byvanilla (non-shadow) cljs compilation.
Updates
Complex.js
andFraction.js
dependencies to their latest NPMversions.
Updates
odex
to the latest release candidate on NPM.The
cljs
side ofemmy.numerical.ode/stream-integrator
gains a:js?
option that defaults to
true
. Iffalse
, the returned function willreturn native JS arrays vs converting the return value to Clojure.
In
emmy.expression.compile
,compile-fn
andcompile-state-fn
gain a:simplify?
argument that defaults totrue
. Iffalse
, compilation willnot attempt to simplify the function body before proceeding.