julia> pol = HalfSpace([-0.0, -0.0, -1.0], 0.0) ∩ HalfSpace([-0.0, -0.0, -1.0], 0.0) ∩ HalfSpace([-2.88822, -2.88814, -1.0], -0.5201649970233834) ∩ HalfSpace([-3.82659e-8, -2.21789e-8, -1.0], 3.175592530991495e-7) ∩ HalfSpace([0.000233009, 0.000201829, -1.0], 0.0014080138136517413) ∩ HalfSpace([0.000305723, 0.000298892, -1.0], 0.0013853823633649016) ∩ HalfSpace([0.000452778, 0.000564088, -1.0], 0.0023422004969333083) ∩ HalfSpace([-0.0, -0.0, -0.0], 1.0) ∩ HalfSpace([-2.0, -1.0, -0.0], 1.0) ∩ HalfSpace([-2.0, -2.0, -0.0], 1.0) ∩ HalfSpace([2.0, 1.0, -0.0], 6.7) ∩ HalfSpace([-0.0, -0.0, -0.0], 1.0) ∩ HalfSpace([-0.0, -1.0, -0.0], 5.0) ∩ HalfSpace([1.0, 1.0, -0.0], 2.85) ∩ HalfSpace([-0.0, 1.0, -0.0], 4.0) ∩ HalfSpace([-0.0, -0.0, -0.0], 1.0) ∩ HalfSpace([-1.0, -0.0, -0.0], 0.5) ∩ HalfSpace([1.0, -0.0, -0.0], 0.5) ∩ HalfSpace([-0.0, -1.0, -0.0], -0.5) ∩ HalfSpace([-0.0, 1.0, -0.0], 2.0)
H-representation Polyhedra.Intersection{Float64,Array{Float64,1},Int64}:
20-element iterator of HalfSpace{Float64,Array{Float64,1}}:
HalfSpace([-0.0, -0.0, -1.0], 0.0)
HalfSpace([-0.0, -0.0, -1.0], 0.0)
HalfSpace([-2.88822, -2.88814, -1.0], -0.5201649970233834)
HalfSpace([-3.82659e-8, -2.21789e-8, -1.0], 3.175592530991495e-7)
HalfSpace([0.000233009, 0.000201829, -1.0], 0.0014080138136517413)
HalfSpace([0.000305723, 0.000298892, -1.0], 0.0013853823633649016)
HalfSpace([0.000452778, 0.000564088, -1.0], 0.0023422004969333083)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-2.0, -1.0, -0.0], 1.0)
HalfSpace([-2.0, -2.0, -0.0], 1.0)
HalfSpace([2.0, 1.0, -0.0], 6.7)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-0.0, -1.0, -0.0], 5.0)
HalfSpace([1.0, 1.0, -0.0], 2.85)
HalfSpace([-0.0, 1.0, -0.0], 4.0)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-1.0, -0.0, -0.0], 0.5)
HalfSpace([1.0, -0.0, -0.0], 0.5)
HalfSpace([-0.0, -1.0, -0.0], -0.5)
HalfSpace([-0.0, 1.0, -0.0], 2.0)
julia> p = polyhedron(pol, CDDLib.Library())
Polyhedron CDDLib.Polyhedron{Float64}:
20-element iterator of HalfSpace{Float64,Array{Float64,1}}:
HalfSpace([-0.0, -0.0, -1.0], 0.0)
HalfSpace([-0.0, -0.0, -1.0], 0.0)
HalfSpace([-2.88822, -2.88814, -1.0], -0.5201649970233834)
HalfSpace([-3.82659e-8, -2.21789e-8, -1.0], 3.175592530991495e-7)
HalfSpace([0.000233009, 0.000201829, -1.0], 0.0014080138136517413)
HalfSpace([0.000305723, 0.000298892, -1.0], 0.0013853823633649016)
HalfSpace([0.000452778, 0.000564088, -1.0], 0.0023422004969333083)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-2.0, -1.0, -0.0], 1.0)
HalfSpace([-2.0, -2.0, -0.0], 1.0)
HalfSpace([2.0, 1.0, -0.0], 6.7)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-0.0, -1.0, -0.0], 5.0)
HalfSpace([1.0, 1.0, -0.0], 2.85)
HalfSpace([-0.0, 1.0, -0.0], 4.0)
HalfSpace([-0.0, -0.0, -0.0], 1.0)
HalfSpace([-1.0, -0.0, -0.0], 0.5)
HalfSpace([1.0, -0.0, -0.0], 0.5)
HalfSpace([-0.0, -1.0, -0.0], -0.5)
HalfSpace([-0.0, 1.0, -0.0], 2.0)
julia> collect(points(p))
ERROR: AssertionError: ispoint == zero(T) || ispoint == one(T)
Stacktrace:
[1] isrowpoint(::Ptr{CDDLib.Cdd_MatrixData{Float64}}, ::Int64, ::Type{Float64}) at /home/blegat/.julia/packages/CDDLib/bKo5p/src/matrix.jl:233
[2] isrowpoint at /home/blegat/.julia/packages/CDDLib/bKo5p/src/matrix.jl:237 [inlined]
[3] isvalid at /home/blegat/.julia/packages/CDDLib/bKo5p/src/matrix.jl:281 [inlined]
[4] mixednext(::CDDGeneratorMatrix{Float64,Float64}, ::Polyhedra.Index{Float64,Array{Float64,1}}) at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/mixedrep.jl:23
[5] nextindex at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/mixedrep.jl:33 [inlined]
[6] iterate at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/indices.jl:66 [inlined]
[7] mixedlength at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/mixedrep.jl:15 [inlined]
[8] length(::Polyhedra.Indices{Float64,Array{Float64,1},CDDGeneratorMatrix{Float64,Float64}}) at /home/blegat/.julia/packages/CDDLib/bKo5p/src/matrix.jl:276
[9] length(::Polyhedra.Indices{Float64,Array{Float64,1},CDDLib.Polyhedron{Float64}}) at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/indices.jl:81
[10] npoints at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/iterators.jl:166 [inlined]
[11] length at /home/blegat/.julia/packages/Polyhedra/Su6Kf/src/iterators.jl:192 [inlined]
[12] _similar_for(::UnitRange{Int64}, ::Type{Array{Float64,1}}, ::Polyhedra.SingleRepIterator{Float64,Array{Float64,1},CDDLib.Polyhedron{Float64}}, ::Base.HasLength) at ./array.jl:517
[13] _collect(::UnitRange{Int64}, ::Polyhedra.SingleRepIterator{Float64,Array{Float64,1},CDDLib.Polyhedron{Float64}}, ::Base.HasEltype, ::Base.HasLength) at ./array.jl:550
[14] collect(::Polyhedra.SingleRepIterator{Float64,Array{Float64,1},CDDLib.Polyhedron{Float64}}) at ./array.jl:544
[15] top-level scope at none:0