77julia> x = [1, 2, 3];
88
99julia> KernelFunctions.MOInputIsotopicByFeatures(x, 2)
10- 6-element KernelFunctions.MOInputIsotopicByFeatures{Int64, Vector{Int64}}:
10+ 6-element KernelFunctions.MOInputIsotopicByFeatures{Int64, Vector{Int64}, Int64 }:
1111 (1, 1)
1212 (1, 2)
1313 (2, 1)
@@ -24,9 +24,10 @@ The first `out_dim` elements represent all outputs for the first input, the seco
2424
2525See [Inputs for Multiple Outputs](@ref) in the docs for more info.
2626"""
27- struct MOInputIsotopicByFeatures{S,T<: AbstractVector{S} } <: AbstractVector{Tuple{S,Int}}
27+ struct MOInputIsotopicByFeatures{S,T<: AbstractVector{S} ,Tout_dim<: Integer } < :
28+ AbstractVector{Tuple{S,Int}}
2829 x:: T
29- out_dim:: Integer
30+ out_dim:: Tout_dim
3031end
3132
3233"""
3839julia> x = [1, 2, 3];
3940
4041julia> KernelFunctions.MOInputIsotopicByOutputs(x, 2)
41- 6-element KernelFunctions.MOInputIsotopicByOutputs{Int64, Vector{Int64}}:
42+ 6-element KernelFunctions.MOInputIsotopicByOutputs{Int64, Vector{Int64}, Int64 }:
4243 (1, 1)
4344 (2, 1)
4445 (3, 1)
@@ -53,9 +54,10 @@ As shown above, an `MOInputIsotopicByOutputs` represents a vector of tuples.
5354The first `length(x)` elements represent the inputs for the first output, the second
5455`length(x)` elements represent the inputs for the second output, etc.
5556"""
56- struct MOInputIsotopicByOutputs{S,T<: AbstractVector{S} } <: AbstractVector{Tuple{S,Int}}
57+ struct MOInputIsotopicByOutputs{S,T<: AbstractVector{S} ,Tout_dim<: Integer } < :
58+ AbstractVector{Tuple{S,Int}}
5759 x:: T
58- out_dim:: Integer
60+ out_dim:: Tout_dim
5961end
6062
6163const IsotopicMOInputsUnion = Union{MOInputIsotopicByFeatures,MOInputIsotopicByOutputs}
@@ -96,7 +98,7 @@ A data type to accommodate modelling multi-dimensional output data.
9698julia> x = [1, 2, 3];
9799
98100julia> MOInput(x, 2)
99- 6-element KernelFunctions.MOInputIsotopicByOutputs{Int64, Vector{Int64}}:
101+ 6-element KernelFunctions.MOInputIsotopicByOutputs{Int64, Vector{Int64}, Int64 }:
100102 (1, 1)
101103 (2, 1)
102104 (3, 1)
@@ -136,7 +138,7 @@ julia> Y = [1.1 2.1 3.1; 1.2 2.2 3.2]
136138julia> inputs, outputs = prepare_isotopic_multi_output_data(x, ColVecs(Y));
137139
138140julia> inputs
139- 6-element KernelFunctions.MOInputIsotopicByFeatures{Float64, Vector{Float64}}:
141+ 6-element KernelFunctions.MOInputIsotopicByFeatures{Float64, Vector{Float64}, Int64 }:
140142 (1.0, 1)
141143 (1.0, 2)
142144 (2.0, 1)
@@ -184,7 +186,7 @@ julia> Y = [1.1 1.2; 2.1 2.2; 3.1 3.2]
184186julia> inputs, outputs = prepare_isotopic_multi_output_data(x, RowVecs(Y));
185187
186188julia> inputs
187- 6-element KernelFunctions.MOInputIsotopicByOutputs{Float64, Vector{Float64}}:
189+ 6-element KernelFunctions.MOInputIsotopicByOutputs{Float64, Vector{Float64}, Int64 }:
188190 (1.0, 1)
189191 (2.0, 1)
190192 (3.0, 1)
0 commit comments