Recent Releases of DynamicExpressions
DynamicExpressions - v2.4.0
DynamicExpressions v2.4.0
Merged pull requests:
- feat: get parse_expressions to work with aliases (#139) (@MilesCranmer)
- Julia
Published by github-actions[bot] 6 months ago
DynamicExpressions - v2.3.0
DynamicExpressions v2.3.0
Merged pull requests: - Parse expressions without interpolation (#137) (@MilesCranmer)
- Julia
Published by github-actions[bot] 7 months ago
DynamicExpressions - v2.2.1
DynamicExpressions v2.2.1
Merged pull requests: - fix: precompilation warning (#136) (@MilesCranmer)
- Julia
Published by github-actions[bot] 8 months ago
DynamicExpressions - v2.2.0
DynamicExpressions v2.2.0
Merged pull requests: - feat: option to skip fused kernels (#128) (@MilesCranmer)
- Julia
Published by github-actions[bot] 8 months ago
DynamicExpressions - v2.1.0
DynamicExpressions v2.1.0
Merged pull requests:
- fix: default_node_type should not prescribe degree (#133) (@MilesCranmer)
- test: fix issue where test eval fails due to incomplete eval (#134) (@MilesCranmer)
- Julia
Published by github-actions[bot] 8 months ago
DynamicExpressions - v2.0.1
DynamicExpressions v2.0.1
Merged pull requests: - Permit n-argument operators (#127) (@MilesCranmer) - fix: recursive type inference issue (#132) (@MilesCranmer)
- Julia
Published by github-actions[bot] 8 months ago
DynamicExpressions - v2.0.0
DynamicExpressions.jl v2.0 introduces support for n-arity operators (nodes with arbitrary numbers of children), which required some breaking changes to implement. This guide will help you migrate your code from v1.x to v2.0.
Summary
- Types
Node{T}is nowNode{T,D}whereDis the maximum degreeAbstractExpressionNode{T}is nowAbstractExpressionNode{T,D}AbstractNodeis nowAbstractNode{D}- Before,
Node{T}had fieldsl::Node{T}andr::Node{T}. Now, the type isNode{T,D}, and it has the fieldchildren::NTuple{D,Nullable{Node{T,D}}}.
- Accessors
- You can now access children by index with
get_child(tree, i)tree.lcan now be written asget_child(tree, 1)tree.rcan now be written asget_child(tree, 2)- note: you can access multiple children with `getchildren(tree, Val(degree))`_
- You can now set children by index with
set_child!(tree, child, i)tree.l = childshould now be written asset_child!(tree, child, 1)tree.r = childshould now be written asset_child!(tree, child, 2)- note: you can set multiple children with `setchildren!(tree, children)`_
- You can now access children by index with
- Constructors
Node{T}(; op=1, l=x)should now be written asNode{T}(; op=1, children=(x,))Node{T}(; op=1, l=x, r=y)should now be written asNode{T}(; op=1, children=(x, y))- You may now use
Node{T,D}(; op=1, children=(x,))to specify degree other than the default of 2.
- OperatorEnum
OperatorEnum(andGenericOperatorEnum) now uses a singleopsfield: this is a tuple of tuples, indexed by arity.operators.unaopsis now written asoperators.ops[1], andoperators.binopsis now written asoperators.ops[2].
OperatorEnum(binary_operators=(+, -, *), unary_operators=(sin, cos))can now be written asOperatorEnum(2 => (+, -, *), 1 => (sin, cos))- This API permits higher-arity operators:
OperatorEnum(1 => (sin, cos), 2 => (+, -, *), 3 => (fma, max)).
- This API permits higher-arity operators:
Breaking Changes
The main breaking change is that Node{T} is now Node{T,D} where D is the maximum degree of any possible node in the tree. node.degree is still the same as before, and is such that node.degree <= D.
Similarly, AbstractExpressionNode{T} is now AbstractExpressionNode{T,D}, and AbstractNode is now AbstractNode{D}.
Before, Node{T} had fields l::Node{T} and r::Node{T}. Now, it has a single combined field children::NTuple{D,Nullable{Node{T,D}}}. This is a tuple of wrapped node objects, which should be accessed with get_child(tree, i) and set with set_child!(tree, child, i). However, the old getters and setters will still function for binary trees (.l and .r).
You may now use Node{T,D}(; op=1, children=(x,)) to specify degree other than the default of 2. However, the default Node{T}(; op=1, children=(x,)) is still available and will result in type Node{T,2}.
Necessary Changes to Your Code
The main breaking change that requires some modifications is patterns that explicitly match tree.degree in conditional logic. The tree.degree == 0 branch can be left alone, but higher arity nodes should be generalized.
For code like this:
```julia
This pattern ONLY works for binary trees (degree ≤ 2)
if tree.degree == 0
# leaf node
elseif tree.degree == 1
# unary operator
else # tree.degree == 2 # <-- This violates the assumption in 2.0
# binary operator
end
```
You have two options for upgrading
Constrain your type signatures: Use
::AbstractExpressionNode{T,2}to only accept binary trees, and refuse higher-arity nodesjulia function my_function(tree::AbstractExpressionNode{T,2}) where T if tree.degree == 0 # leaf elseif tree.degree == 1 # unary else # tree.degree == 2, guaranteed # binary end endRewrite your code to be more generic. (Note that for recursive algorithms, you can often do things with a `treemapreduce`, which already handles the general case._)
```julia
2: Handle arbitrary arity
function myfunction(tree::AbstractExpressionNode{T}) where T if tree.degree == 0 # leaf else # higher arity deg = tree.degree for i in 1:deg child = getchild(tree, i) # process child... end end end ```
However, normally what is done internally for max efficiency for the general approach is to use patterns like:
julia @generated function my_function(tree::AbstractExpressionNode{T,D}) where {T,D} quote deg = tree.degree deg == 0 && process_leaf(tree) Base.Cartesian.@nif( $deg, i -> i == deg, i -> let children = get_children(tree, Val(i)) # Now, `children` is a type-stable tuple of children end, ) end endNote that the
@generatedis needed to passDto the Cartesian macro.
Property Access (Non-Breaking)
Note: .l and .r property access still work and will continue to be supported on types with D == 2. However, the generic accessors are more flexible, so upgrading to them is recommended.
```julia
old_child = tree.l
oldchild = getchild(tree, 1)
tree.r = new_child
setchild!(tree, newchild, 2) ```
This lets you write code that prescribes arbitrary arity.
Node Construction (Non-Breaking)
For binary trees, you can still use the syntax:
julia
x = Node{Float64}(; feature=1)
tree = Node{Float64}(; op=1, children=(x,))
For higher-arity trees, you may pass D to specify the maximum degree in the tree:
julia
x = Node{Float64,3}(; feature=1)
y = Node{Float64,3}(; feature=2)
z = Node{Float64,3}(; feature=3)
tree = Node{Float64,3}(; op=1, children=(x, y, z))
OperatorEnum redesign (Non-Breaking)
OperatorEnum (and GenericOperatorEnum) now uses a single ops field: this is a tuple of tuples, indexed by arity. operators.unaops is now written as operators.ops[1], and operators.binops is now written as operators.ops[2].
However, the properties are aliased, so the old syntax will still work.
Along with this, there is a new API for constructing OperatorEnums:
```julia
operators = OperatorEnum(binaryoperators=(+, -, *), unaryoperators=(sin, cos)) # old
operators = OperatorEnum(2 => (+, -, *), 1 => (sin, cos)) ```
This API permits higher-arity operators:
julia
operators = OperatorEnum(1 => (sin, cos), 2 => (+, -, *), 3 => (fma, max))
(Note that the order you pass the pairs is not important.)
Full Changelog: https://github.com/SymbolicML/DynamicExpressions.jl/compare/v1.10.3...v2.0.0
- Julia
Published by MilesCranmer 9 months ago
DynamicExpressions - v1.10.3
DynamicExpressions v1.10.3
Merged pull requests: - fix: mutation error for Zygote (#130) (@MilesCranmer) - fix: move non_differentiable to special module for JET masking (#131) (@MilesCranmer)
- Julia
Published by github-actions[bot] 9 months ago
DynamicExpressions - v1.10.2
DynamicExpressions v1.10.2
Merged pull requests: - CompatHelper: bump compat for Zygote in [weakdeps] to 0.7, (keep existing compat) (#119) (@github-actions[bot])
- Julia
Published by github-actions[bot] 9 months ago
DynamicExpressions - v1.10.1
DynamicExpressions v1.10.1
Merged pull requests: - fix: avoid returning view for generic operators (#126) (@MilesCranmer)
- Julia
Published by github-actions[bot] 10 months ago
DynamicExpressions - v1.10.0
DynamicExpressions v1.10.0
Merged pull requests: - Fix minute typo (#120) (@sunxd3) - feat: allow separate operator names for pretty printing (#122) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.9.4
DynamicExpressions v1.9.4
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.9.3
DynamicExpressions v1.9.3
Closed issues: - Base Operator Overloading - Question (#121)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.9.2
DynamicExpressions v1.9.2
Merged pull requests: - Copyable buffer and eval options (#118) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.9.1
DynamicExpressions v1.9.1
Merged pull requests:
- fix: missing extraction of operators in SymbolicUtils convert (#117) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.9.0
DynamicExpressions v1.9.0
Merged pull requests: - Some quality of life API updates (#116) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.8.0
DynamicExpressions v1.8.0
Merged pull requests: - Create preallocation utility functions for expressions (#114) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.7.0
DynamicExpressions v1.7.0
Merged pull requests: - Zero-allocation tree evaluation with buffer (#112) (@MilesCranmer) - in-place copy for trees (#113) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.6.0
DynamicExpressions v1.6.0
Merged pull requests: - Prettier printing for gradient operators (#111) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.5.1
DynamicExpressions v1.5.1
Merged pull requests:
- fix: non-finite .val evaluation issue (#110) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 1 year ago
DynamicExpressions - v1.5.0
DynamicExpressions v1.5.0
Merged pull requests:
- feat: deprecate raw for pretty (#109) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.4.1
DynamicExpressions v1.4.1
Merged pull requests:
- Fix interface test for string_tree to handle abstract strings (#108) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.4.0
DynamicExpressions v1.4.0
Merged pull requests: - feat: allow expression algebra for safe aliases (#107) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.3.0
DynamicExpressions v1.3.0
Merged pull requests:
- feat!: create ReadOnlyNode for StructuredExpression get_tree access (#105) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.2.0
DynamicExpressions v1.2.0
Merged pull requests:
- Create AbstractStructuredExpression (#104) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.1.0
DynamicExpressions v1.1.0
Merged pull requests:
- Avoid closure in tree_mapreduce (#103) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.0.1
DynamicExpressions v1.0.1
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v1.0.0
DynamicExpressions v1.0.0
The release of v1 is very similar to v0.19, it basically just indicates that we have had API stability for a while.
Merged pull requests: - Release v1.0.0 / StructuredExpression change (#102) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.19.3
DynamicExpressions v0.19.3
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.19.2
DynamicExpressions v0.19.2
Merged pull requests: - CompatHelper: bump compat for SymbolicUtils in [weakdeps] to 3, (keep existing compat) (#96) (@github-actions[bot]) - refactor: update symbolic utils deprecated API (#101) (@MilesCranmer)
Closed issues: - FrozenExpression (#100)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.19.1
DynamicExpressions v0.19.1
Merged pull requests:
- Increase purity of @generated functions during tests with DispatchDoctor (#97) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.19.0
DynamicExpressions v0.19.0
Merged pull requests:
- Updated OperatorEnum to use any data type (not just Numbers) (#85) (@gca30)
- Add parameter to disable early exit of expression evaluation (#91) (@nmheim)
- Algebra for AbstractExpression objects; and StructuredExpression (#92) (@MilesCranmer)
- refactor: fix type instability within get_constants (#94) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.5
DynamicExpressions v0.18.5
Merged pull requests: - Faster ChainRules implementation (#90) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.4
DynamicExpressions v0.18.4
Merged pull requests:
- Create extract_gradient (#89) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.3
DynamicExpressions v0.18.3
Merged pull requests: - Fix gradients of parametric expressions (#88) (@MilesCranmer)
Closed issues: - [Feature] Interface with ChainRulesCore.jl (#29) - Rewrite docs with DocStringExtensions (#75)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.2
DynamicExpressions v0.18.2
Merged pull requests: - Fix additional ambiguous methods for Expression interface (#84) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.1
DynamicExpressions v0.18.1
Merged pull requests:
- Fix some method ambiguities in Expression (#83) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.0
DynamicExpressions v0.18.0
Merged pull requests:
- feat: create Expression type to store operators with expression and parse_expression to have robust parsing (#73) (@MilesCranmer)
- CompatHelper: bump compat for SymbolicUtils in [weakdeps] to 2, (keep existing compat) (#78) (@github-actions[bot])
- Add DispatchDoctor.jl and fix various type instabilities (#79) (@MilesCranmer)
- Create ParametricExpression type (#81) (@MilesCranmer)
- Improve ParametricExpressions (#82) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 1 year ago
DynamicExpressions - v0.18.0-alpha.1
This is an alpha release, and is not registered on Pkg. The API may change for what gets released in 0.18.0.
What's Changed
- feat: create
Expressiontype to store operators with expression andparse_expressionto have robust parsing by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/73 - Add DispatchDoctor.jl and fix various type instabilities by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/79
- CompatHelper: bump compat for SymbolicUtils in [weakdeps] to 2, (keep existing compat) by @github-actions in https://github.com/SymbolicML/DynamicExpressions.jl/pull/78
- Create
ParametricExpressiontype by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/81
Full Changelog: https://github.com/SymbolicML/DynamicExpressions.jl/compare/v0.17.0...v0.18.0-alpha.1
- Julia
Published by MilesCranmer over 1 year ago
DynamicExpressions - v0.17.0
DynamicExpressions v0.17.0
Merged pull requests: - feat!: simplify expression optimization routine (#70) (@MilesCranmer) - Add ChainRules support (#71) (@MilesCranmer) - refactor!: module names to match struct names (#72) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 2 years ago
DynamicExpressions - v0.16.0
DynamicExpressions v0.16.0
Merged pull requests: - (BREAKING) Refactor code to be more idiomatic (#66) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 2 years ago
DynamicExpressions - v0.15.0
DynamicExpressions v0.15.0
Merged pull requests:
- Overload Optim.optimize for ::Node (#30) (@MilesCranmer)
- Enzyme compatibility (#52) (@MilesCranmer)
- Bump allocator version of expression evaluation (#61) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 2 years ago
DynamicExpressions - v0.14.1
DynamicExpressions v0.14.1
Merged pull requests:
- Add built-in random sampling (#57) (@MilesCranmer)
- Add better errors for rand (#58) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 2 years ago
DynamicExpressions - v0.14.0
DynamicExpressions v0.14.0
Merged pull requests:
- Create AbstractNode super type (#53) (@MilesCranmer)
- Graph-like expressions (#56) (@MilesCranmer)
- Julia
Published by github-actions[bot] about 2 years ago
DynamicExpressions - v0.13.1
DynamicExpressions v0.13.1
Merged pull requests:
- Fix type stability of fill_similar (#51) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.13.0
DynamicExpressions v0.13.0
Merged pull requests: - Switch to UInt8/UInt16 for Node fields (#50) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.12.3
DynamicExpressions v0.12.3
Merged pull requests: - Add Aqua.jl to test suite (#48) (@MilesCranmer) - Type stable wrapping of Zygote gradients (#49) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.12.2
DynamicExpressions v0.12.2
Merged pull requests: - Type stability in hashing (#46) (@MilesCranmer) - Allow operator aliases (#47) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.12.1
DynamicExpressions v0.12.1
Merged pull requests: - Allow setting default variables in printing (#45) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.12.0
DynamicExpressions v0.12.0
Merged pull requests: - Avoid method invalidation in helper functions (#44) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.11.0
DynamicExpressions v0.11.0
Merged pull requests: - Move Zygote.jl to an extension (#43) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.10.1
DynamicExpressions v0.10.1
Closed issues: - [Feature] Overloadable constant printing (#38)
Merged pull requests: - Allow mult unicode to be printed infix (#41) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 2 years ago
DynamicExpressions - v0.10.0
What's Changed
- Deprecate varMap in favor of variable_names by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/39
- Allow user-defined printing by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/40
Full Changelog: https://github.com/SymbolicML/DynamicExpressions.jl/compare/v0.9.0...v0.10.0
- Julia
Published by MilesCranmer over 2 years ago
DynamicExpressions - v0.9.0
DynamicExpressions v0.9.0
Merged pull requests: - Move SymbolicUtils.jl into extension (#35) (@MilesCranmer) - Test Julia 1.9 (#36) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.8.1
DynamicExpressions v0.8.1
Merged pull requests:
- Fix weird return value from index_constants! (#32) (@MilesCranmer)
- Preserve container types (#33) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.8.0
DynamicExpressions v0.8.0
Closed issues:
- tree_map? (#23)
Merged pull requests:
- Define functions in Base to treat Node as collection (#27) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.7.0
DynamicExpressions v0.7.0
Merged pull requests: - Clean up IdDict use with macro (#17) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.6.1
DynamicExpressions v0.6.1
Merged pull requests: - Migrate from SnoopPrecompile to PrecompileTools (#26) (@timholy)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.6.0
DynamicExpressions v0.6.0
Closed issues:
- what's special about variable name operators? (#21)
Merged pull requests: - Deprecate implicit call API (#22) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.5.1
What's Changed
- CompatHelper: bump compat for SymbolicUtils to 1, (keep existing compat) by @github-actions in https://github.com/SymbolicML/DynamicExpressions.jl/pull/12
Full Changelog: https://github.com/SymbolicML/DynamicExpressions.jl/compare/v0.5.0...v0.5.1
- Julia
Published by MilesCranmer almost 3 years ago
DynamicExpressions - v0.5.0
DynamicExpressions v0.5.0
Merged pull requests: - Fix printing of complex numbers (#19) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.4.3
DynamicExpressions v0.4.3
Merged pull requests: - Open OperatorEnum to complex numbers (#16) (@MilesCranmer) - Reduce precompilation (#18) (@MilesCranmer)
- Julia
Published by github-actions[bot] almost 3 years ago
DynamicExpressions - v0.4.2
DynamicExpressions v0.4.2
Merged pull requests: - Improve precompilation with SnoopCompile.jl (#11) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.4.1
DynamicExpressions v0.4.1
Merged pull requests: - Reduce specialization in evaluation methods (#10) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.4.0
DynamicExpressions v0.4.0
Merged pull requests: - Safer way of extending user-defined operators (#8) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.3.2
DynamicExpressions v0.3.2
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.3.1
DynamicExpressions v0.3.1
Merged pull requests:
- Use LoopVectorization.@turbo in dynamic expression evaluation scheme (#9) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.3.0
DynamicExpressions v0.3.0
Merged pull requests: - Add equality operator (#7) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.2.3
DynamicExpressions v0.2.3
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.2.2
DynamicExpressions v0.2.2
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.2.1
DynamicExpressions v0.2.1
Closed issues: - Register package (#1) - Remove NaN checks by default (#2)
Merged pull requests:
- By default, throw errors from MethodError (#5) (@MilesCranmer)
- Julia
Published by github-actions[bot] over 3 years ago
DynamicExpressions - v0.2.0
What's Changed
- Extend to have generic operators by @MilesCranmer in https://github.com/SymbolicML/DynamicExpressions.jl/pull/3
Full Changelog: https://github.com/SymbolicML/DynamicExpressions.jl/compare/v0.1.0...v0.2.0
- Julia
Published by MilesCranmer over 3 years ago