From 99abdfce8aa13845b8e6dbb0cd132fdf3e963216 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Thu, 15 Feb 2024 17:17:35 +0000 Subject: [PATCH] Allow for non-integer indices --- src/all_building_blocks/base_building_blocks.jl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/all_building_blocks/base_building_blocks.jl b/src/all_building_blocks/base_building_blocks.jl index 8508a83..601f08c 100644 --- a/src/all_building_blocks/base_building_blocks.jl +++ b/src/all_building_blocks/base_building_blocks.jl @@ -146,17 +146,15 @@ If `first_event` is set to something else than `nothing`, only the gradient wave Similarly, if `last_event` is set to something else than `nothing`, only the gradient waveform up to this RF pulse/Readout will be considered. """ function qval(bb::BaseBuildingBlock, index1, index2) - @assert isnothing(index1) || isnothing(index2) || index2 >= index1 - if (index1 isa Number) && (index1 == index2) + if (!isnothing(index1)) && (index1 == index2) return zeros(3) end - sum(qval.(waveform_sequence(bb, index1, index2)); init=zero(SVector{3, Float64})) + sum(qval.(waveform_sequence(bb, index1, index2)); init=0.) end qval(bb::BaseBuildingBlock) = qval(bb, nothing, nothing) function bmat_gradient(bb::BaseBuildingBlock, qstart, index1, index2) - @assert isnothing(index1) || isnothing(index2) || index2 >= index1 - if (index1 isa Number) && (index1 == index2) + if (!isnothing(index1)) && (index1 == index2) return zeros(3, 3) end result = Matrix{VariableType}(zeros(3, 3)) -- GitLab