diff --git a/Project.toml b/Project.toml index b817c517a..6aa67c34c 100644 --- a/Project.toml +++ b/Project.toml @@ -23,6 +23,7 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" Reexport = "189a3867-3050-52da-a836-e630ba90ab69" Requires = "ae029012-a4dd-5104-9daa-d747884805df" @@ -54,6 +55,7 @@ DynamicPolynomials = "0.5" Groebner = "0.3, 0.4" IfElse = "0.1" LaTeXStrings = "1.3" +LambertW = "0.4.5" Latexify = "0.11, 0.12, 0.13, 0.14, 0.15, 0.16" MacroTools = "0.5" NaNMath = "0.3, 1" @@ -68,7 +70,6 @@ SpecialFunctions = "0.7, 0.8, 0.9, 0.10, 1.0, 2" StaticArrays = "1.1" SymbolicUtils = "1.0.1" TreeViews = "0.3" -LambertW = "0.4.5" julia = "1.6" [extras] diff --git a/src/Symbolics.jl b/src/Symbolics.jl index 1b7e0c066..47066f31e 100644 --- a/src/Symbolics.jl +++ b/src/Symbolics.jl @@ -3,43 +3,47 @@ $(DocStringExtensions.README) """ module Symbolics -using DocStringExtensions, Markdown - -using LinearAlgebra - -using Reexport - -using DomainSets - -using Setfield - -import DomainSets: Domain +using PrecompileTools + +@recompile_invalidations begin + + using DocStringExtensions, Markdown + + using LinearAlgebra + + using Reexport + + using DomainSets + + using Setfield + + import DomainSets: Domain + + import SymbolicUtils: similarterm, istree, operation, arguments, symtype, metadata + + import SymbolicUtils: Term, Add, Mul, Pow, Sym, Div, BasicSymbolic, + FnType, @rule, Rewriters, substitute, + promote_symtype, isadd, ismul, ispow, isterm, issym, isdiv + + using SymbolicUtils.Code + + import SymbolicUtils.Rewriters: Chain, Prewalk, Postwalk, Fixpoint + + import SymbolicUtils.Code: toexpr + + import ArrayInterface + using RuntimeGeneratedFunctions + using SciMLBase, IfElse + using MacroTools +end @reexport using SymbolicUtils - -import SymbolicUtils: similarterm, istree, operation, arguments, symtype, metadata - -import SymbolicUtils: Term, Add, Mul, Pow, Sym, Div, BasicSymbolic, - FnType, @rule, Rewriters, substitute, - promote_symtype, isadd, ismul, ispow, isterm, issym, isdiv - -using SymbolicUtils.Code - -import SymbolicUtils.Rewriters: Chain, Prewalk, Postwalk, Fixpoint - -import SymbolicUtils.Code: toexpr - -import ArrayInterface - -using RuntimeGeneratedFunctions RuntimeGeneratedFunctions.init(@__MODULE__) # re-export export simplify, substitute -using SciMLBase, IfElse export Num -using MacroTools import MacroTools: splitdef, combinedef, postwalk, striplines include("wrapper-types.jl")