Skip to content

Commit d4095cf

Browse files
Merge pull request #2222 from xtalax/recompile
Recompile Invalidations
2 parents 2f81ea6 + 5b58e4d commit d4095cf

File tree

2 files changed

+71
-66
lines changed

2 files changed

+71
-66
lines changed

Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
3131
MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078"
3232
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
3333
NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
34+
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
3435
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
3536
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
3637
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"

src/ModelingToolkit.jl

Lines changed: 70 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,75 +2,79 @@
22
$(DocStringExtensions.README)
33
"""
44
module ModelingToolkit
5-
using DocStringExtensions
6-
using Compat
7-
using AbstractTrees
8-
using DiffEqBase, SciMLBase, ForwardDiff, Reexport
9-
using SciMLBase: StandardODEProblem, StandardNonlinearProblem, handle_varmap
10-
using Distributed
11-
using StaticArrays, LinearAlgebra, SparseArrays, LabelledArrays
12-
using InteractiveUtils
13-
using Latexify, Unitful, ArrayInterface
14-
using MacroTools
15-
@reexport using UnPack
16-
using Setfield, ConstructionBase
17-
using JumpProcesses
18-
using DataStructures
19-
using SpecialFunctions, NaNMath
20-
using RuntimeGeneratedFunctions
21-
using RuntimeGeneratedFunctions: drop_expr
22-
using Base.Threads
23-
using DiffEqCallbacks
24-
using Graphs
25-
import MacroTools: splitdef, combinedef, postwalk, striplines
26-
import Libdl
27-
using DocStringExtensions
28-
using Base: RefValue
29-
using Combinatorics
30-
import IfElse
31-
import Distributions
32-
import FunctionWrappersWrappers
33-
using URIs: URI
34-
5+
using PrecompileTools, Reexport
6+
@recompile_invalidations begin
7+
using DocStringExtensions
8+
using Compat
9+
using AbstractTrees
10+
using DiffEqBase, SciMLBase, ForwardDiff
11+
using SciMLBase: StandardODEProblem, StandardNonlinearProblem, handle_varmap
12+
using Distributed
13+
using StaticArrays, LinearAlgebra, SparseArrays, LabelledArrays
14+
using InteractiveUtils
15+
using Latexify, Unitful, ArrayInterface
16+
using MacroTools
17+
using Setfield, ConstructionBase
18+
using JumpProcesses
19+
using DataStructures
20+
using SpecialFunctions, NaNMath
21+
using RuntimeGeneratedFunctions
22+
using RuntimeGeneratedFunctions: drop_expr
23+
using Base.Threads
24+
using DiffEqCallbacks
25+
using Graphs
26+
import MacroTools: splitdef, combinedef, postwalk, striplines
27+
import Libdl
28+
using DocStringExtensions
29+
using Base: RefValue
30+
using Combinatorics
31+
import IfElse
32+
import Distributions
33+
import FunctionWrappersWrappers
34+
using URIs: URI
35+
36+
using RecursiveArrayTools
37+
38+
import SymbolicIndexingInterface
39+
import SymbolicIndexingInterface: independent_variables, states, parameters
40+
export independent_variables, states, parameters
41+
import SymbolicUtils
42+
import SymbolicUtils: istree, arguments, operation, similarterm, promote_symtype,
43+
Symbolic, isadd, ismul, ispow, issym, FnType,
44+
@rule, Rewriters, substitute, metadata, BasicSymbolic,
45+
Sym, Term
46+
using SymbolicUtils.Code
47+
import SymbolicUtils.Code: toexpr
48+
import SymbolicUtils.Rewriters: Chain, Postwalk, Prewalk, Fixpoint
49+
import JuliaFormatter
50+
51+
using MLStyle
52+
53+
using Reexport
54+
using Symbolics: degree
55+
@reexport using Symbolics
56+
using Symbolics: _parse_vars, value, @derivatives, get_variables,
57+
exprs_occur_in, solve_for, build_expr, unwrap, wrap,
58+
VariableSource, getname, variable, Connection, connect,
59+
NAMESPACE_SEPARATOR
60+
import Symbolics: rename, get_variables!, _solve, hessian_sparsity,
61+
jacobian_sparsity, isaffine, islinear, _iszero, _isone,
62+
tosymbol, lower_varname, diff2term, var_from_nested_derivative,
63+
BuildTargets, JuliaTarget, StanTarget, CTarget, MATLABTarget,
64+
ParallelForm, SerialForm, MultithreadedForm, build_function,
65+
rhss, lhss, prettify_expr, gradient,
66+
jacobian, hessian, derivative, sparsejacobian, sparsehessian,
67+
substituter, scalarize, getparent
68+
69+
import DiffEqBase: @add_kwonly
70+
71+
import Graphs: SimpleDiGraph, add_edge!, incidence_matrix
72+
73+
@reexport using UnPack
74+
end
3575
RuntimeGeneratedFunctions.init(@__MODULE__)
3676

37-
using RecursiveArrayTools
38-
39-
import SymbolicIndexingInterface
40-
import SymbolicIndexingInterface: independent_variables, states, parameters
41-
export independent_variables, states, parameters
42-
import SymbolicUtils
43-
import SymbolicUtils: istree, arguments, operation, similarterm, promote_symtype,
44-
Symbolic, isadd, ismul, ispow, issym, FnType,
45-
@rule, Rewriters, substitute, metadata, BasicSymbolic,
46-
Sym, Term
47-
using SymbolicUtils.Code
48-
import SymbolicUtils.Code: toexpr
49-
import SymbolicUtils.Rewriters: Chain, Postwalk, Prewalk, Fixpoint
50-
import JuliaFormatter
51-
52-
using MLStyle
53-
54-
using Reexport
55-
using Symbolics: degree
56-
@reexport using Symbolics
5777
export @derivatives
58-
using Symbolics: _parse_vars, value, @derivatives, get_variables,
59-
exprs_occur_in, solve_for, build_expr, unwrap, wrap,
60-
VariableSource, getname, variable, Connection, connect,
61-
NAMESPACE_SEPARATOR
62-
import Symbolics: rename, get_variables!, _solve, hessian_sparsity,
63-
jacobian_sparsity, isaffine, islinear, _iszero, _isone,
64-
tosymbol, lower_varname, diff2term, var_from_nested_derivative,
65-
BuildTargets, JuliaTarget, StanTarget, CTarget, MATLABTarget,
66-
ParallelForm, SerialForm, MultithreadedForm, build_function,
67-
rhss, lhss, prettify_expr, gradient,
68-
jacobian, hessian, derivative, sparsejacobian, sparsehessian,
69-
substituter, scalarize, getparent
70-
71-
import DiffEqBase: @add_kwonly
72-
73-
import Graphs: SimpleDiGraph, add_edge!, incidence_matrix
7478

7579
for fun in [:toexpr]
7680
@eval begin

0 commit comments

Comments
 (0)