@@ -438,14 +438,18 @@ end
438
438
for (PROP, ET) in [
439
439
(:(PartitionFunction{T}), :(T)),
440
440
(:(SizeMax{Single}), :(Tropical{T})), (:(SizeMin{Single}), :(Tropical{T})),
441
- (:(SizeMax{K}), :(ExtendedTropical{K,Tropical{T}})), (:(SizeMin{K}), :(ExtendedTropical{K,Tropical{T}})),
442
441
(:(CountingAll), :T ), (:(CountingMax{Single}), :(CountingTropical{T,T})), (:(CountingMin{Single}), :(CountingTropical{T,T})),
443
- (:(CountingMax{K}), :(TruncatedPoly{K,T,T})), (:(CountingMin{K}), :(TruncatedPoly{K,T,T})),
444
- (:(GraphPolynomial{:finitefield }), :(Mod{N,Int32} where N)), (:(GraphPolynomial{:fft }), :(Complex{T})),
445
442
(:(GraphPolynomial{:polynomial }), :(Polynomial{T, :x })), (:(GraphPolynomial{:fitting }), :T ),
446
- (:(GraphPolynomial{:laurent }), :(LaurentPolynomial{T, :x }))
443
+ (:(GraphPolynomial{:laurent }), :(LaurentPolynomial{T, :x })), (:(GraphPolynomial{:fft }), :(Complex{T})),
444
+ (:(GraphPolynomial{:finitefield }), :(Mod{N,Int32} where N))
445
+ ]
446
+ @eval tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T} = $ ET
447
+ end
448
+ for (PROP, ET) in [
449
+ (:(SizeMax{K}), :(ExtendedTropical{K,Tropical{T}})), (:(SizeMin{K}), :(ExtendedTropical{K,Tropical{T}})),
450
+ (:(CountingMax{K}), :(TruncatedPoly{K,T,T})), (:(CountingMin{K}), :(TruncatedPoly{K,T,T})),
447
451
]
448
- @eval tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T,K} = $ ET
452
+ @eval tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T, K} = $ ET
449
453
end
450
454
451
455
function tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: PROP ) where {T, K, BOUNDED, PROP<: Union{SingleConfigMax{K,BOUNDED},SingleConfigMin{K,BOUNDED}} }
@@ -461,10 +465,17 @@ end
461
465
462
466
for (PROP, ET) in [
463
467
(:(ConfigsMax{Single}), :(CountingTropical{T,T})), (:(ConfigsMin{Single}), :(CountingTropical{T,T})),
464
- (:(ConfigsMax{K}), :(TruncatedPoly{K,T,T})), (:(ConfigsMin{K}), :(TruncatedPoly{K,T,T})),
465
468
(:(ConfigsAll), :(Real))
466
469
]
467
- @eval function tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T,K}
470
+ @eval function tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T}
471
+ set_type ($ ET, n, nflavor)
472
+ end
473
+ end
474
+
475
+ for (PROP, ET) in [
476
+ (:(ConfigsMax{K}), :(TruncatedPoly{K,T,T})), (:(ConfigsMin{K}), :(TruncatedPoly{K,T,T})),
477
+ ]
478
+ @eval function tensor_element_type (:: Type{T} , n:: Int , nflavor:: Int , :: $PROP ) where {T, K}
468
479
set_type ($ ET, n, nflavor)
469
480
end
470
481
end
0 commit comments