From 41b76fed25668123500558ae405d2e4f6fdfd7b8 Mon Sep 17 00:00:00 2001 From: Alexander Demin Date: Wed, 31 Jan 2024 22:06:54 +0300 Subject: [PATCH] assert -> invariant --- src/reconstruction/crt.jl | 12 ++++++------ src/reconstruction/ratrec.jl | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/reconstruction/crt.jl b/src/reconstruction/crt.jl index e2952561..32034f1c 100644 --- a/src/reconstruction/crt.jl +++ b/src/reconstruction/crt.jl @@ -310,8 +310,8 @@ function crt_vec_full!( ) where {T <: Integer} # indices = [(j, i) for j in 1:length(table_zz) for i in 1:length(table_zz[j])] # crt_vec_partial!(table_zz, modulo, tables_ff, moduli, indices) - @assert isbitstype(T) - @assert length(moduli) > 0 + @invariant isbitstype(T) + @invariant length(moduli) > 0 n = length(moduli) # Base case @@ -319,10 +319,10 @@ function crt_vec_full!( table_ff = tables_ff[1] Base.GMP.MPZ.set_ui!(modulo, UInt64(moduli[1])) @inbounds for i in 1:length(table_zz) - @assert length(table_zz[i]) == length(table_ff[i]) + @invariant length(table_zz[i]) == length(table_ff[i]) for j in 1:length(table_zz[i]) rem_ij = UInt64(table_ff[i][j]) - @assert 0 <= rem_ij < moduli[1] + @invariant 0 <= rem_ij < moduli[1] table_zz[i][j] = rem_ij end end @@ -343,8 +343,8 @@ function crt_vec_full!( @inbounds for i in 1:length(table_zz) for j in 1:length(table_zz[i]) for t in 1:n - @assert length(table_zz[i]) == length(tables_ff[t][i]) - @assert 0 <= tables_ff[t][i][j] < moduli[t] + @invariant length(table_zz[i]) == length(tables_ff[t][i]) + @invariant 0 <= tables_ff[t][i][j] < moduli[t] rems[t] = UInt64(tables_ff[t][i][j]) end diff --git a/src/reconstruction/ratrec.jl b/src/reconstruction/ratrec.jl index a41fd9a1..72ec3ff3 100644 --- a/src/reconstruction/ratrec.jl +++ b/src/reconstruction/ratrec.jl @@ -206,15 +206,15 @@ function ratrec_vec_full!( ) # indices = [(j, i) for j in 1:length(table_zz) for i in 1:length(table_zz[j])] # ratrec_vec_partial!(table_qq, table_zz, modulo, indices) - @assert length(table_qq) == length(table_zz) - @assert modulo > 1 + @invariant length(table_qq) == length(table_zz) + @invariant modulo > 1 modulo_nemo = Nemo.ZZRingElem(modulo) @inbounds for i in 1:length(table_zz) - @assert length(table_zz[i]) == length(table_qq[i]) + @invariant length(table_zz[i]) == length(table_qq[i]) for j in 1:length(table_zz[i]) rem_nemo = Nemo.ZZRingElem(table_zz[i][j]) - @assert 0 <= rem_nemo < modulo + @invariant 0 <= rem_nemo < modulo success, (num, den) = ratrec_nemo(rem_nemo, modulo_nemo) table_qq[i][j] = Base.unsafe_rational(num, den)