From 48e1f073f1257c5b96193bb2a96d25efea6a0d0c Mon Sep 17 00:00:00 2001 From: schillic Date: Thu, 13 Nov 2025 06:33:06 +0100 Subject: [PATCH] allow Symbolics v7 --- docs/Project.toml | 2 +- src/Sets/HalfSpace/ishalfspace.jl | 9 +++++++-- src/Sets/Hyperplane/ishyperplanar.jl | 9 +++++++-- test/Project.toml | 6 +++--- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/Project.toml b/docs/Project.toml index d7f84da774..aead23cffa 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -39,5 +39,5 @@ Polyhedra = "0.7 - 0.8" RecipesBase = "1" StaticArrays = "1" SymEngine = "0.7 - 0.13" -Symbolics = "6.1" +Symbolics = "6.1 - 7" TaylorModels = "0.6 - 0.8" diff --git a/src/Sets/HalfSpace/ishalfspace.jl b/src/Sets/HalfSpace/ishalfspace.jl index 221ab5fcb4..4cb81fe5bf 100644 --- a/src/Sets/HalfSpace/ishalfspace.jl +++ b/src/Sets/HalfSpace/ishalfspace.jl @@ -65,12 +65,17 @@ end # load_SymEngine_ishalfspace function load_Symbolics_ishalfspace() return quote - using .Symbolics: Symbolic + if isdefined(Symbolics, :Symbolic) + import .Symbolics: Symbolic + const BasicSymbolic = Symbolic + else + import .Symbolics: BasicSymbolic + end # returns `(true, sexpr)` if expr represents a half-space, # where sexpr is the simplified expression sexpr := LHS - RHS <= 0 # otherwise, returns `(false, expr)` - function _ishalfspace(expr::Symbolic) + function _ishalfspace(expr::BasicSymbolic) got_halfspace = true # find sense and normalize diff --git a/src/Sets/Hyperplane/ishyperplanar.jl b/src/Sets/Hyperplane/ishyperplanar.jl index c248a2da04..383ff39ddc 100644 --- a/src/Sets/Hyperplane/ishyperplanar.jl +++ b/src/Sets/Hyperplane/ishyperplanar.jl @@ -64,12 +64,17 @@ end # load_SymEngine_ishyperplanar function load_Symbolics_ishyperplanar() return quote - using .Symbolics: Symbolic + if isdefined(Symbolics, :Symbolic) + import .Symbolics: Symbolic + const BasicSymbolic = Symbolic + else + import .Symbolics: BasicSymbolic + end # returns `(true, sexpr)` if expr represents a hyperplane, # where sexpr is the simplified expression sexpr := LHS - RHS == 0 # otherwise returns `(false, expr)` - function _ishyperplanar(expr::Symbolic) + function _ishyperplanar(expr::BasicSymbolic) got_hyperplane = Symbolics.operation(expr) == == if got_hyperplane # simplify to the form a*x + b == 0 diff --git a/test/Project.toml b/test/Project.toml index c70c291d97..3f555161ad 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -4,8 +4,8 @@ CDDLib = "3391f64e-dcde-5f30-b752-e11513730f60" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" Expokit = "a1e7a1ef-7a5d-5822-a38c-be74e1bb89f4" ExponentialUtilities = "d4d017d3-3776-5f7e-afef-a10c40355c18" -GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" IntervalConstraintProgramming = "138f1668-1576-5ad7-91b9-7425abbf3153" IntervalMatrices = "5c1f47dc-42dd-5697-8aaa-4d102d140ba9" Ipopt = "b6b21f68-93f8-5de0-b562-5493be1d77c9" @@ -32,8 +32,8 @@ CDDLib = "0.6 - 0.10" Distributions = "0.19 - 0.25" Expokit = "0.2" ExponentialUtilities = "1" -GeometryBasics = "0.3 - 0.5" GR = "0" +GeometryBasics = "0.3 - 0.5" IntervalConstraintProgramming = "0.9 - 0.13" IntervalMatrices = "0.8 - 0.12" Ipopt = "1" @@ -46,6 +46,6 @@ SCS = "1, 2" SetProg = "0.3 - 0.4" StaticArrays = "0.12, 1" SymEngine = "0.7 - 0.13" -Symbolics = "1 - 5.30, 6.1" +Symbolics = "1 - 5.30, 6.1 - 7" TaylorModels = "0.0.1, 0.1 - 0.8" WriteVTK = "1"