Full API Listing
Full API
Namespaces
Classes and Structs
- Template Class Ciphertext< Scheme::CKKS >
- Class Documentation
heongpu::Ciphertext< Scheme::CKKS >Ciphertext()store_in_device()store_in_host()is_on_device()data()get_data()get_data()switch_stream()stream()ring_size()coeff_modulus_count()size()depth()level()in_ntt_domain()scale()encoding_type()rescale_required()relinearization_required()Ciphertext()Ciphertext()Ciphertext()operator=()operator=()save()load()
- Class Documentation
- Template Class HEContextImpl< Scheme::BFV >
- Class Documentation
heongpu::HEContextImpl< Scheme::BFV >HEContextImpl()set_poly_modulus_degree()set_coeff_modulus_bit_sizes()set_coeff_modulus_values()set_coeff_modulus_default_values()set_plain_modulus()generate()generate()print_parameters()get_poly_modulus_degree()get_log_poly_modulus_degree()get_ciphertext_modulus_count()get_key_modulus_count()get_plain_modulus()get_key_modulus()save()load()
- Class Documentation
- Template Class HELogicOperator< Scheme::BFV >
- Inheritance Relationships
- Class Documentation
heongpu::HELogicOperator< Scheme::BFV >HELogicOperator()NOT()NOT_inplace()AND()AND_inplace()AND()AND_inplace()OR()OR_inplace()OR()OR_inplace()XOR()XOR_inplace()XOR()XOR_inplace()NAND()NAND_inplace()NAND()NAND_inplace()NOR()NOR_inplace()NOR()NOR_inplace()XNOR()XNOR_inplace()XNOR()XNOR_inplace()one_minus_cipher()one_minus_cipher_inplace()encoded_constant_one_
- Template Class HELogicOperator< Scheme::CKKS >
- Inheritance Relationships
- Class Documentation
heongpu::HELogicOperator< Scheme::CKKS >HELogicOperator()NOT()NOT_inplace()AND()AND_inplace()AND()AND_inplace()OR()OR_inplace()OR()OR_inplace()XOR()XOR_inplace()XOR()XOR_inplace()NAND()NAND_inplace()NAND()NAND_inplace()NOR()NOR_inplace()NOR()NOR_inplace()XNOR()XNOR_inplace()XNOR()XNOR_inplace()generate_bootstrapping_params()bootstrapping_key_indexs()bit_bootstrapping()AND_bootstrapping()OR_bootstrapping()XOR_bootstrapping()NAND_bootstrapping()NOR_bootstrapping()XNOR_bootstrapping()
- Template Class HEMultiPartyManager< Scheme::BFV >
- Class Documentation
heongpu::HEMultiPartyManager< Scheme::BFV >HEMultiPartyManager()generate_public_key_share()assemble_public_key_share()generate_relin_key_init()generate_relin_key_share()assemble_relin_key_init()assemble_relin_key_share()generate_galois_key_share()assemble_galois_key_share()decrypt_partial()decrypt()distributed_bootstrapping_participant()distributed_bootstrapping_coordinator()HEMultiPartyManager()HEMultiPartyManager()HEMultiPartyManager()operator=()operator=()
- Class Documentation
- Template Class HEMultiPartyManager< Scheme::CKKS >
- Class Documentation
heongpu::HEMultiPartyManager< Scheme::CKKS >HEMultiPartyManager()generate_public_key_share()assemble_public_key_share()generate_relin_key_init()generate_relin_key_share()assemble_relin_key_init()assemble_relin_key_share()generate_galois_key_share()assemble_galois_key_share()decrypt_partial()decrypt()distributed_bootstrapping_participant()distributed_bootstrapping_coordinator()HEMultiPartyManager()HEMultiPartyManager()HEMultiPartyManager()operator=()operator=()
- Class Documentation
- Template Class HEOperator< Scheme::BFV >
- Inheritance Relationships
- Class Documentation
heongpu::HEOperator< Scheme::BFV >add()add_inplace()sub()sub_inplace()negate()negate_inplace()add_plain()add_plain_inplace()sub_plain()sub_plain_inplace()multiply()multiply_inplace()multiply_plain()multiply_plain_inplace()relinearize_inplace()rotate_rows()rotate_rows_inplace()rotate_columns()apply_galois()apply_galois_inplace()keyswitch()multiply_power_of_X()transform_to_ntt()transform_to_ntt_inplace()transform_to_ntt()transform_to_ntt_inplace()transform_from_ntt()transform_from_ntt_inplace()HEOperator()HEOperator()HEOperator()operator=()operator=()HEOperator()add_plain_bfv()add_plain_bfv_inplace()sub_plain_bfv()sub_plain_bfv_inplace()multiply_bfv()multiply_plain_bfv()relinearize_seal_method_inplace()relinearize_external_product_method2_inplace()rotate_method_I()rotate_method_II()apply_galois_method_I()apply_galois_method_II()rotate_columns_method_I()rotate_columns_method_II()switchkey_method_I()switchkey_method_II()negacyclic_shift_poly_coeffmod()transform_to_ntt_bfv_plain()transform_to_ntt_bfv_cipher()transform_from_ntt_bfv_cipher()operator_from_ciphertext()context_encoding_location_new_prime_locations_new_input_locations_new_prime_locationsnew_input_locations
- Template Class HEOperator< Scheme::CKKS >
- Nested Relationships
- Inheritance Relationships
- Class Documentation
heongpu::HEOperator< Scheme::CKKS >add()add_inplace()sub()sub_inplace()negate()negate_inplace()add_plain()add_plain_inplace()add_plain()add_plain_inplace()sub_plain()sub_plain_inplace()sub_plain()sub_plain_inplace()add_plain_v2()multiply()multiply_inplace()multiply_plain()multiply_plain_inplace()multiply_plain()multiply_plain_inplace()multiply_plain_v2()scale_up()mult_i()div_i()relinearize_inplace()rotate_rows()rotate_rows_inplace()apply_galois()apply_galois_inplace()keyswitch()conjugate()rescale_inplace()mod_drop()mod_drop()mod_drop_inplace()mod_drop_inplace()HEOperator()HEOperator()HEOperator()operator=()operator=()HEOperator()add_plain_ckks()add_plain_ckks_inplace()add_constant_plain_ckks()add_constant_plain_ckks_inplace()sub_plain_ckks()sub_plain_ckks_inplace()sub_constant_plain_ckks()sub_constant_plain_ckks_inplace()add_constant_plain_ckks_v2()multiply_const_plain_ckks_v2()scale_up_ckks()mult_i_ckks()div_i_ckks()multiply_ckks()multiply_plain_ckks()multiply_const_plain_ckks()relinearize_seal_method_inplace_ckks()relinearize_external_product_method2_inplace_ckks()rotate_ckks_method_I()rotate_ckks_method_II()apply_galois_ckks_method_I()apply_galois_ckks_method_II()switchkey_ckks_method_I()switchkey_ckks_method_II()conjugate_ckks_method_I()conjugate_ckks_method_II()rescale_inplace_ckks_leveled()mod_drop_ckks_leveled()mod_drop_ckks_plaintext()mod_drop_ckks_plaintext_inplace()mod_drop_ckks_leveled_inplace()operator_plaintext()operator_from_plaintext()operator_ciphertext()operator_from_ciphertext()rotation_index_generator()quick_ckks_encoder_vec_complex()quick_ckks_encoder_constant_complex()quick_ckks_encoder_constant_double()quick_ckks_encoder_constant_integer()encode_V_matrixs()encode_V_inv_matrixs()encode_V_matrixs_v2()encode_V_inv_matrixs_v2()generate_eval_mod_poly()multiply_matrix()multiply_matrix_v2()multiply_matrix_less_memory()coeff_to_slot()coeff_to_slot()coeff_to_slot_v2()solo_coeff_to_slot()slot_to_coeff()slot_to_coeff()slot_to_coeff_v2()solo_slot_to_coeff()mod_up_from_q0()exp_scaled()exp_taylor_approximation()eval_mod()gen_power()evaluate_poly()evaluate_poly_from_polynomial_basis()evaluate_poly_recurse()fast_single_hoisting_rotation_ckks()fast_single_hoisting_rotation_ckks_method_I()fast_single_hoisting_rotation_ckks_method_II()context_new_prime_locations_new_input_locations_new_prime_locationsnew_input_locationsscale_boot_boot_context_generated_CtoS_piece_StoC_piece_taylor_number_less_key_mode_CtoS_level_StoC_level_cts_config_stc_config_eval_mod_config_sine_poly_key_indexs_V_matrixs_rotated_encoded_V_inv_matrixs_rotated_encoded_V_matrixs_index_V_inv_matrixs_index_diags_matrices_bsgs_diags_matrices_inv_bsgs_real_shift_n2_bsgs_real_shift_n2_inv_bsgs_diags_matrices_bsgs_rot_n1_diags_matrices_inv_bsgs_rot_n1_diags_matrices_bsgs_rot_n2_diags_matrices_inv_bsgs_rot_n2_slot_count_log_slot_count_two_pow_64_reverse_order_special_ifft_roots_table_encoded_complex_minus_iover2_encoded_complex_i_encoded_complex_minus_iscale_encoded_complex_iscaleoverr_heongpu::HEOperator< Scheme::CKKS >::Polynomialheongpu::HEOperator< Scheme::CKKS >::VandermondeVandermonde()Vandermonde()generate_E_diagonals_index()generate_E_inv_diagonals_index()split_E()split_E_inv()generate_E_diagonals()generate_E_inv_diagonals()generate_V_n_lists()generate_V_n_lists_v2()generate_pre_comp_V()generate_pre_comp_V_inv()generate_pre_comp_V_v2()generate_pre_comp_V_inv_v2()generate_key_indexs()generate_key_indexs_v2()Vandermonde()
- Template Class CKKS >::Vandermonde
- Nested Relationships
- Class Documentation
heongpu::HEOperator< Scheme::CKKS >::VandermondeVandermonde()Vandermonde()generate_E_diagonals_index()generate_E_inv_diagonals_index()split_E()split_E_inv()generate_E_diagonals()generate_E_inv_diagonals()generate_V_n_lists()generate_V_n_lists_v2()generate_pre_comp_V()generate_pre_comp_V_inv()generate_pre_comp_V_v2()generate_pre_comp_V_inv_v2()generate_key_indexs()generate_key_indexs_v2()Vandermonde()
- Class MemoryPool
- Class Documentation
heongpu::MemoryPoolinitialize()initialize()use_memory_pool()allocate()deallocate()get_device_resource()get_host_resource()host_allocate()host_deallocate()print_memory_pool_status()get_current_device_pool_memory_usage()get_free_device_pool_memory()get_current_host_pool_memory_usage()get_free_host_pool_memory()~MemoryPool()instance()
- Class Documentation
- Class RandomNumberGenerator
- Class Documentation
heongpu::RandomNumberGeneratorinitialize()~RandomNumberGenerator()set()modular_uniform_random_number_generation()modular_uniform_random_number_generation()modular_uniform_random_number_generation()modular_uniform_random_number_generation()modular_gaussian_random_number_generation()modular_gaussian_random_number_generation()modular_gaussian_random_number_generation()modular_gaussian_random_number_generation()modular_ternary_random_number_generation()modular_ternary_random_number_generation()modular_ternary_random_number_generation()modular_ternary_random_number_generation()instance()
- Class Documentation