Package evaluation of SecureArithmetic on Julia 1.11.4 (a71dd056e0*) started at 2025-04-08T09:16:21.717 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.89s ################################################################################ # 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.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.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.21s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 18.09s ################################################################################ # Testing # Testing SecureArithmetic Status `/tmp/jl_CxQqmC/Project.toml` [77ce9b8e] OpenFHE v0.1.12 [38cee09b] SecureArithmetic v0.2.1 [8dfed614] Test v1.11.0 Status `/tmp/jl_CxQqmC/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.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.24999999999990963, 0.499999999999998, 0.7500000000000075, 1.0000000000001523, 2.0000000000000586, 3.000000000000007, 3.9999999999999925, 4.999999999999995] x1 + x2 = [5.250000000000014, 4.499999999999982, 3.7499999999999933, 2.999999999999936, 3.000000000000068, 3.7500000000000426, 4.5000000000000675, 5.2500000000000036] x1 - x2 = [-4.750000000000037, -3.5000000000000897, -2.250000000000007, -1.0000000000000564, 0.9999999999999778, 2.250000000000046, 3.4999999999999982, 4.750000000000059] 4 * x1 = [0.9999999999993441, 1.9999999999999547, 3.0000000000002593, 4.000000000000028, 7.999999999999789, 12.000000000000092, 15.999999999999922, 19.999999999999744] x1 * x2 = [1.249999999999409, 1.9999999999998475, 2.249999999999831, 1.9999999999996023, 2.0000000000001585, 2.2499999999998024, 1.9999999999998457, 1.2499999999998195] x1 shifted circularly by -1 = [0.4999999999998803, 0.7499999999998934, 1.0000000000000564, 2.0000000000000866, 3.0000000000000027, 3.999999999999959, 4.999999999999963, 0.2500000000000341] x1 shifted circularly by 2 = [4.000000000000039, 4.9999999999999405, 0.24999999999997424, 0.5000000000000515, 0.7500000000000056, 1.0000000000000366, 1.9999999999999765, 3.0000000000000404] ================================================================================ 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.2500000000000193, 0.49999999999998607, 0.7499999999999938, 0.9999999999999956, 2.0000000000000218, 2.999999999999967, 3.999999999999986, 4.999999999999946] ================================================================================ 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.2499999999999504 0.4999999999999738 0.7499999999999902; 1.0000000000000309 2.0000000000000124 2.9999999999999805; 3.9999999999999867 5.00000000000005 6.000000000000028] m1 + m2 = [6.249999999999936 5.499999999999954 4.749999999999989; 3.9999999999999036 3.999999999999978 3.9999999999999147; 4.750000000000038 5.499999999999952 6.250000000000016] m1 - m2 = [-5.750000000000048 -4.499999999999943 -3.2500000000000075; -1.9999999999999973 -4.345315046342984e-16 2.0000000000000386; 3.249999999999999 4.49999999999997 5.750000000000017] 4 * m1 = [1.0000000000000084 2.0000000000000675 3.0000000000000817; 3.999999999999812 7.999999999999906 11.999999999999954; 16.000000000000092 20.00000000000005 24.000000000000263] m1 * m2 = [1.4999999999998839 2.5000000000000866 2.9999999999999885; 2.999999999999911 4.0000000000000195 2.9999999999998597; 3.0000000000000835 2.4999999999999174 1.4999999999999831] m1 shifted circularly by (0, 1) = [0.7499999999999942 0.24999999999998046 0.5000000000000213; 2.999999999999976 0.9999999999999765 2.000000000000014; 6.000000000000034 4.000000000000022 4.999999999999997] m1 shifted circularly by (1, -1) = [4.999999999999999 6.000000000000028 4.000000000000022; 0.5000000000000197 0.7499999999999964 0.24999999999998035; 2.000000000000014 2.9999999999999747 0.9999999999999774] m1 after bootstrapping [0.24999999999999495 0.49999999999998884 0.7499999999999745; 0.9999999999999958 1.9999999999999791 2.999999999999953; 4.000000000000041 4.999999999999997 6.00000000000003] ================================================================================ 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.000000000000007 4.000000000000001 7.000000000000011; 2.0000000000000058 4.999999999999997 7.999999999999995; 3.0 5.9999999999999964 9.000000000000005;;; 9.999999999999998 13.000000000000004 16.0; 11.0 14.0 16.999999999999993; 12.000000000000004 15.000000000000004 18.000000000000007;;; 19.0 22.0 25.000000000000007; 19.99999999999998 22.999999999999993 26.00000000000002; 20.99999999999999 23.999999999999993 26.999999999999986] 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.999999999999993; 27.999999999999996 27.999999999999996 27.999999999999993;;; 28.000000000000007 28.00000000000001 28.00000000000002; 28.000000000000007 27.999999999999993 28.0; 27.999999999999996 28.000000000000007 28.00000000000002] a1 - a2 = [-26.0 -20.000000000000004 -14.000000000000002; -23.999999999999986 -18.000000000000007 -12.000000000000007; -22.00000000000001 -16.000000000000004 -10.000000000000002;;; -7.999999999999998 -1.9999999999999964 4.000000000000003; -6.000000000000007 -4.440892098500626e-15 5.999999999999993; -4.0000000000000115 1.999999999999977 7.999999999999991;;; 10.000000000000005 16.0 22.00000000000001; 11.99999999999999 17.999999999999993 24.0; 14.000000000000004 19.999999999999993 25.999999999999993] 4 * a1 = [3.9999999999999822 15.999999999999968 28.00000000000002; 7.9999999999999964 19.999999999999986 31.99999999999998; 12.0 23.999999999999986 36.000000000000014;;; 39.999999999999986 51.999999999999986 63.99999999999999; 44.000000000000014 55.99999999999996 67.99999999999993; 48.0 59.99999999999999 71.99999999999997;;; 75.99999999999999 87.99999999999999 99.99999999999996; 80.00000000000003 92.0 104.00000000000003; 83.99999999999997 95.99999999999996 108.00000000000001] a1 * a2 = [27.000000000000085 95.99999999999991 147.00000000000006; 52.00000000000012 115.0 159.99999999999991; 74.99999999999996 131.99999999999997 171.00000000000003;;; 179.99999999999994 195.00000000000006 191.99999999999997; 187.0 195.99999999999997 187.00000000000003; 191.99999999999997 195.0 179.9999999999999;;; 171.00000000000003 132.0 74.99999999999997; 160.00000000000003 114.99999999999991 52.00000000000004; 147.0 96.00000000000009 27.00000000000003] a1 shifted circularly by (0, 1, 0) = [7.000000000000012 1.0000000000000036 3.999999999999985; 8.0 1.9999999999999813 5.000000000000003; 8.999999999999996 3.0 5.999999999999991;;; 16.000000000000014 10.000000000000018 13.000000000000007; 16.999999999999996 11.000000000000007 13.99999999999999; 17.999999999999993 12.000000000000021 15.000000000000007;;; 25.000000000000007 18.99999999999999 22.000000000000004; 26.0 20.000000000000004 23.0; 27.00000000000002 20.99999999999998 24.000000000000007] a1 shifted circularly by (1, -1, 1) = [24.000000000000007 27.00000000000002 21.00000000000002; 22.00000000000003 24.999999999999957 19.000000000000018; 23.0 26.000000000000018 19.99999999999998;;; 5.999999999999993 8.999999999999972 3.000000000000014; 4.000000000000028 6.999999999999975 1.0000000000000009; 5.000000000000007 7.999999999999998 2.0000000000000053;;; 14.999999999999998 17.999999999999996 11.999999999999993; 13.000000000000016 15.999999999999996 10.000000000000016; 13.999999999999977 16.999999999999996 10.99999999999998] a1 after bootstrapping [1.0 3.9999999999999956 7.0000000000000036; 2.00000000000001 4.999999999999997 7.999999999999991; 3.000000000000001 6.0000000000000036 9.000000000000009;;; 9.999999999999995 13.0 16.0; 10.999999999999993 14.000000000000004 17.000000000000004; 11.999999999999996 15.000000000000004 17.999999999999982;;; 19.000000000000014 22.0 25.00000000000001; 20.0 22.999999999999986 26.000000000000004; 21.00000000000002 24.000000000000007 27.000000000000007] ================================================================================ 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 3m03.2s test_unit.jl | 260 260 2m04.7s OpenFHE | 131 131 1m33.0s generate_keys | 1 1 0.4s init_multiplication! | 1 1 0.1s init_rotation! | 8 8 7.7s PlainVector | 2 2 0.7s PlainMatrix | 1 1 0.2s PlainArray | 1 1 0.2s encrypt | 5 5 0.8s add | 15 15 1.7s subtract | 15 15 2.4s multiply | 15 15 1.9s negate | 3 3 0.4s circshift | 24 24 1m05.0s multithreading | 5 5 1.4s 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 7.2s Unencrypted | 129 129 31.3s generate_keys | 1 1 0.1s 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.1s subtract | 15 15 9.4s multiply | 15 15 6.1s negate | 3 3 0.9s circshift | 24 24 7.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 1.0s test_examples.jl | 4 4 51.9s examples/simple_real_numbers.jl | 1 1 2.3s examples/simple_ckks_bootstrapping.jl | 1 1 11.6s examples/simple_matrix_operations.jl | 1 1 14.4s examples/simple_array_operations.jl | 1 1 23.7s 183.627505 seconds (35.34 M allocations: 1.788 GiB, 1.26% gc time, 70.93% compilation time) Testing SecureArithmetic tests passed Testing completed after 189.39s PkgEval succeeded after 225.36s