再执行cmake --build build 报错如下:
^~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:182:36: note: 'ranges::_::begin'
RANGES_DEFINE_CPO(begin::fn, begin)
^~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c
onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO'
inline constexpr type name{}; \
^~~~
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/all.hpp:22,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:27,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
od_arith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:85:14: note: 'ranges::begin::begin'
void begin(std::initializer_list) = delete;
^~~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: error:
'end' was not declared in this scope
for (auto &m : moduli_doubled) {
^~~~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: note: s
uggested alternatives:
In file included from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.h:40,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ios_base.h:41,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/ios:42,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/istream:38,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/sstream:38,
from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/
gcc/x86_64-w64-mingw32/8.1.0/include/c++/complex:45,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\t
ype_defs.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\a
llocator.h:3,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:1:
D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32
/8.1.0/include/c++/bits/range_access.h:107:37: note: 'std::end'
template const _Tp end(const valarray<_Tp>&);
^~~
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/all.hpp:22,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:27,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
od_arith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:197:14: note: 'ranges::end::end'
void end(std::initializer_list) = delete;
^~~
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/range_fwd.hpp:25,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:22,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
odarith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:313:34: note: 'ranges::::end'
RANGES_DEFINE_CPO(end::fn, end)
^~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c
onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINECPO'
inline constexpr type name{}; \
^~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:313:34: note: 'ranges::::end'
RANGES_DEFINE_CPO(end::fn, end)
^~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c
onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO'
inline constexpr type name{}; \
^~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:17: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
self[k][i] += moduli_doubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:43: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
self[k][i] += modulidoubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:48: error:
no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size
t' {aka 'long long unsigned int'})
self[k][i] += moduli_doubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:112:17: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
self[k][i] -=
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:22: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:48: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:69: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'h
ehub::RnsIntVec hehub::operator(const hehub::RnsIntVec&, const hehub::RnsIntVec
&)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:127:12: error:
request for member 'resize' in 'moduli', which is of non-class type 'int'
moduli.resize(components);
^~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:128:14: error:
request for member 'resize' in 'b_moduli', which is of non-class type 'int'
b_moduli.resize(components);
^~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:45: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(),
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:60: error:
no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size
t' {aka 'long long unsigned int'})
batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(),
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:38: error:
no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size
t' {aka 'long long unsigned int'})
b[k].data(), result[k].data());
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:56: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
b[k].data(), result[k].data());
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop
e:
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:142:52: error:
'u64' does not name a type
const RnsIntVec &operator=(RnsIntVec &self, const u64 small_scalar) {
^~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c
onst hehub::RnsIntVec& hehub::operator=(hehub::RnsIntVec&, int)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:144:39: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
auto currmod = self.moduli[k];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:147:32: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
for (auto &coeff : self[k]) {
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: error:
'mul_mod_harvey_lazy' was not declared in this scope
coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced,
^~~~~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: note: s
uggested alternative: 'batched_barrett_lazy'
coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced,
^~~~~~~
batched_barrett_lazy
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop
e:
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:47: error:
'u64' was not declared in this scope
const std::vector &rns_scalar) {
^~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error:
template argument 1 is invalid
const std::vector &rns_scalar) {
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error:
template argument 2 is invalid
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c
onst hehub::RnsIntVec& hehub::operator*=(hehub::RnsIntVec&, const int&)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:157:20: error:
request for member 'size' in 'rns_scalar', which is of non-class type 'const int
'
if (rns_scalar.size() != self.component_count()) {
^~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:162:39: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
auto currmod = self.moduli[k];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:163:43: error:
invalid types 'const int[size_t {aka long long unsigned int}]' for array subscri
pt
auto scalar_reduced = rns_scalar[k] % curr_mod; // need opt?
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:165:32: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
for (auto &coeff : self[k]) {
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: error:
'mul_mod_harvey_lazy' was not declared in this scope
coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced,
^~~~~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: note: s
uggested alternative: 'batched_barrett_lazy'
coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced,
^~~~~~~
batched_barrett_lazy
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 's
td::ostream& hehub::operator<<(std::ostream&, const hehub::RnsIntVec&)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:179:58: error:
no match for call to '(const ranges::views::zip_fn) (const hehub::RnsIntVec&, co
nst int&)'
for (auto [component, modulus] : zip(rns_poly, moduli)) {
^
In file included from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
od_arith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip
.hpp:133:48: note: candidate: 'constexpr ranges::empty_view<std::tuple<> > range
s::views::zip_fn::operator()() const'
constexpr empty_view<std::tuple<>> operator()() const noexcept
^~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip
.hpp:133:48: note: candidate expects 0 arguments, 2 provided
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip
.hpp:141:38: note: candidate: 'template<class ... Rngs, bool CPP_true, typename
std::enable_if<(and_v<viewable_range...> && CPP_true), int>::type <anonymo
us>, typename std::enable_if<(and_v<input_range...> && CPP_true), int>::ty
pe , typename std::enable_if<((sizeof... (Rngs) != 0) && CPP_true), i
nt>::type > ranges::zip_view<ranges::views::all_t...> ranges::
views::zip_fn::operator()(Rngs&& ...) const'
zip_view<all_t...> operator()(Rngs &&... rngs) const
^~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip
.hpp:141:38: note: template argument deduction/substitution failed:
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/range_fwd.hpp:22,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:22,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
od_arith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:334:35: error: no type named 'type' in 'struct std::enable_if<false, int>'
&& CPP_BOOL(CPP_true), int> = 0, std::enable_if_t<
^
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:66:35: note: in definition of macro 'CPP_PPCAT'
define CPP_PPCAT(X, ...) X ## __VA_ARGS__
^~~~~~~~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:299:9: note: in expansion of macro 'CPP_PP_CAT'
CPP_PP_CAT(CPP_TEMPLATE_SFINAE_AUX3, __VA_ARGS__) &&
\
^~~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:66:30: note: in expansion of macro 'CPP_TEMPLATE_SFINAE_AUX_0'
define CPP_PPCAT(X, ...) X ## __VA_ARGS__
^
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:270:27: note: in expansion of macro 'CPP_TEMPLATE_SFINAEAUX'
define CPP_TEMPLATEAUX CPP_TEMPLATE_SFINAEAUX
^~~~~~~~~~~~~~~~~~~~~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts
.hpp:195:17: note: in expansion of macro 'CPP_and_sfinae'
define CPP_and CPP_and_sfinae
^~~~~~~~~~~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/p
rologue.hpp:37:13: note: in expansion of macro 'CPP_and'
define AND CPP_and
^~~~~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip
.hpp:138:57: note: in expansion of macro 'AND'
requires and_v<viewable_range...> AND
^~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:181:34: error:
unable to deduce 'auto&&' from 'component'
for (const auto &coeff : component) {
^~~~~
mingw32-make.exe[2]: [src\fhe\CMakeFiles\hehub.dir\build.make:76: src/fhe/CM
akeFiles/hehub.dir/common/rns.cpp.obj] Error 1
mingw32-make.exe[1]: [CMakeFiles\Makefile2:273: src/fhe/CMakeFiles/hehub.dir
/all] Error 2
mingw32-make.exe: *** [Makefile:135: all] Error 2
再执行cmake --build build 报错如下: ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:182:36: note: 'ranges::_::begin' RANGES_DEFINE_CPO(begin::fn, begin) ^~~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO' inline constexpr type name{}; \ ^~~~ In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/all.hpp:22, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:27, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac cess.hpp:85:14: note: 'ranges::begin::begin' void begin(std::initializer_list) = delete;
^~~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: error:
'end' was not declared in this scope
for (auto &m : moduli_doubled) {
^ const _Tp end(const valarray<_Tp>&);
^~~
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/all.hpp:22,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:27,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
od_arith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:197:14: note: 'ranges::end::end'
void end(std::initializer_list) = delete;
^~~
In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/range_fwd.hpp:25,
from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang
e-v3/range/v3/view/zip.hpp:22,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m
odarith.h:8,
from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r
ns.cpp:2:
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:313:34: note: 'ranges::::end'
RANGES_DEFINE_CPO(end::fn, end)
^~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c
onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINECPO'
inline constexpr type name{}; \
^~~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/range/ac
cess.hpp:313:34: note: 'ranges::::end'
RANGES_DEFINE_CPO(end::fn, end)
^~~
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/c
onfig.hpp:601:31: note: in definition of macro 'RANGES_DEFINE_CPO'
inline constexpr type name{}; \
^~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:17: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
self[k][i] += moduli_doubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:43: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
self[k][i] += modulidoubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:111:48: error:
no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size
t' {aka 'long long unsigned int'})
self[k][i] += moduli_doubled[k] - b[k][i];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:112:17: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
self[k][i] -=
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:22: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:48: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:113:69: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
(self[k][i] >= moduli_doubled[k]) ? moduli_doubled[k] : 0;
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'h
ehub::RnsIntVec hehub::operator (const hehub::RnsIntVec&, const hehub::RnsIntVec
&)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:127:12: error:
request for member 'resize' in 'moduli', which is of non-class type 'int'
moduli.resize(components);
^ &rns_scalar) {
^~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error:
template argument 1 is invalid
const std::vector &rns_scalar) {
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:50: error:
template argument 2 is invalid
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c
onst hehub::RnsIntVec& hehub::operator*=(hehub::RnsIntVec&, const int&)':
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:157:20: error:
request for member 'size' in 'rns_scalar', which is of non-class type 'const int
'
if (rns_scalar.size() != self.component_count()) {
^~~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:162:39: error:
invalid types 'int[size_t {aka long long unsigned int}]' for array subscript
auto currmod = self.moduli[k];
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:163:43: error:
invalid types 'const int[size_t {aka long long unsigned int}]' for array subscri
pt
auto scalar_reduced = rns_scalar[k] % curr_mod; // need opt?
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:165:32: error:
no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak
a 'long long unsigned int'})
for (auto &coeff : self[k]) {
^
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: error:
'mul_mod_harvey_lazy' was not declared in this scope
coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced,
^...> && CPP_true), int>::type <anonymo
us>, typename std::enable_if<(and_v<input_range...> && CPP_true), int>::ty
pe , typename std::enable_if<((sizeof... (Rngs) != 0) && CPP_true), i
nt>::type > ranges::zip_view<ranges::views::all_t...> ranges::
views::zip_fn::operator()(Rngs&& ...) const'
zip_view<all_t...> operator()(Rngs &&... rngs) const
^
~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:106:20: note: s uggested alternatives: In file included from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/string:51, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/locale_classes.h:40, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/bits/ios_base.h:41, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/ios:42, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/istream:38, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/sstream:38, from D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/ gcc/x86_64-w64-mingw32/8.1.0/include/c++/complex:45, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\t ype_defs.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\a llocator.h:3, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:1: D:/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0/mingw64/lib/gcc/x86_64-w64-mingw32 /8.1.0/include/c++/bits/range_access.h:107:37: note: 'std::end' template~D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:128:14: error: request for member 'resize' in 'b_moduli', which is of non-class type 'int' b_moduli.resize(components); ^~D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:45: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(), ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:135:60: error: no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size t' {aka 'long long unsigned int'}) batched_mul_mod_hybridlazy(moduli[k], dimension, a[k].data(), ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:38: error: no match for 'operator[]' (operand types are 'const hehub::RnsIntVec' and 'size t' {aka 'long long unsigned int'}) b[k].data(), result[k].data()); ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:136:56: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) b[k].data(), result[k].data()); ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop e: D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:142:52: error: 'u64' does not name a type const RnsIntVec &operator=(RnsIntVec &self, const u64 small_scalar) { ^~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 'c onst hehub::RnsIntVec& hehub::operator=(hehub::RnsIntVec&, int)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:144:39: error: invalid types 'int[size_t {aka long long unsigned int}]' for array subscript auto currmod = self.moduli[k]; ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:147:32: error: no match for 'operator[]' (operand types are 'hehub::RnsIntVec' and 'size_t' {ak a 'long long unsigned int'}) for (auto &coeff : self[k]) { ^ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: error: 'mul_mod_harvey_lazy' was not declared in this scope coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:148:21: note: s uggested alternative: 'batched_barrett_lazy' coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ batched_barrett_lazy D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: At global scop e: D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:156:47: error: 'u64' was not declared in this scope const std::vector~~~~~~ D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:166:21: note: s uggested alternative: 'batched_barrett_lazy' coeff = mul_mod_harvey_lazy(curr_mod, coeff, scalar_reduced, ^~~~~~~ batched_barrett_lazy D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp: In function 's td::ostream& hehub::operator<<(std::ostream&, const hehub::RnsIntVec&)': D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:179:58: error: no match for call to '(const ranges::views::zip_fn) (const hehub::RnsIntVec&, co nst int&)' for (auto [component, modulus] : zip(rns_poly, moduli)) { ^ In file included from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:133:48: note: candidate: 'constexpr ranges::empty_view<std::tuple<> > range s::views::zip_fn::operator()() const' constexpr empty_view<std::tuple<>> operator()() const noexcept ^~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:133:48: note: candidate expects 0 arguments, 2 provided D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:141:38: note: candidate: 'template<class ... Rngs, bool CPP_true, typename std::enable_if<(and_v<viewable_range~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:141:38: note: template argument deduction/substitution failed: In file included from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/range_fwd.hpp:22, from D:/test/hehub/hehub-develop/hehub-develop/third-party/rang e-v3/range/v3/view/zip.hpp:22, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\m od_arith.h:8, from D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\r ns.cpp:2: D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:334:35: error: no type named 'type' in 'struct std::enable_if<false, int>' && CPP_BOOL(CPP_true), int> = 0, std::enable_if_t< ^ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:66:35: note: in definition of macro 'CPP_PPCAT'define CPP_PPCAT(X, ...) X ## __VA_ARGS__
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:299:9: note: in expansion of macro 'CPP_PP_CAT' CPP_PP_CAT(CPP_TEMPLATE_SFINAE_AUX3, __VA_ARGS__) && \ ^
~~~~~ D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:66:30: note: in expansion of macro 'CPP_TEMPLATE_SFINAE_AUX_0'define CPP_PPCAT(X, ...) X ## __VA_ARGS__
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:270:27: note: in expansion of macro 'CPP_TEMPLATE_SFINAEAUX'
define CPP_TEMPLATEAUX CPP_TEMPLATE_SFINAEAUX
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/concepts/concepts .hpp:195:17: note: in expansion of macro 'CPP_and_sfinae'
define CPP_and CPP_and_sfinae
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/detail/p rologue.hpp:37:13: note: in expansion of macro 'CPP_and'
define AND CPP_and
D:/test/hehub/hehub-develop/hehub-develop/third-party/range-v3/range/v3/view/zip .hpp:138:57: note: in expansion of macro 'AND' requires and_v<viewable_range...> AND
^~~
D:\test\hehub\hehub-develop\hehub-develop\src\fhe\common\rns.cpp:181:34: error:
unable to deduce 'auto&&' from 'component'
for (const auto &coeff : component) {
^
~~~~ mingw32-make.exe[2]: [src\fhe\CMakeFiles\hehub.dir\build.make:76: src/fhe/CM akeFiles/hehub.dir/common/rns.cpp.obj] Error 1 mingw32-make.exe[1]: [CMakeFiles\Makefile2:273: src/fhe/CMakeFiles/hehub.dir /all] Error 2 mingw32-make.exe: *** [Makefile:135: all] Error 2