@@ -219,6 +219,8 @@ const AxisVector{T, A1, S} = AxisTensor{T, 1, Tuple{A1}, S}
219219AxisVector (ax:: A1 , v:: SVector{N, T} ) where {A1 <: AbstractAxis , N, T} =
220220 AxisVector {T, A1, SVector{N, T}} ((ax,), v)
221221
222+ (AxisVector{T, A, SVector{0 , T}} where {T})() where {A} =
223+ AxisVector (A. instance, SVector {0, T} ())
222224(AxisVector{T, A, SVector{1 , T}} where {T})(arg1:: Real ) where {A} =
223225 AxisVector (A. instance, SVector (arg1))
224226(AxisVector{T, A, SVector{2 , T}} where {T})(arg1:: Real , arg2:: Real ) where {A} =
@@ -306,11 +308,12 @@ const CovariantTensor = Union{CovariantVector, Covariant2Tensor}
306308const ContravariantTensor = Union{ContravariantVector, Contravariant2Tensor}
307309const CartesianTensor = Union{CartesianVector, Cartesian2Tensor}
308310const LocalTensor = Union{LocalVector, Local2Tensor}
311+ for I in [(), (1 ,), (2 ,), (3 ,), (1 , 2 ), (1 , 3 ), (2 , 3 ), (1 , 2 , 3 )]
309312
310- for I in [(1 ,), (2 ,), (3 ,), (1 , 2 ), (1 , 3 ), (2 , 3 ), (1 , 2 , 3 )]
311- strI = join (I)
313+ strI = isempty (I) ? " Null" : join (I)
312314 N = length (I)
313- strUVW = join (map (i -> [:U , :V , :W ][i], I))
315+
316+ strUVW = isempty (I) ? " Null" : join (map (i -> [:U , :V , :W ][i], I))
314317 @eval begin
315318 const $ (Symbol (:Covariant , strI, :Axis )) = CovariantAxis{$ I}
316319 const $ (Symbol (:Covariant , strI, :Vector )){T} =
467470 end
468471 push! (vals, val)
469472 end
470- return :(@inbounds AxisVector (ato, SVector ($ (vals... ))))
473+ return :(@inbounds AxisVector (ato, SVector {$(length(Ito)), $T} ($ (vals... ))))
471474end
472475
473476function _transform (
0 commit comments