Skip to content

Commit e9f4ff8

Browse files
committed
Modify BasicSymbolic constructors with new struct structure
1 parent f8d0e78 commit e9f4ff8

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/types.jl

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -591,7 +591,8 @@ end
591591
function Sym{T}(name::Symbol; metadata = NO_METADATA, kw...) where {T}
592592
s = Sym{T}(; name, kw...)
593593
bsi = BasicSymbolicImpl(s)
594-
BasicSymbolic(bsi, metadata)
594+
mdi = MetadataImpl(metadata, Vector())
595+
BasicSymbolic(bsi, mdi)
595596
end
596597

597598
function Term{T}(f, args; metadata = NO_METADATA, kw...) where T
@@ -601,7 +602,8 @@ function Term{T}(f, args; metadata = NO_METADATA, kw...) where T
601602

602603
s = Term{T}(;f=f, arguments=args, hash=Ref(UInt(0)), hash2=Ref(UInt(0)), kw...)
603604
bsi = BasicSymbolicImpl(s)
604-
BasicSymbolic(bsi, metadata)
605+
mdi = MetadataImpl(metadata, getmetadata.(args))
606+
BasicSymbolic(bsi, mdi)
605607
end
606608

607609
function Term(f, args; metadata=NO_METADATA)
@@ -623,7 +625,8 @@ function Add(::Type{T}, coeff, dict; metadata=NO_METADATA, kw...) where T
623625

624626
s = Add{T}(; coeff, dict, hash=Ref(UInt(0)), hash2=Ref(UInt(0)), arguments=[], issorted=RefValue(false), kw...)
625627
bsi = BasicSymbolicImpl(s)
626-
BasicSymbolic(bsi, metadata)
628+
mdi = MetadataImpl(metadata, getmetadata.(arguments(s)))
629+
BasicSymbolic(bsi, mdi)
627630
end
628631

629632
function Mul(T, a, b; metadata=NO_METADATA, kw...)
@@ -640,7 +643,8 @@ function Mul(T, a, b; metadata=NO_METADATA, kw...)
640643
dict = b
641644
s = Mul{T}(; coeff, dict, hash=Ref(UInt(0)), hash2=Ref(UInt(0)), arguments=[], issorted=RefValue(false), kw...)
642645
bsi = BasicSymbolicImpl(s)
643-
BasicSymbolic(bsi, metadata)
646+
mdi = MetadataImpl(metadata, getmetadata.(arguments(s)))
647+
BasicSymbolic(bsi, mdi)
644648
end
645649
end
646650

@@ -707,7 +711,8 @@ function Div{T}(n, d, simplified=false; metadata=NO_METADATA, kwargs...) where {
707711

708712
s = Div{T}(; num=n, den=d, simplified, arguments=[])
709713
bsi = BasicSymbolicImpl(s)
710-
BasicSymbolic(bsi, metadata)
714+
mdi = MetadataImpl(metadata, getmetadata.(arguments(s)))
715+
BasicSymbolic(bsi, mdi)
711716
end
712717

713718
function Div(n,d, simplified=false; kw...)
@@ -726,7 +731,8 @@ function Pow{T}(a, b; metadata=NO_METADATA, kwargs...) where {T}
726731
_isone(b) && return a
727732
s = Pow{T}(; base=a, exp=b, arguments=[])
728733
bsi = BasicSymbolicImpl(s)
729-
BasicSymbolic(bsi, metadata)
734+
mdi = MetadataImpl(metadata, getmetadata.(arguments(s)))
735+
BasicSymbolic(bsi, mdi)
730736
end
731737

732738
function Pow(a, b; metadata = NO_METADATA, kwargs...)

0 commit comments

Comments
 (0)