primihub / hehub

HEhub is a library for homomorphic encryption and its applications, and is part of the PrimiHub project.
Apache License 2.0
88 stars 18 forks source link

示例程序编译失败 #12

Open Novakru opened 4 months ago

Novakru commented 4 months ago
jiang@jiang-virtual-machine:~/hehub/examples$ g++ -Wall -g -o ckks ckks_example.cpp
In file included from ckks_example.cpp:1:
/usr/local/include/fhe/ckks/ckks.h: In function ‘hehub::ckks::CkksPt hehub::ckks::encode(hehub::cc_double, const hehub::ckks::CkksParams&)’:
/usr/local/include/fhe/ckks/ckks.h:124:17: error: missing template arguments before ‘datum_rep’
  124 |     std::vector datum_rep(pt_params.dimension / 2, datum);
      |                 ^~~~~~~~~
/usr/local/include/fhe/ckks/ckks.h:125:24: error: ‘datum_rep’ was not declared in this scope
  125 |     return simd_encode(datum_rep, pt_params);
      |                        ^~~~~~~~~
/usr/local/include/fhe/ckks/ckks.h: In function ‘hehub::ckks::CkksPt hehub::ckks::encode(double, const hehub::ckks::CkksParams&)’:
/usr/local/include/fhe/ckks/ckks.h:137:17: error: missing template arguments before ‘datum_rep’
  137 |     std::vector datum_rep(pt_params.dimension / 2, datum);
      |                 ^~~~~~~~~
/usr/local/include/fhe/ckks/ckks.h:138:24: error: ‘datum_rep’ was not declared in this scope
  138 |     return simd_encode(datum_rep, pt_params);
      |                        ^~~~~~~~~

变量初始化问题,vector似乎没法做到double类型和cc_double类型共同初始化一个vector

inline CkksPt encode(const cc_double datum, const CkksParams &pt_params) {
    std::vector datum_rep(pt_params.dimension / 2, datum);
    return simd_encode(datum_rep, pt_params);
}