From 7f9e758a4470e53f409cc28eaa14914be258fe80 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Thu, 15 Feb 2024 18:31:46 +0000 Subject: [PATCH] Create constructors with same number of arguments --- src/components/gradient_waveforms/changing_gradient_blocks.jl | 1 + src/components/gradient_waveforms/constant_gradient_blocks.jl | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/gradient_waveforms/changing_gradient_blocks.jl b/src/components/gradient_waveforms/changing_gradient_blocks.jl index c3eb4cf..7c7a2a8 100644 --- a/src/components/gradient_waveforms/changing_gradient_blocks.jl +++ b/src/components/gradient_waveforms/changing_gradient_blocks.jl @@ -14,6 +14,7 @@ Usually, you do not want to create this object directly, use a `BuildingBlock` i """ abstract type ChangingGradient{N} <: GradientWaveform{N} end (::Type{ChangingGradient})(grad1::VariableType, slew_rate::VariableType, orientation::AbstractVector, duration::VariableType, group=nothing) = ChangingGradient1D(grad1, slew_rate, orientation, duration, group) +(::Type{ChangingGradient})(grad1::AbstractVector, slew_rate::AbstractVector, ::Nothing, duration::VariableType, group=nothing) = ChangingGradient3D(grad1, slew_rate, duration, group) (::Type{ChangingGradient})(grad1::AbstractVector, slew_rate::AbstractVector, duration::VariableType, group=nothing) = ChangingGradient3D(grad1, slew_rate, duration, group) struct ChangingGradient1D <: ChangingGradient{1} diff --git a/src/components/gradient_waveforms/constant_gradient_blocks.jl b/src/components/gradient_waveforms/constant_gradient_blocks.jl index 7a54528..2004cb8 100644 --- a/src/components/gradient_waveforms/constant_gradient_blocks.jl +++ b/src/components/gradient_waveforms/constant_gradient_blocks.jl @@ -13,7 +13,8 @@ Underlying type for any flat part in a 3D (first constructor) or 3D (second cons Usually, you do not want to create this object directly, use a `BuildingBlock` instead. """ abstract type ConstantGradient{N} <: GradientWaveform{N} end -(::Type{ConstantGradient})(grad1::VariableType, orientation::AbsractVector, duration::VariableType, group=nothing) = ConstantGradient1D(grad1, duration, orientation, group) +(::Type{ConstantGradient})(grad1::VariableType, orientation::AbstractVector, duration::VariableType, group=nothing) = ConstantGradient1D(grad1, duration, orientation, group) +(::Type{ConstantGradient})(grad1::AbstractVector, ::Nothing, duration::VariableType, group=nothing) = ConstantGradient3D(grad1, duration, group) (::Type{ConstantGradient})(grad1::AbstractVector, duration::VariableType, group=nothing) = ConstantGradient3D(grad1, duration, group) struct ConstantGradient1D <: ConstantGradient{1} -- GitLab