591
591
function Sym {T} (name:: Symbol ; metadata = NO_METADATA, kw... ) where {T}
592
592
s = Sym {T} (; name, kw... )
593
593
bsi = BasicSymbolicImpl (s)
594
- BasicSymbolic (bsi, metadata)
594
+ mdi = MetadataImpl (metadata, Vector ())
595
+ BasicSymbolic (bsi, mdi)
595
596
end
596
597
597
598
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
601
602
602
603
s = Term {T} (;f= f, arguments= args, hash= Ref (UInt (0 )), hash2= Ref (UInt (0 )), kw... )
603
604
bsi = BasicSymbolicImpl (s)
604
- BasicSymbolic (bsi, metadata)
605
+ mdi = MetadataImpl (metadata, getmetadata .(args))
606
+ BasicSymbolic (bsi, mdi)
605
607
end
606
608
607
609
function Term (f, args; metadata= NO_METADATA)
@@ -623,7 +625,8 @@ function Add(::Type{T}, coeff, dict; metadata=NO_METADATA, kw...) where T
623
625
624
626
s = Add {T} (; coeff, dict, hash= Ref (UInt (0 )), hash2= Ref (UInt (0 )), arguments= [], issorted= RefValue (false ), kw... )
625
627
bsi = BasicSymbolicImpl (s)
626
- BasicSymbolic (bsi, metadata)
628
+ mdi = MetadataImpl (metadata, getmetadata .(arguments (s)))
629
+ BasicSymbolic (bsi, mdi)
627
630
end
628
631
629
632
function Mul (T, a, b; metadata= NO_METADATA, kw... )
@@ -640,7 +643,8 @@ function Mul(T, a, b; metadata=NO_METADATA, kw...)
640
643
dict = b
641
644
s = Mul {T} (; coeff, dict, hash= Ref (UInt (0 )), hash2= Ref (UInt (0 )), arguments= [], issorted= RefValue (false ), kw... )
642
645
bsi = BasicSymbolicImpl (s)
643
- BasicSymbolic (bsi, metadata)
646
+ mdi = MetadataImpl (metadata, getmetadata .(arguments (s)))
647
+ BasicSymbolic (bsi, mdi)
644
648
end
645
649
end
646
650
@@ -707,7 +711,8 @@ function Div{T}(n, d, simplified=false; metadata=NO_METADATA, kwargs...) where {
707
711
708
712
s = Div {T} (; num= n, den= d, simplified, arguments= [])
709
713
bsi = BasicSymbolicImpl (s)
710
- BasicSymbolic (bsi, metadata)
714
+ mdi = MetadataImpl (metadata, getmetadata .(arguments (s)))
715
+ BasicSymbolic (bsi, mdi)
711
716
end
712
717
713
718
function Div (n,d, simplified= false ; kw... )
@@ -726,7 +731,8 @@ function Pow{T}(a, b; metadata=NO_METADATA, kwargs...) where {T}
726
731
_isone (b) && return a
727
732
s = Pow {T} (; base= a, exp= b, arguments= [])
728
733
bsi = BasicSymbolicImpl (s)
729
- BasicSymbolic (bsi, metadata)
734
+ mdi = MetadataImpl (metadata, getmetadata .(arguments (s)))
735
+ BasicSymbolic (bsi, mdi)
730
736
end
731
737
732
738
function Pow (a, b; metadata = NO_METADATA, kwargs... )
0 commit comments