Package evaluation of SecureArithmetic on Julia 1.12.0-DEV.1805 (a080deafdd*) started at 2025-03-24T13:01:21.736 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.14s ################################################################################ # Installation # Installing SecureArithmetic... Resolving package versions... Updating `~/.julia/environments/v1.12/Project.toml` [38cee09b] + SecureArithmetic v0.2.1 Updating `~/.julia/environments/v1.12/Manifest.toml` [1f15a43c] + CxxWrap v0.16.2 [692b3bcd] + JLLWrappers v1.7.0 [1914dd2f] + MacroTools v0.5.15 [77ce9b8e] + OpenFHE v0.1.12 [21216c6a] + Preferences v1.4.3 [38cee09b] + SecureArithmetic v0.2.1 [1d63c593] + LLVMOpenMP_jll v18.1.7+0 [a89a0bdd] + OpenFHE_int128_jll v1.2.3+0 [a2687184] + OpenFHE_jll v1.2.3+1 ⌅ [3eaa8342] + libcxxwrap_julia_jll v0.13.4+0 [328aa5c7] + openfhe_julia_int128_jll v0.3.9+0 [e5e97983] + openfhe_julia_jll v0.3.9+0 [56f22d72] + Artifacts v1.11.0 [ade2ca70] + Dates v1.11.0 [8f399da3] + Libdl v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v0.7.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.2.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 1.72s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 23.7s ################################################################################ # Testing # Testing SecureArithmetic Status `/tmp/jl_6HsyMp/Project.toml` [77ce9b8e] OpenFHE v0.1.12 [38cee09b] SecureArithmetic v0.2.1 [8dfed614] Test v1.11.0 Status `/tmp/jl_6HsyMp/Manifest.toml` [1f15a43c] CxxWrap v0.16.2 [692b3bcd] JLLWrappers v1.7.0 [1914dd2f] MacroTools v0.5.15 [77ce9b8e] OpenFHE v0.1.12 [21216c6a] Preferences v1.4.3 [38cee09b] SecureArithmetic v0.2.1 [1d63c593] LLVMOpenMP_jll v18.1.7+0 [a89a0bdd] OpenFHE_int128_jll v1.2.3+0 [a2687184] OpenFHE_jll v1.2.3+1 ⌅ [3eaa8342] libcxxwrap_julia_jll v0.13.4+0 [328aa5c7] openfhe_julia_int128_jll v0.3.9+0 [e5e97983] openfhe_julia_jll v0.3.9+0 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [dc6e5ff7] JuliaSyntaxHighlighting v1.12.0 [8f399da3] Libdl v1.11.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [f489334b] StyledStrings v1.11.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.2.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... SecureContext{SecureArithmetic.OpenFHEBackend}() [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] (8,)-shaped PlainArray{OpenFHEBackend}: 0.25 0.5 0.75 1.0 2.0 3.0 4.0 5.0 SecureArithmetic.SecureVector{SecureArithmetic.OpenFHEBackend{CxxWrap.StdLib.SharedPtrAllocated{OpenFHE.CryptoContextImpl{OpenFHE.DCRTPoly}}}, Vector{CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T}}(CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T[Ciphertext{DCRTPoly}()], (8,), 8, SecureContext{SecureArithmetic.OpenFHEBackend}()) [0.25 0.5; 0.75 1.0; 2.0 3.0; 4.0 5.0] (4, 2)-shaped PlainArray{OpenFHEBackend}: 0.25 0.5 0.75 1.0 2.0 3.0 4.0 5.0 SecureArithmetic.SecureMatrix{SecureArithmetic.OpenFHEBackend{CxxWrap.StdLib.SharedPtrAllocated{OpenFHE.CryptoContextImpl{OpenFHE.DCRTPoly}}}, Vector{CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T}}(CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T[Ciphertext{DCRTPoly}()], (4, 2), 8, SecureContext{SecureArithmetic.OpenFHEBackend}()) [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0] (32,)-shaped PlainArray{OpenFHEBackend}: 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0 30.0 31.0 32.0 SecureArithmetic.SecureVector{SecureArithmetic.OpenFHEBackend{CxxWrap.StdLib.SharedPtrAllocated{OpenFHE.CryptoContextImpl{OpenFHE.DCRTPoly}}}, Vector{CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T}}(CxxWrap.StdLib.SharedPtr{OpenFHE.CiphertextImpl{T}} where T[Ciphertext{DCRTPoly}(), Ciphertext{DCRTPoly}(), Ciphertext{DCRTPoly}(), Ciphertext{DCRTPoly}()], (32,), 32, SecureContext{SecureArithmetic.OpenFHEBackend}()) PublicKey{SecureArithmetic.OpenFHEBackend}() PrivateKey{SecureArithmetic.OpenFHEBackend}() SecureContext{SecureArithmetic.Unencrypted}() [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] (8,)-shaped PlainArray{Unencrypted}: 0.25 0.5 0.75 1.0 2.0 3.0 4.0 5.0 SecureArithmetic.SecureVector{SecureArithmetic.Unencrypted, Vector{Float64}}([0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0], (8,), 8, SecureContext{SecureArithmetic.Unencrypted}()) [0.25 0.5; 0.75 1.0; 2.0 3.0; 4.0 5.0] (4, 2)-shaped PlainArray{Unencrypted}: 0.25 0.5 0.75 1.0 2.0 3.0 4.0 5.0 SecureArithmetic.SecureMatrix{SecureArithmetic.Unencrypted, Matrix{Float64}}([0.25 0.5; 0.75 1.0; 2.0 3.0; 4.0 5.0], (4, 2), 8, SecureContext{SecureArithmetic.Unencrypted}()) [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0] (32,)-shaped PlainArray{Unencrypted}: 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0 30.0 31.0 32.0 SecureArithmetic.SecureVector{SecureArithmetic.Unencrypted, Vector{Float64}}([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0], (32,), 32, SecureContext{SecureArithmetic.Unencrypted}()) PublicKey{SecureArithmetic.Unencrypted}() PrivateKey{SecureArithmetic.Unencrypted}() ================================================================================ Creating OpenFHE context... CKKS scheme is using ring dimension 16384 ================================================================================ Creating unencrypted context... ================================================================================ simple_real_numbers with an OpenFHE context Input x1: [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] Input x2: [5.0, 4.0, 3.0, 2.0, 1.0, 0.75, 0.5, 0.25] Results of homomorphic computations: x1 = [0.24999999999998512, 0.5000000000000118, 0.7499999999999372, 1.0000000000000724, 2.0000000000000044, 3.0000000000000595, 4.000000000000035, 4.999999999999945] x1 + x2 = [5.250000000000039, 4.499999999999939, 3.7500000000000724, 2.9999999999999605, 2.9999999999999383, 3.7499999999999525, 4.499999999999845, 5.250000000000048] x1 - x2 = [-4.750000000000031, -3.4999999999999676, -2.2500000000000044, -1.0000000000000369, 1.0000000000000508, 2.250000000000028, 3.4999999999999423, 4.749999999999961] 4 * x1 = [1.0000000000002784, 1.9999999999997193, 2.999999999998903, 4.000000000000563, 8.000000000000561, 11.999999999999822, 16.00000000000023, 19.999999999999652] x1 * x2 = [1.2500000000002387, 1.9999999999996985, 2.249999999999388, 1.9999999999995721, 2.0000000000008904, 2.2499999999997775, 1.9999999999996216, 1.2500000000000087] x1 shifted circularly by -1 = [0.5000000000000309, 0.7500000000000164, 0.9999999999999658, 2.0000000000000435, 3.0000000000000657, 3.9999999999999543, 4.999999999999893, 0.25000000000001255] x1 shifted circularly by 2 = [3.9999999999999956, 5.00000000000006, 0.25000000000016265, 0.4999999999999887, 0.7500000000000584, 1.0000000000000395, 1.9999999999999503, 2.9999999999999574] ================================================================================ simple_real_numbers with an Unencrypted context Input x1: [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] Input x2: [5.0, 4.0, 3.0, 2.0, 1.0, 0.75, 0.5, 0.25] Results of homomorphic computations: x1 = [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] x1 + x2 = [5.25, 4.5, 3.75, 3.0, 3.0, 3.75, 4.5, 5.25] x1 - x2 = [-4.75, -3.5, -2.25, -1.0, 1.0, 2.25, 3.5, 4.75] 4 * x1 = [1.0, 2.0, 3.0, 4.0, 8.0, 12.0, 16.0, 20.0] x1 * x2 = [1.25, 2.0, 2.25, 2.0, 2.0, 2.25, 2.0, 1.25] x1 shifted circularly by -1 = [0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0, 0.25] x1 shifted circularly by 2 = [4.0, 5.0, 0.25, 0.5, 0.75, 1.0, 2.0, 3.0] ================================================================================ Creating OpenFHE context... CKKS scheme is using ring dimension 4096 ================================================================================ Creating unencrypted context... ================================================================================ simple_ckks_bootstrapping with an OpenFHE context Input: [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] Output after bootstrapping [0.25000000000002487, 0.5000000000000332, 0.7500000000000074, 0.9999999999999755, 2.000000000000054, 2.999999999999978, 4.000000000000038, 4.99999999999997] ================================================================================ simple_ckks_bootstrapping with an Unencrypted context Input: [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] Output after bootstrapping [0.25, 0.5, 0.75, 1.0, 2.0, 3.0, 4.0, 5.0] ================================================================================ Creating OpenFHE context... CKKS scheme is using ring dimension 4096 ================================================================================ Creating unencrypted context... ================================================================================ simple_matrix_operations with an OpenFHE context Input matrix m1: [0.25 0.5 0.75; 1.0 2.0 3.0; 4.0 5.0 6.0] Input matrix m2: [6.0 5.0 4.0; 3.0 2.0 1.0; 0.75 0.5 0.25] Results of homomorphic computations: m1 = [0.2499999999999774 0.5000000000000169 0.750000000000022; 1.0000000000000209 1.999999999999984 2.9999999999999805; 4.000000000000025 4.999999999999979 6.00000000000001] m1 + m2 = [6.249999999999981 5.500000000000023 4.750000000000039; 3.9999999999999907 3.9999999999999636 3.999999999999943; 4.750000000000007 5.49999999999997 6.250000000000066] m1 - m2 = [-5.749999999999982 -4.499999999999996 -3.2499999999999654; -1.9999999999999178 -4.630160989955336e-14 2.0000000000000058; 3.2499999999999636 4.5000000000000595 5.7499999999999645] 4 * m1 = [1.000000000000025 2.0000000000000733 2.9999999999999964; 4.000000000000014 7.99999999999992 12.000000000000037; 15.99999999999994 20.000000000000117 24.000000000000256] m1 * m2 = [1.4999999999999971 2.4999999999999787 3.0000000000000635; 3.0000000000000218 3.999999999999957 2.9999999999999996; 3.0000000000000506 2.4999999999998375 1.5000000000001659] m1 shifted circularly by (0, 1) = [0.7500000000000107 0.24999999999999953 0.5000000000000018; 3.000000000000007 1.0000000000000209 1.9999999999999871; 6.0000000000000195 3.999999999999992 5.0000000000000115] m1 shifted circularly by (1, -1) = [5.000000000000012 6.0000000000000195 3.9999999999999876; 0.4999999999999958 0.7500000000000105 0.2500000000000039; 1.9999999999999862 3.0000000000000107 1.000000000000024] m1 after bootstrapping [0.2500000000000151 0.5000000000000142 0.7499999999999993; 1.000000000000014 1.9999999999999951 3.0000000000000266; 4.000000000000005 5.0000000000000275 6.000000000000046] ================================================================================ simple_matrix_operations with an Unencrypted context Input matrix m1: [0.25 0.5 0.75; 1.0 2.0 3.0; 4.0 5.0 6.0] Input matrix m2: [6.0 5.0 4.0; 3.0 2.0 1.0; 0.75 0.5 0.25] Results of homomorphic computations: m1 = [0.25 0.5 0.75; 1.0 2.0 3.0; 4.0 5.0 6.0] m1 + m2 = [6.25 5.5 4.75; 4.0 4.0 4.0; 4.75 5.5 6.25] m1 - m2 = [-5.75 -4.5 -3.25; -2.0 0.0 2.0; 3.25 4.5 5.75] 4 * m1 = [1.0 2.0 3.0; 4.0 8.0 12.0; 16.0 20.0 24.0] m1 * m2 = [1.5 2.5 3.0; 3.0 4.0 3.0; 3.0 2.5 1.5] m1 shifted circularly by (0, 1) = [0.75 0.25 0.5; 3.0 1.0 2.0; 6.0 4.0 5.0] m1 shifted circularly by (1, -1) = [5.0 6.0 4.0; 0.5 0.75 0.25; 2.0 3.0 1.0] m1 after bootstrapping [0.25 0.5 0.75; 1.0 2.0 3.0; 4.0 5.0 6.0] ================================================================================ Creating OpenFHE context... CKKS scheme is using ring dimension 32 ================================================================================ Creating unencrypted context... ================================================================================ simple_array_operations with an OpenFHE context Input array a1: [1.0 4.0 7.0; 2.0 5.0 8.0; 3.0 6.0 9.0;;; 10.0 13.0 16.0; 11.0 14.0 17.0; 12.0 15.0 18.0;;; 19.0 22.0 25.0; 20.0 23.0 26.0; 21.0 24.0 27.0] Input array a2: [27.0 24.0 21.0; 26.0 23.0 20.0; 25.0 22.0 19.0;;; 18.0 15.0 12.0; 17.0 14.0 11.0; 16.0 13.0 10.0;;; 9.0 6.0 3.0; 8.0 5.0 2.0; 7.0 4.0 1.0] Results of homomorphic computations: a1 = [1.0000000000000009 4.000000000000005 7.0000000000000036; 2.0000000000000013 4.999999999999995 8.000000000000002; 2.9999999999999973 6.000000000000001 9.000000000000004;;; 9.999999999999998 12.999999999999995 16.000000000000007; 11.000000000000004 14.0 17.00000000000001; 12.000000000000002 14.999999999999996 17.999999999999996;;; 19.00000000000001 22.000000000000007 24.999999999999996; 19.999999999999993 22.999999999999993 26.000000000000004; 21.000000000000014 24.0 27.000000000000004] a1 + a2 = [27.999999999999996 27.999999999999996 27.999999999999996; 27.999999999999996 27.999999999999996 27.999999999999996; 27.999999999999996 27.999999999999996 27.999999999999996;;; 27.999999999999996 27.999999999999996 27.999999999999996; 27.999999999999996 27.999999999999996 27.999999999999986; 27.999999999999996 27.999999999999996 27.999999999999996;;; 27.999999999999993 28.000000000000007 28.0; 27.999999999999993 27.999999999999996 28.000000000000004; 28.000000000000014 28.000000000000014 28.000000000000014] a1 - a2 = [-26.000000000000007 -20.0 -14.000000000000002; -23.99999999999999 -18.0 -12.000000000000004; -22.000000000000007 -16.000000000000007 -10.0;;; -8.000000000000004 -1.9999999999999982 4.000000000000013; -6.000000000000005 0.0 5.999999999999993; -4.000000000000007 1.9999999999999911 7.999999999999995;;; 9.999999999999993 15.999999999999995 22.0; 12.000000000000002 18.0 24.000000000000007; 14.000000000000021 20.000000000000007 26.0] 4 * a1 = [3.9999999999999787 15.999999999999996 27.999999999999986; 8.000000000000025 19.999999999999975 32.0; 11.999999999999979 23.999999999999986 35.99999999999999;;; 40.0 51.99999999999997 64.0; 43.99999999999997 55.999999999999986 67.99999999999996; 47.999999999999986 59.999999999999986 72.00000000000001;;; 76.00000000000007 87.99999999999997 100.00000000000004; 80.0 91.99999999999997 104.00000000000004; 84.0 96.0000000000001 108.00000000000001] a1 * a2 = [26.999999999999957 95.99999999999994 146.99999999999997; 52.00000000000005 114.99999999999999 159.99999999999991; 75.00000000000009 131.99999999999994 171.0;;; 180.0 194.99999999999994 191.99999999999997; 186.99999999999991 196.0 186.99999999999994; 191.99999999999994 194.99999999999991 179.99999999999983;;; 171.00000000000003 132.00000000000003 75.0; 160.0000000000001 114.9999999999999 51.99999999999996; 147.00000000000006 96.00000000000009 27.00000000000003] a1 shifted circularly by (0, 1, 0) = [7.000000000000005 0.9999999999999911 3.9999999999999973; 8.000000000000002 2.0000000000000044 5.000000000000001; 8.999999999999991 3.000000000000014 5.999999999999995;;; 16.000000000000007 10.000000000000021 13.000000000000007; 17.0 10.999999999999982 14.000000000000007; 17.99999999999998 11.999999999999996 14.99999999999997;;; 24.999999999999996 18.999999999999996 21.999999999999993; 26.00000000000004 20.000000000000007 23.0; 27.000000000000014 21.000000000000007 24.000000000000004] a1 shifted circularly by (1, -1, 1) = [24.0 27.0 21.000000000000007; 21.999999999999986 25.0 18.999999999999993; 23.000000000000014 26.000000000000014 19.999999999999986;;; 5.9999999999999325 8.999999999999973 2.999999999999991; 4.000000000000016 7.000000000000014 0.9999999999999991; 5.000000000000012 8.00000000000003 2.000000000000001;;; 15.000000000000007 17.99999999999999 11.999999999999993; 12.999999999999986 16.000000000000007 10.000000000000018; 13.999999999999996 17.000000000000014 11.000000000000021] a1 after bootstrapping [0.9999999999999964 3.999999999999999 7.000000000000008; 2.0000000000000027 4.999999999999999 7.999999999999998; 3.0000000000000004 6.000000000000009 9.0;;; 10.000000000000004 12.999999999999996 16.000000000000007; 10.999999999999998 14.000000000000005 17.00000000000001; 12.000000000000004 15.0 17.999999999999996;;; 18.999999999999993 22.0 25.00000000000001; 19.999999999999993 22.999999999999993 26.000000000000004; 20.999999999999993 24.0 26.999999999999993] ================================================================================ simple_array_operations with an Unencrypted context Input array a1: [1 4 7; 2 5 8; 3 6 9;;; 10 13 16; 11 14 17; 12 15 18;;; 19 22 25; 20 23 26; 21 24 27] Input array a2: [27 24 21; 26 23 20; 25 22 19;;; 18 15 12; 17 14 11; 16 13 10;;; 9 6 3; 8 5 2; 7 4 1] Results of homomorphic computations: a1 = [1 4 7; 2 5 8; 3 6 9;;; 10 13 16; 11 14 17; 12 15 18;;; 19 22 25; 20 23 26; 21 24 27] a1 + a2 = [28 28 28; 28 28 28; 28 28 28;;; 28 28 28; 28 28 28; 28 28 28;;; 28 28 28; 28 28 28; 28 28 28] a1 - a2 = [-26 -20 -14; -24 -18 -12; -22 -16 -10;;; -8 -2 4; -6 0 6; -4 2 8;;; 10 16 22; 12 18 24; 14 20 26] 4 * a1 = [4.0 16.0 28.0; 8.0 20.0 32.0; 12.0 24.0 36.0;;; 40.0 52.0 64.0; 44.0 56.0 68.0; 48.0 60.0 72.0;;; 76.0 88.0 100.0; 80.0 92.0 104.0; 84.0 96.0 108.0] a1 * a2 = [27 96 147; 52 115 160; 75 132 171;;; 180 195 192; 187 196 187; 192 195 180;;; 171 132 75; 160 115 52; 147 96 27] a1 shifted circularly by (0, 1, 0) = [7 1 4; 8 2 5; 9 3 6;;; 16 10 13; 17 11 14; 18 12 15;;; 25 19 22; 26 20 23; 27 21 24] a1 shifted circularly by (1, -1, 1) = [24 27 21; 22 25 19; 23 26 20;;; 6 9 3; 4 7 1; 5 8 2;;; 15 18 12; 13 16 10; 14 17 11] a1 after bootstrapping [1 4 7; 2 5 8; 3 6 9;;; 10 13 16; 11 14 17; 12 15 18;;; 19 22 25; 20 23 26; 21 24 27] Test Summary: | Pass Total Time SecureArithmetic.jl tests | 264 264 2m35.7s test_unit.jl | 260 260 1m28.8s OpenFHE | 131 131 1m13.0s generate_keys | 1 1 0.2s init_multiplication! | 1 1 0.5s init_rotation! | 8 8 7.1s PlainVector | 2 2 0.6s PlainMatrix | 1 1 0.2s PlainArray | 1 1 0.3s encrypt | 5 5 0.5s add | 15 15 2.2s subtract | 15 15 3.1s multiply | 15 15 2.4s negate | 3 3 0.6s circshift | 24 24 44.6s multithreading | 5 5 1.3s length | 3 3 0.0s size | 4 4 0.1s capacity | 6 6 0.0s ndims | 1 1 0.0s level | 6 6 1.1s collect | 3 3 0.0s show | 12 12 6.4s Unencrypted | 129 129 15.5s generate_keys | 1 1 0.0s init_multiplication! | 1 1 0.0s init_rotation! | 6 6 0.0s PlainVector | 2 2 0.0s PlainMatrix | 1 1 0.0s PlainArray | 1 1 0.0s encrypt | 5 5 0.1s add | 15 15 3.0s subtract | 15 15 4.7s multiply | 15 15 3.1s negate | 3 3 0.7s circshift | 24 24 3.0s multithreading | 5 5 0.0s length | 3 3 0.0s size | 4 4 0.1s capacity | 6 6 0.0s ndims | 1 1 0.0s level | 6 6 0.0s collect | 3 3 0.0s show | 12 12 0.3s test_examples.jl | 4 4 41.5s examples/simple_real_numbers.jl | 1 1 2.5s examples/simple_ckks_bootstrapping.jl | 1 1 11.9s examples/simple_matrix_operations.jl | 1 1 14.5s examples/simple_array_operations.jl | 1 1 12.7s 156.051649 seconds (37.08 M allocations: 1.938 GiB, 2.47% gc time, 66.19% compilation time: 21% of which was recompilation) Testing SecureArithmetic tests passed Testing completed after 163.15s PkgEval succeeded after 207.07s