Package evaluation of SecureArithmetic on Julia 1.11.5 (32ac370b68*) started at 2025-06-29T07:07:14.510 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.1s ################################################################################ # Installation # Installing SecureArithmetic... Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [38cee09b] + SecureArithmetic v0.2.1 Updating `~/.julia/environments/v1.11/Manifest.toml` ⌅ [1f15a43c] + CxxWrap v0.16.2 [692b3bcd] + JLLWrappers v1.7.0 [1914dd2f] + MacroTools v0.5.16 [77ce9b8e] + OpenFHE v0.1.12 [21216c6a] + Preferences v1.4.3 [38cee09b] + SecureArithmetic v0.2.1 [1d63c593] + LLVMOpenMP_jll v18.1.8+0 [a89a0bdd] + OpenFHE_int128_jll v1.2.4+0 [a2687184] + OpenFHE_jll v1.2.4+0 ⌅ [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.1.1+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 2.28s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 18.66s ################################################################################ # Testing # Testing SecureArithmetic Status `/tmp/jl_h1Jp42/Project.toml` [77ce9b8e] OpenFHE v0.1.12 [38cee09b] SecureArithmetic v0.2.1 [8dfed614] Test v1.11.0 Status `/tmp/jl_h1Jp42/Manifest.toml` ⌅ [1f15a43c] CxxWrap v0.16.2 [692b3bcd] JLLWrappers v1.7.0 [1914dd2f] MacroTools v0.5.16 [77ce9b8e] OpenFHE v0.1.12 [21216c6a] Preferences v1.4.3 [38cee09b] SecureArithmetic v0.2.1 [1d63c593] LLVMOpenMP_jll v18.1.8+0 [a89a0bdd] OpenFHE_int128_jll v1.2.4+0 [a2687184] OpenFHE_jll v1.2.4+0 ⌅ [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 [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 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.1.1+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.2499999999999516, 0.49999999999997913, 0.7500000000000251, 0.9999999999999756, 1.9999999999999054, 3.000000000000021, 4.0000000000000595, 5.000000000000059] x1 + x2 = [5.250000000000037, 4.5000000000000355, 3.7500000000000306, 3.0000000000000053, 3.000000000000021, 3.7499999999999982, 4.500000000000081, 5.249999999999982] x1 - x2 = [-4.75, -3.4999999999999556, -2.250000000000024, -0.9999999999999747, 1.000000000000016, 2.2500000000000453, 3.500000000000006, 4.750000000000025] 4 * x1 = [0.9999999999998952, 1.9999999999998543, 3.0000000000003473, 3.9999999999998597, 7.999999999999726, 11.99999999999934, 15.999999999999929, 19.99999999999944] x1 * x2 = [1.2500000000004037, 2.000000000000096, 2.2500000000004365, 2.0000000000002496, 1.9999999999996505, 2.2500000000007, 2.0000000000010405, 1.2499999999997928] x1 shifted circularly by -1 = [0.5000000000000087, 0.7500000000001048, 0.9999999999998925, 1.9999999999998495, 2.99999999999997, 4.000000000000024, 4.99999999999993, 0.25000000000004574] x1 shifted circularly by 2 = [4.000000000000044, 4.9999999999999964, 0.249999999999988, 0.5000000000000286, 0.7500000000000473, 0.9999999999999587, 2.0000000000001017, 3.0000000000000187] ================================================================================ 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.24999999999997255, 0.4999999999999316, 0.7500000000000426, 0.9999999999999518, 2.000000000000019, 3.0000000000000084, 4.0000000000000195, 5.000000000000002] ================================================================================ 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.24999999999996636 0.5000000000000495 0.749999999999992; 1.0000000000000293 2.000000000000038 2.9999999999999805; 4.000000000000025 4.999999999999963 5.999999999999993] m1 + m2 = [6.249999999999975 5.500000000000001 4.749999999999983; 4.0000000000000355 3.9999999999999782 4.000000000000011; 4.749999999999986 5.499999999999959 6.249999999999938] m1 - m2 = [-5.749999999999941 -4.499999999999988 -3.2500000000000115; -2.000000000000014 2.7700819844490037e-14 2.0000000000000187; 3.249999999999958 4.5000000000000275 5.7500000000000195] 4 * m1 = [0.9999999999998836 2.0000000000002114 2.999999999999993; 4.00000000000009 7.999999999999976 12.00000000000011; 16.000000000000078 20.000000000000014 23.999999999999993] m1 * m2 = [1.499999999999893 2.500000000000135 2.9999999999999605; 3.00000000000008 3.9999999999999734 3.0000000000000155; 3.0000000000001013 2.4999999999999316 1.4999999999998015] m1 shifted circularly by (0, 1) = [0.7499999999999936 0.24999999999998207 0.5000000000000275; 3.0000000000000133 1.0000000000000253 1.999999999999996; 5.999999999999995 3.999999999999991 4.999999999999993] m1 shifted circularly by (1, -1) = [4.999999999999989 5.999999999999995 3.999999999999995; 0.5000000000000289 0.7499999999999857 0.24999999999998165; 1.999999999999996 3.000000000000013 1.0000000000000187] m1 after bootstrapping [0.2499999999999683 0.5000000000000343 0.749999999999968; 1.0000000000000346 2.0000000000000044 3.0000000000000258; 3.9999999999999725 5.000000000000012 6.0000000000000036] ================================================================================ 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.0000000000000004 4.000000000000003 7.0; 2.000000000000001 4.999999999999998 7.9999999999999964; 3.0000000000000018 5.999999999999994 9.0;;; 10.0 13.000000000000005 16.000000000000004; 10.999999999999998 14.000000000000004 17.0; 12.000000000000004 15.0 17.99999999999998;;; 18.999999999999996 21.999999999999993 25.0; 19.999999999999986 23.000000000000007 25.999999999999993; 20.999999999999993 24.000000000000014 26.99999999999999] 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.99999999999998; 27.999999999999996 27.999999999999996 27.99999999999998;;; 28.0 27.999999999999982 28.000000000000014; 28.0 28.000000000000007 28.00000000000002; 28.000000000000014 27.999999999999993 28.000000000000007] a1 - a2 = [-25.999999999999993 -20.00000000000001 -13.999999999999996; -23.999999999999982 -18.000000000000014 -11.999999999999998; -22.0 -15.999999999999995 -9.999999999999993;;; -8.000000000000004 -1.9999999999999982 4.000000000000005; -6.000000000000009 -5.329070518200751e-15 5.9999999999999964; -3.9999999999999964 1.9999999999999893 7.999999999999995;;; 10.000000000000005 15.99999999999999 22.000000000000004; 12.000000000000007 17.999999999999996 23.999999999999993; 14.000000000000004 20.000000000000007 26.000000000000007] 4 * a1 = [3.9999999999999893 16.000000000000004 28.0; 8.000000000000018 19.999999999999975 32.000000000000014; 12.000000000000009 24.000000000000007 35.999999999999986;;; 39.999999999999986 52.0 64.00000000000004; 43.99999999999999 55.999999999999964 68.00000000000001; 48.00000000000003 60.0 71.99999999999994;;; 76.0 87.99999999999997 100.00000000000001; 79.99999999999997 91.99999999999999 104.0; 84.00000000000003 96.00000000000006 108.0] a1 * a2 = [26.999999999999943 95.99999999999997 147.00000000000003; 52.000000000000085 114.99999999999986 159.99999999999997; 74.99999999999997 132.00000000000006 170.99999999999994;;; 179.99999999999997 194.99999999999991 191.99999999999997; 186.99999999999997 196.0 187.0; 191.99999999999997 194.99999999999991 179.9999999999998;;; 171.00000000000014 132.00000000000006 74.99999999999999; 159.99999999999997 114.99999999999994 51.99999999999997; 147.00000000000009 96.00000000000009 27.00000000000003] a1 shifted circularly by (0, 1, 0) = [6.999999999999997 1.0000000000000018 4.0000000000000195; 8.0 2.000000000000012 4.999999999999992; 8.999999999999984 2.999999999999994 6.000000000000001;;; 16.000000000000014 10.000000000000007 13.000000000000004; 16.999999999999993 11.000000000000014 13.999999999999984; 17.999999999999993 12.000000000000002 14.999999999999972;;; 24.999999999999975 18.999999999999996 21.999999999999982; 26.00000000000002 19.999999999999993 22.999999999999993; 27.00000000000002 21.00000000000002 24.00000000000001] a1 shifted circularly by (1, -1, 1) = [24.000000000000007 27.0 21.00000000000003; 21.999999999999996 25.000000000000004 18.999999999999986; 22.999999999999964 26.00000000000002 19.999999999999993;;; 5.9999999999999964 8.999999999999968 3.000000000000001; 4.0000000000000195 7.000000000000005 1.0000000000000089; 5.000000000000034 7.999999999999998 2.000000000000015;;; 14.999999999999995 17.999999999999975 12.000000000000018; 12.999999999999988 15.999999999999996 10.000000000000014; 14.00000000000001 16.999999999999986 10.999999999999998] a1 after bootstrapping [1.0000000000000027 3.9999999999999982 7.000000000000007; 2.000000000000005 5.0 7.999999999999991; 2.9999999999999947 5.999999999999994 9.000000000000007;;; 9.999999999999998 13.000000000000004 16.0; 11.0 14.0 17.000000000000004; 11.999999999999995 15.0 18.0;;; 19.000000000000007 21.999999999999996 24.999999999999982; 20.0 22.999999999999986 26.0; 21.000000000000014 24.000000000000007 26.999999999999986] ================================================================================ 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 3m46.2s test_unit.jl | 260 260 2m09.4s OpenFHE | 131 131 1m38.4s generate_keys | 1 1 0.3s init_multiplication! | 1 1 0.1s init_rotation! | 8 8 7.5s PlainVector | 2 2 0.8s PlainMatrix | 1 1 0.2s PlainArray | 1 1 0.3s encrypt | 5 5 0.7s add | 15 15 1.7s subtract | 15 15 2.4s multiply | 15 15 1.9s negate | 3 3 0.4s circshift | 24 24 1m10.9s 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.0s collect | 3 3 0.0s show | 12 12 7.1s Unencrypted | 129 129 30.6s generate_keys | 1 1 0.0s init_multiplication! | 1 1 0.0s init_rotation! | 6 6 0.2s PlainVector | 2 2 0.0s PlainMatrix | 1 1 0.0s PlainArray | 1 1 0.0s encrypt | 5 5 0.1s add | 15 15 6.2s subtract | 15 15 9.0s multiply | 15 15 5.9s negate | 3 3 0.8s circshift | 24 24 6.8s 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 1.0s test_examples.jl | 4 4 1m28.9s examples/simple_real_numbers.jl | 1 1 2.3s examples/simple_ckks_bootstrapping.jl | 1 1 11.4s examples/simple_matrix_operations.jl | 1 1 14.0s examples/simple_array_operations.jl | 1 1 1m01.3s 226.575172 seconds (35.43 M allocations: 1.796 GiB, 0.99% gc time, 76.81% compilation time) Testing SecureArithmetic tests passed Testing completed after 232.07s PkgEval succeeded after 269.18s