Skip to content

Commit f68d92e

Browse files
authored
Merge pull request #72 from SymbolicML/refactor-modules
refactor!: module names to match struct names
2 parents 27b6199 + 841f240 commit f68d92e

19 files changed

+69
-50
lines changed

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,10 @@ Optim = "429524aa-4258-5aef-a3af-852621145aeb"
5252
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
5353
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
5454
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
55+
Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
5556
SymbolicUtils = "d1185830-fcd6-423d-90d6-eec64667417b"
5657
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
5758
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
5859

5960
[targets]
60-
test = ["Test", "SafeTestsets", "Aqua", "Bumper", "Enzyme", "ForwardDiff", "LinearAlgebra", "LoopVectorization", "Optim", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "Zygote"]
61+
test = ["Test", "SafeTestsets", "Aqua", "Bumper", "Enzyme", "ForwardDiff", "LinearAlgebra", "LoopVectorization", "Optim", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "Suppressor", "Zygote"]

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ DynamicExpressions.jl is the backbone of [SymbolicRegression.jl](https://github.
1515

1616
A dynamic expression is a snippet of code that can change throughout runtime - compilation is not possible! **DynamicExpressions.jl does the following:**
1717
1. Defines an enum over user-specified operators.
18-
2. Using this enum, it defines a [very lightweight and type-stable data structure](https://symbolicml.org/DynamicExpressions.jl/dev/types/#DynamicExpressions.EquationModule.Node) for arbitrary expressions.
18+
2. Using this enum, it defines a [very lightweight and type-stable data structure](https://symbolicml.org/DynamicExpressions.jl/dev/types/#DynamicExpressions.NodeModule.Node) for arbitrary expressions.
1919
3. It then generates specialized [evaluation kernels](https://github.com/SymbolicML/DynamicExpressions.jl/blob/fe8e6dfa160d12485fb77c226d22776dd6ed697a/src/EvaluateEquation.jl#L29-L66) for the space of potential operators.
2020
4. It also generates kernels for the [first-order derivatives](https://github.com/SymbolicML/DynamicExpressions.jl/blob/fe8e6dfa160d12485fb77c226d22776dd6ed697a/src/EvaluateEquationDerivative.jl#L139-L175), using [Zygote.jl](https://github.com/FluxML/Zygote.jl).
2121
5. DynamicExpressions.jl can also operate on arbitrary other types (vectors, tensors, symbols, strings, or even unions) - see last part below.

benchmark/benchmarks.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using DynamicExpressions, BenchmarkTools, Random
2-
using DynamicExpressions.EquationUtilsModule: is_constant
32

43
# Trigger extensions:
54
using LoopVectorization
@@ -13,6 +12,12 @@ else
1312
@eval using DynamicExpressions: GraphNode
1413
end
1514

15+
if PACKAGE_VERSION < v"0.17.0"
16+
@eval using DynamicExpressions.EquationUtilsModule: is_constant
17+
else
18+
@eval using DynamicExpressions.NodeUtilsModule: is_constant
19+
end
20+
1621
include("../test/tree_gen_utils.jl")
1722

1823
const SUITE = BenchmarkGroup()

ext/DynamicExpressionsLoopVectorizationExt.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module DynamicExpressionsLoopVectorizationExt
33
using LoopVectorization: @turbo
44
using DynamicExpressions: AbstractExpressionNode
55
using DynamicExpressions.UtilsModule: ResultOk, fill_similar
6-
using DynamicExpressions.EvaluateEquationModule: @return_on_check
7-
import DynamicExpressions.EvaluateEquationModule:
6+
using DynamicExpressions.EvaluateModule: @return_on_check
7+
import DynamicExpressions.EvaluateModule:
88
deg1_eval,
99
deg2_eval,
1010
deg1_l2_ll0_lr0_eval,

ext/DynamicExpressionsSymbolicUtilsExt.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module DynamicExpressionsSymbolicUtilsExt
22

33
using SymbolicUtils
4-
import DynamicExpressions.EquationModule:
4+
import DynamicExpressions.NodeModule:
55
AbstractExpressionNode, Node, constructorof, DEFAULT_NODE_TYPE
66
import DynamicExpressions.OperatorEnumModule: AbstractOperatorEnum
77
import DynamicExpressions.UtilsModule: isgood, isbad, deprecate_varmap

src/DynamicExpressions.jl

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ module DynamicExpressions
33
include("Utils.jl")
44
include("ExtensionInterface.jl")
55
include("OperatorEnum.jl")
6-
include("Equation.jl")
7-
include("EquationUtils.jl")
6+
include("Node.jl")
7+
include("NodeUtils.jl")
88
include("Strings.jl")
9-
include("EvaluateEquation.jl")
10-
include("EvaluateEquationDerivative.jl")
9+
include("Evaluate.jl")
10+
include("EvaluateDerivative.jl")
1111
include("EvaluationHelpers.jl")
12-
include("SimplifyEquation.jl")
12+
include("Simplify.jl")
1313
include("OperatorEnumConstruction.jl")
1414
include("Random.jl")
1515

1616
import PackageExtensionCompat: @require_extensions
1717
import Reexport: @reexport
18-
@reexport import .EquationModule:
18+
@reexport import .NodeModule:
1919
AbstractNode,
2020
AbstractExpressionNode,
2121
GraphNode,
@@ -25,8 +25,8 @@ import Reexport: @reexport
2525
tree_mapreduce,
2626
filter_map,
2727
filter_map!
28-
import .EquationModule: constructorof, preserve_sharing
29-
@reexport import .EquationUtilsModule:
28+
import .NodeModule: constructorof, preserve_sharing
29+
@reexport import .NodeUtilsModule:
3030
count_nodes,
3131
count_constants,
3232
count_depth,
@@ -40,10 +40,9 @@ import .EquationModule: constructorof, preserve_sharing
4040
@reexport import .OperatorEnumModule: AbstractOperatorEnum
4141
@reexport import .OperatorEnumConstructionModule:
4242
OperatorEnum, GenericOperatorEnum, @extend_operators, set_default_variable_names!
43-
@reexport import .EvaluateEquationModule: eval_tree_array, differentiable_eval_tree_array
44-
@reexport import .EvaluateEquationDerivativeModule:
45-
eval_diff_tree_array, eval_grad_tree_array
46-
@reexport import .SimplifyEquationModule: combine_operators, simplify_tree!
43+
@reexport import .EvaluateModule: eval_tree_array, differentiable_eval_tree_array
44+
@reexport import .EvaluateDerivativeModule: eval_diff_tree_array, eval_grad_tree_array
45+
@reexport import .SimplifyModule: combine_operators, simplify_tree!
4746
@reexport import .EvaluationHelpersModule
4847
@reexport import .ExtensionInterfaceModule: node_to_symbolic, symbolic_to_node
4948
@reexport import .RandomModule: NodeSampler
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
module EvaluateEquationModule
1+
module EvaluateModule
22

3-
import ..EquationModule: AbstractExpressionNode, constructorof
3+
import ..NodeModule: AbstractExpressionNode, constructorof
44
import ..StringsModule: string_tree
55
import ..OperatorEnumModule: OperatorEnum, GenericOperatorEnum
66
import ..UtilsModule: is_bad_array, fill_similar, counttuple, ResultOk
7-
import ..EquationUtilsModule: is_constant
7+
import ..NodeUtilsModule: is_constant
88
import ..ExtensionInterfaceModule: bumper_eval_tree_array, _is_loopvectorization_loaded
99

1010
const OPERATOR_LIMIT_BEFORE_SLOWDOWN = 15
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
module EvaluateEquationDerivativeModule
1+
module EvaluateDerivativeModule
22

3-
import ..EquationModule: AbstractExpressionNode, constructorof
3+
import ..NodeModule: AbstractExpressionNode, constructorof
44
import ..OperatorEnumModule: OperatorEnum
55
import ..UtilsModule: is_bad_array, fill_similar, ResultOk2
6-
import ..EquationUtilsModule: count_constants, index_constants, NodeIndex
7-
import ..EvaluateEquationModule:
8-
deg0_eval, get_nuna, get_nbin, OPERATOR_LIMIT_BEFORE_SLOWDOWN
6+
import ..NodeUtilsModule: count_constants, index_constants, NodeIndex
7+
import ..EvaluateModule: deg0_eval, get_nuna, get_nbin, OPERATOR_LIMIT_BEFORE_SLOWDOWN
98
import ..ExtensionInterfaceModule: _zygote_gradient
109

1110
"""

src/EvaluationHelpers.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ module EvaluationHelpersModule
22

33
import Base: adjoint
44
import ..OperatorEnumModule: AbstractOperatorEnum, OperatorEnum, GenericOperatorEnum
5-
import ..EquationModule: AbstractExpressionNode
6-
import ..EvaluateEquationModule: eval_tree_array
7-
import ..EvaluateEquationDerivativeModule: eval_grad_tree_array
5+
import ..NodeModule: AbstractExpressionNode
6+
import ..EvaluateModule: eval_tree_array
7+
import ..EvaluateDerivativeModule: eval_grad_tree_array
88

99
# Evaluation:
1010
"""

src/Equation.jl renamed to src/Node.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module EquationModule
1+
module NodeModule
22

33
import ..OperatorEnumModule: AbstractOperatorEnum
44
import ..UtilsModule: @memoize_on, @with_memoize, deprecate_varmap, Undefined

0 commit comments

Comments
 (0)