diff --git a/log.txt b/log.txt deleted file mode 100644 index 6e4d77ba..00000000 --- a/log.txt +++ /dev/null @@ -1,1499 +0,0 @@ -ninja: Entering directory `build' -[1/5] Building CXX object tests/CMakeFiles/scaluq_test.dir/circuit/param_circuit_test.cpp.o -FAILED: tests/CMakeFiles/scaluq_test.dir/circuit/param_circuit_test.cpp.o -/usr/bin/g++ -DKOKKOS_DEPENDENCE -DOPENMP -I/workspaces/scaluq/scaluq -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src/../../tpls/desul/include -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/eigen_fetch-src -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest -O3 -DNDEBUG -std=gnu++20 -Wall -Wextra -Wunused-parameter -Wsign-compare -Wtype-limits -Wuninitialized -pthread -fopenmp -O3 -fopenmp -MD -MT tests/CMakeFiles/scaluq_test.dir/circuit/param_circuit_test.cpp.o -MF tests/CMakeFiles/scaluq_test.dir/circuit/param_circuit_test.cpp.o.d -o tests/CMakeFiles/scaluq_test.dir/circuit/param_circuit_test.cpp.o -c /workspaces/scaluq/tests/circuit/param_circuit_test.cpp -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In constructor ‘scaluq::internal::ParamPauliRotationGateImpl::ParamPauliRotationGateImpl(uint64_t, const scaluq::PauliOperator&, Fp)’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:20:11: error: class ‘scaluq::internal::ParamPauliRotationGateImpl’ does not have any field named ‘ParamGateBase’ - 20 | : ParamGateBase(vector_to_mask(pauli.target_qubit_list()), control_mask, param_coef), - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘scaluq::ParamGate scaluq::internal::ParamPauliRotationGateImpl::get_inverse() const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:28:13: error: ‘_control_mask’ was not declared in this scope - 28 | _control_mask, _pauli, -_pcoef); - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:28:37: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 28 | _control_mask, _pauli, -_pcoef); - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘scaluq::internal::ComplexMatrix scaluq::internal::ParamPauliRotationGateImpl::get_matrix(Fp) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:31:20: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 31 | Fp angle = _pcoef * param; - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘void scaluq::internal::ParamPauliRotationGateImpl::update_quantum_state(scaluq::StateVector&, Fp) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:42:30: error: ‘_control_mask’ was not declared in this scope - 42 | apply_pauli_rotation(_control_mask, - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:46:30: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 46 | _pcoef * param, - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘std::string scaluq::internal::ParamPauliRotationGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:52:25: error: there are no arguments to ‘control_qubit_list’ that depend on a template parameter, so a declaration of ‘control_qubit_list’ must be available [-fpermissive] - 52 | auto controls = control_qubit_list(); - | ^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:52:25: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 13 | using EitherGate = std::variant; - | ^ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:29: error: ‘’ in namespace ‘std’ does not name a type - 13 | using EitherGate = std::variant; - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:17: error: ‘EitherGate’ was not declared in this scope - 16 | std::vector _gate_list; - | ^~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:27: error: template argument 1 is invalid - 16 | std::vector _gate_list; - | ^ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:27: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:10: error: ‘’ in namespace ‘std’ does not name a type - 16 | std::vector _gate_list; - | ^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 20 | const std::vector>& gate_list) - | ^~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:77: error: template argument 1 is invalid - 20 | const std::vector>& gate_list) - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:77: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:42: error: ‘’ in namespace ‘std’ does not name a type - 20 | const std::vector>& gate_list) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:51: error: template argument 1 is invalid - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:51: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:16: error: ‘’ in namespace ‘std’ does not name a type - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:70:15: error: deduced class type ‘ParamGate’ in function return type - 70 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:31: error: template placeholder type ‘StateVector<...auto...>’ must be followed by a simple declarator-id - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:20:7: note: ‘template requires floating_point class scaluq::StateVector’ declared here - 20 | class StateVector { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:56: error: expected ‘)’ before ‘,’ token - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ~ ^ - | ) -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:58: error: variable or field ‘Fp’ declared void - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:58: error: expected ‘;’ at end of member declaration - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~ - | ; -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:61: error: ‘param’ does not name a type - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: In constructor ‘scaluq::internal::ParamProbablisticGateImpl::ParamProbablisticGateImpl(const std::vector&, const int&)’: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:21:11: error: class ‘scaluq::internal::ParamProbablisticGateImpl’ does not have any field named ‘ParamGateBase’ - 21 | : ParamGateBase(0, 0), _distribution(distribution), _gate_list(gate_list) { - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:21:61: error: class ‘scaluq::internal::ParamProbablisticGateImpl’ does not have any field named ‘_gate_list’ - 21 | : ParamGateBase(0, 0), _distribution(distribution), _gate_list(gate_list) { - | ^~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:26:28: error: request for member ‘size’ in ‘gate_list’, which is of non-class type ‘const int’ - 26 | if (n != gate_list.size()) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: In member function ‘std::string scaluq::internal::ParamProbablisticGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:111:17: error: there are no arguments to ‘gate_list’ that depend on a template parameter, so a declaration of ‘gate_list’ must be available [-fpermissive] - 111 | gate_list()[i]); - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:16:15: error: deduced class type ‘ParamGate’ in function return type - 16 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRXGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 36 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:46:15: error: deduced class type ‘ParamGate’ in function return type - 46 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRYGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:65:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 65 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:75:15: error: deduced class type ‘ParamGate’ in function return type - 75 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRZGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:94:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 94 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp: In member function ‘virtual void ParamCircuitTest_ApplyParamCircuit_Test::TestBody()’: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:21:33: error: class template argument deduction failed: - 21 | Circuit circuit(n_qubits); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:21:33: error: no matching function for call to ‘Circuit(uint64_t&)’ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: candidate: ‘template Circuit(uint64_t)-> scaluq::Circuit’ - 16 | explicit Circuit(std::uint64_t n_qubits) : _n_qubits(n_qubits) {} - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:21:33: note: couldn’t deduce template parameter ‘Fp’ - 21 | Circuit circuit(n_qubits); - | ^ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: candidate: ‘template Circuit(scaluq::Circuit)-> scaluq::Circuit’ - 13 | class Circuit { - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:21:33: note: mismatched types ‘scaluq::Circuit’ and ‘long unsigned int’ - 21 | Circuit circuit(n_qubits); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:22:34: error: class template argument deduction failed: - 22 | Circuit pcircuit(n_qubits); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:22:34: error: no matching function for call to ‘Circuit(uint64_t&)’ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: candidate: ‘template Circuit(uint64_t)-> scaluq::Circuit’ - 16 | explicit Circuit(std::uint64_t n_qubits) : _n_qubits(n_qubits) {} - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:22:34: note: couldn’t deduce template parameter ‘Fp’ - 22 | Circuit pcircuit(n_qubits); - | ^ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: candidate: ‘template Circuit(scaluq::Circuit)-> scaluq::Circuit’ - 13 | class Circuit { - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:22:34: note: mismatched types ‘scaluq::Circuit’ and ‘long unsigned int’ - 22 | Circuit pcircuit(n_qubits); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp: In lambda function: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: error: class template argument deduction failed: - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: error: no matching function for call to ‘PauliOperator(std::vector&, std::vector&, double)’ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:148:5: note: candidate: ‘template PauliOperator(uint64_t, uint64_t, scaluq::Complex)-> scaluq::PauliOperator’ - 148 | PauliOperator(std::uint64_t bit_flip_mask, std::uint64_t phase_flip_mask, Complex coef = 1.) - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:148:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: couldn’t deduce template parameter ‘Fp’ - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:146:5: note: candidate: ‘template PauliOperator(const std::vector&, scaluq::Complex)-> scaluq::PauliOperator’ - 146 | PauliOperator(const std::vector& pauli_id_par_qubit, Complex coef = 1.) - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:146:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: candidate expects 2 arguments, 3 provided - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:142:5: note: candidate: ‘template PauliOperator(const std::vector&, const std::vector&, scaluq::Complex)-> scaluq::PauliOperator’ - 142 | PauliOperator(const std::vector& target_qubit_list, - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:142:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: couldn’t deduce template parameter ‘Fp’ - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:140:5: note: candidate: ‘template PauliOperator(std::string_view, scaluq::Complex)-> scaluq::PauliOperator’ - 140 | PauliOperator(std::string_view pauli_string, Complex coef = 1.) - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:140:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: candidate expects 2 arguments, 3 provided - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:139:14: note: candidate: ‘template PauliOperator(typename scaluq::PauliOperator::Data)-> scaluq::PauliOperator’ - 139 | explicit PauliOperator(Data data) : _ptr(std::make_shared(data)) {} - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:139:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: candidate expects 1 argument, 3 provided - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:138:14: note: candidate: ‘template PauliOperator(scaluq::Complex)-> scaluq::PauliOperator’ - 138 | explicit PauliOperator(Complex coef = 1.) : _ptr(std::make_shared(coef)) {} - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:138:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: candidate expects 1 argument, 3 provided - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/update_ops.hpp:4, - from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:17:7: note: candidate: ‘template PauliOperator(scaluq::PauliOperator)-> scaluq::PauliOperator’ - 17 | class PauliOperator { - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../operator/pauli_operator.hpp:17:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:56:70: note: ‘std::vector’ is not derived from ‘scaluq::PauliOperator’ - 56 | PauliOperator pauli(target_vec, pauli_id_vec, 1.0); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:64:42: error: no matching function for call to ‘CX(uint64_t&, uint64_t&)’ - 64 | circuit.add_gate(gate::CX(control, target)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:4: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CX(uint64_t, uint64_t)’ - 152 | inline Gate CX(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:64:42: note: couldn’t deduce template parameter ‘Fp’ - 64 | circuit.add_gate(gate::CX(control, target)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:65:43: error: no matching function for call to ‘CX(uint64_t&, uint64_t&)’ - 65 | pcircuit.add_gate(gate::CX(control, target)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:4: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CX(uint64_t, uint64_t)’ - 152 | inline Gate CX(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:65:43: note: couldn’t deduce template parameter ‘Fp’ - 65 | pcircuit.add_gate(gate::CX(control, target)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp: In member function ‘virtual void ParamCircuitTest_ApplyParamCircuit_Test::TestBody()’: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:71:29: error: ‘template requires floating_point class scaluq::StateVector’ used without template arguments - 71 | StateVector state = StateVector::Haar_random_state(n_qubits); - | ^~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp: In member function ‘virtual void ParamCircuitTest_InsufficientParameterGiven_Test::TestBody()’: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:95:22: error: class template argument deduction failed: - 95 | Circuit circuit(1); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:95:22: error: no matching function for call to ‘Circuit(int)’ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: candidate: ‘template Circuit(uint64_t)-> scaluq::Circuit’ - 16 | explicit Circuit(std::uint64_t n_qubits) : _n_qubits(n_qubits) {} - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:95:22: note: couldn’t deduce template parameter ‘Fp’ - 95 | Circuit circuit(1); - | ^ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: candidate: ‘template Circuit(scaluq::Circuit)-> scaluq::Circuit’ - 13 | class Circuit { - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:95:22: note: mismatched types ‘scaluq::Circuit’ and ‘int’ - 95 | Circuit circuit(1); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:96:41: error: no matching function for call to ‘ParamRX(int)’ - 96 | circuit.add_param_gate(gate::ParamRX(0), "0"); - | ~~~~~~~~~~~~~^~~ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: candidate: ‘template requires floating_point scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&)’ - 19 | inline ParamGate ParamRX(std::uint64_t target, - | ^~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:96:41: note: couldn’t deduce template parameter ‘Fp’ - 96 | circuit.add_param_gate(gate::ParamRX(0), "0"); - | ~~~~~~~~~~~~~^~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:97:41: error: no matching function for call to ‘ParamRX(int)’ - 97 | circuit.add_param_gate(gate::ParamRX(0), "1"); - | ~~~~~~~~~~~~~^~~ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: candidate: ‘template requires floating_point scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&)’ - 19 | inline ParamGate ParamRX(std::uint64_t target, - | ^~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:97:41: note: couldn’t deduce template parameter ‘Fp’ - 97 | circuit.add_param_gate(gate::ParamRX(0), "1"); - | ~~~~~~~~~~~~~^~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:98:41: error: no matching function for call to ‘ParamRX(int)’ - 98 | circuit.add_param_gate(gate::ParamRX(0), "0"); - | ~~~~~~~~~~~~~^~~ -In file included from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: candidate: ‘template requires floating_point scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&)’ - 19 | inline ParamGate ParamRX(std::uint64_t target, - | ^~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:19:22: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:98:41: note: couldn’t deduce template parameter ‘Fp’ - 98 | circuit.add_param_gate(gate::ParamRX(0), "0"); - | ~~~~~~~~~~~~~^~~ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: error: class template argument deduction failed: - 99 | StateVector state(1); - | ^ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: error: no matching function for call to ‘StateVector(int)’ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:38:5: note: candidate: ‘template StateVector(const scaluq::StateVector&)-> scaluq::StateVector’ - 38 | StateVector(const StateVector& other) = default; - | ^~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:38:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: note: mismatched types ‘const scaluq::StateVector’ and ‘int’ - 99 | StateVector state(1); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:32:5: note: candidate: ‘template StateVector(uint64_t)-> scaluq::StateVector’ - 32 | StateVector(std::uint64_t n_qubits) - | ^~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:32:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: note: couldn’t deduce template parameter ‘Fp’ - 99 | StateVector state(1); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:31:5: note: candidate: ‘template StateVector()-> scaluq::StateVector’ - 31 | StateVector() = default; - | ^~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:31:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: note: candidate expects 0 arguments, 1 provided - 99 | StateVector state(1); - | ^ -In file included from /workspaces/scaluq/scaluq/circuit/../gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/circuit/circuit.hpp:6, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:20:7: note: candidate: ‘template StateVector(scaluq::StateVector)-> scaluq::StateVector’ - 20 | class StateVector { - | ^~~~~~~~~~~ -/workspaces/scaluq/scaluq/circuit/../gate/../state/state_vector.hpp:20:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:99:24: note: mismatched types ‘scaluq::StateVector’ and ‘int’ - 99 | StateVector state(1); - | ^ -In file included from /usr/include/c++/11/ext/alloc_traits.h:34, - from /usr/include/c++/11/bits/stl_uninitialized.h:64, - from /usr/include/c++/11/memory:66, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRXGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’: -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRXGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:22:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:41:58: required from here -/usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(const scaluq::internal::ParamRXGateImpl*&, long unsigned int&, long unsigned int&, double&)’ - 518 | std::construct_at(__p, std::forward<_Args>(__args)...); - | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/c++/11/bits/stl_iterator.h:85, - from /usr/include/c++/11/bits/stl_algobase.h:67, - from /usr/include/c++/11/memory:63, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’ - 94 | construct_at(_Tp* __location, _Args&&... __args) - | ^~~~~~~~~~~~ -/usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: -/usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’: -/usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRXGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’ -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRXGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:22:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:41:58: required from here -/usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid new-expression of abstract class type ‘scaluq::internal::ParamRXGateImpl’ - 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:12:7: note: because the following virtual functions are pure within ‘scaluq::internal::ParamRXGateImpl’: - 12 | class ParamRXGateImpl : public ParamGateBase { - | ^~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:118:68: note: ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -In file included from /usr/include/c++/11/ext/alloc_traits.h:34, - from /usr/include/c++/11/bits/stl_uninitialized.h:64, - from /usr/include/c++/11/memory:66, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRYGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRYGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’: -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRYGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:29:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRY(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:45:58: required from here -/usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(const scaluq::internal::ParamRYGateImpl*&, long unsigned int&, long unsigned int&, double&)’ - 518 | std::construct_at(__p, std::forward<_Args>(__args)...); - | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/c++/11/bits/stl_iterator.h:85, - from /usr/include/c++/11/bits/stl_algobase.h:67, - from /usr/include/c++/11/memory:63, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’ - 94 | construct_at(_Tp* __location, _Args&&... __args) - | ^~~~~~~~~~~~ -/usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: -/usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’: -/usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRYGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRYGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’ -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRYGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRYGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRYGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:29:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRY(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:45:58: required from here -/usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid new-expression of abstract class type ‘scaluq::internal::ParamRYGateImpl’ - 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:42:7: note: because the following virtual functions are pure within ‘scaluq::internal::ParamRYGateImpl’: - 42 | class ParamRYGateImpl : public ParamGateBase { - | ^~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:118:68: note: ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -In file included from /usr/include/c++/11/ext/alloc_traits.h:34, - from /usr/include/c++/11/bits/stl_uninitialized.h:64, - from /usr/include/c++/11/memory:66, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRZGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRZGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’: -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRZGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:36:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRZ(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:49:58: required from here -/usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(const scaluq::internal::ParamRZGateImpl*&, long unsigned int&, long unsigned int&, double&)’ - 518 | std::construct_at(__p, std::forward<_Args>(__args)...); - | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/c++/11/bits/stl_iterator.h:85, - from /usr/include/c++/11/bits/stl_algobase.h:67, - from /usr/include/c++/11/memory:63, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:1: -/usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’ - 94 | construct_at(_Tp* __location, _Args&&... __args) - | ^~~~~~~~~~~~ -/usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: -/usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’: -/usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRZGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRZGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’ -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRZGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRZGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRZGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:36:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRZ(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/circuit/param_circuit_test.cpp:49:58: required from here -/usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid new-expression of abstract class type ‘scaluq::internal::ParamRZGateImpl’ - 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:71:7: note: because the following virtual functions are pure within ‘scaluq::internal::ParamRZGateImpl’: - 71 | class ParamRZGateImpl : public ParamGateBase { - | ^~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/circuit/circuit.hpp:7, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:3: -/workspaces/scaluq/scaluq/circuit/../gate/param_gate.hpp:118:68: note: ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/circuit/param_circuit_test.cpp:5: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In instantiation of ‘std::string scaluq::internal::ParamRZGateImpl::to_string(const string&) const [with Fp = double; std::string = std::__cxx11::basic_string]’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:91:17: required from here -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:94:39: error: ‘get_qubit_info_as_string’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - 94 | ss << get_qubit_info_as_string(indent); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:94:39: note: declarations in dependent base ‘scaluq::internal::ParamGateBase’ are not found by unqualified lookup -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:94:39: note: use ‘this->get_qubit_info_as_string’ instead -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In instantiation of ‘std::string scaluq::internal::ParamRXGateImpl::to_string(const string&) const [with Fp = double; std::string = std::__cxx11::basic_string]’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:33:17: required from here -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: error: ‘get_qubit_info_as_string’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - 36 | ss << get_qubit_info_as_string(indent); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: note: declarations in dependent base ‘scaluq::internal::ParamGateBase’ are not found by unqualified lookup -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: note: use ‘this->get_qubit_info_as_string’ instead -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In instantiation of ‘std::string scaluq::internal::ParamRYGateImpl::to_string(const string&) const [with Fp = double; std::string = std::__cxx11::basic_string]’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:62:17: required from here -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:65:39: error: ‘get_qubit_info_as_string’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - 65 | ss << get_qubit_info_as_string(indent); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:65:39: note: declarations in dependent base ‘scaluq::internal::ParamGateBase’ are not found by unqualified lookup -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:65:39: note: use ‘this->get_qubit_info_as_string’ instead -[2/5] Building CXX object tests/CMakeFiles/scaluq_test.dir/circuit/circuit_test.cpp.o -FAILED: tests/CMakeFiles/scaluq_test.dir/circuit/circuit_test.cpp.o -/usr/bin/g++ -DKOKKOS_DEPENDENCE -DOPENMP -I/workspaces/scaluq/scaluq -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src/../../tpls/desul/include -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/eigen_fetch-src -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest -O3 -DNDEBUG -std=gnu++20 -Wall -Wextra -Wunused-parameter -Wsign-compare -Wtype-limits -Wuninitialized -pthread -fopenmp -O3 -fopenmp -MD -MT tests/CMakeFiles/scaluq_test.dir/circuit/circuit_test.cpp.o -MF tests/CMakeFiles/scaluq_test.dir/circuit/circuit_test.cpp.o.d -o tests/CMakeFiles/scaluq_test.dir/circuit/circuit_test.cpp.o -c /workspaces/scaluq/tests/circuit/circuit_test.cpp -/workspaces/scaluq/tests/circuit/circuit_test.cpp: In member function ‘virtual void CircuitTest_CircuitBasic_Test::TestBody()’: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:23:25: error: ‘template requires floating_point class scaluq::StateVector’ used without template arguments - 23 | StateVector state = StateVector::Haar_random_state(n); - | ^~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:29:22: error: class template argument deduction failed: - 29 | Circuit circuit(n); - | ^ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:29:22: error: no matching function for call to ‘Circuit(const uint64_t&)’ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:1: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: candidate: ‘template Circuit(uint64_t)-> scaluq::Circuit’ - 16 | explicit Circuit(std::uint64_t n_qubits) : _n_qubits(n_qubits) {} - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:29:22: note: couldn’t deduce template parameter ‘Fp’ - 29 | Circuit circuit(n); - | ^ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:1: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: candidate: ‘template Circuit(scaluq::Circuit)-> scaluq::Circuit’ - 13 | class Circuit { - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:29:22: note: mismatched types ‘scaluq::Circuit’ and ‘long unsigned int’ - 29 | Circuit circuit(n); - | ^ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:35:29: error: no matching function for call to ‘X(uint64_t&)’ - 35 | circuit.add_gate(gate::X(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:30:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::X(uint64_t, const std::vector&)’ - 30 | inline Gate X(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:30:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:35:29: note: couldn’t deduce template parameter ‘Fp’ - 35 | circuit.add_gate(gate::X(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:39:29: error: no matching function for call to ‘Y(uint64_t&)’ - 39 | circuit.add_gate(gate::Y(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:35:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Y(uint64_t, const std::vector&)’ - 35 | inline Gate Y(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:35:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:39:29: note: couldn’t deduce template parameter ‘Fp’ - 39 | circuit.add_gate(gate::Y(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:43:29: error: no matching function for call to ‘Z(uint64_t&)’ - 43 | circuit.add_gate(gate::Z(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:40:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Z(uint64_t, const std::vector&)’ - 40 | inline Gate Z(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:40:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:43:29: note: couldn’t deduce template parameter ‘Fp’ - 43 | circuit.add_gate(gate::Z(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:47:29: error: no matching function for call to ‘H(uint64_t&)’ - 47 | circuit.add_gate(gate::H(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:45:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::H(uint64_t, const std::vector&)’ - 45 | inline Gate H(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:45:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:47:29: note: couldn’t deduce template parameter ‘Fp’ - 47 | circuit.add_gate(gate::H(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:51:29: error: no matching function for call to ‘S(uint64_t&)’ - 51 | circuit.add_gate(gate::S(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:50:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::S(uint64_t, const std::vector&)’ - 50 | inline Gate S(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:50:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:51:29: note: couldn’t deduce template parameter ‘Fp’ - 51 | circuit.add_gate(gate::S(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:55:32: error: no matching function for call to ‘Sdag(uint64_t&)’ - 55 | circuit.add_gate(gate::Sdag(target)); - | ~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:55:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Sdag(uint64_t, const std::vector&)’ - 55 | inline Gate Sdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:55:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:55:32: note: couldn’t deduce template parameter ‘Fp’ - 55 | circuit.add_gate(gate::Sdag(target)); - | ~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:60:29: error: no matching function for call to ‘T(uint64_t&)’ - 60 | circuit.add_gate(gate::T(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:60:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::T(uint64_t, const std::vector&)’ - 60 | inline Gate T(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:60:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:60:29: note: couldn’t deduce template parameter ‘Fp’ - 60 | circuit.add_gate(gate::T(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:64:32: error: no matching function for call to ‘Tdag(uint64_t&)’ - 64 | circuit.add_gate(gate::Tdag(target)); - | ~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:65:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Tdag(uint64_t, const std::vector&)’ - 65 | inline Gate Tdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:65:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:64:32: note: couldn’t deduce template parameter ‘Fp’ - 64 | circuit.add_gate(gate::Tdag(target)); - | ~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:69:33: error: no matching function for call to ‘SqrtX(uint64_t&)’ - 69 | circuit.add_gate(gate::SqrtX(target)); - | ~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:70:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtX(uint64_t, const std::vector&)’ - 70 | inline Gate SqrtX(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:70:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:69:33: note: couldn’t deduce template parameter ‘Fp’ - 69 | circuit.add_gate(gate::SqrtX(target)); - | ~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:73:36: error: no matching function for call to ‘SqrtXdag(uint64_t&)’ - 73 | circuit.add_gate(gate::SqrtXdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:75:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtXdag(uint64_t, const std::vector&)’ - 75 | inline Gate SqrtXdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:75:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:73:36: note: couldn’t deduce template parameter ‘Fp’ - 73 | circuit.add_gate(gate::SqrtXdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:78:33: error: no matching function for call to ‘SqrtY(uint64_t&)’ - 78 | circuit.add_gate(gate::SqrtY(target)); - | ~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:80:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtY(uint64_t, const std::vector&)’ - 80 | inline Gate SqrtY(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:80:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:78:33: note: couldn’t deduce template parameter ‘Fp’ - 78 | circuit.add_gate(gate::SqrtY(target)); - | ~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:82:36: error: no matching function for call to ‘SqrtYdag(uint64_t&)’ - 82 | circuit.add_gate(gate::SqrtYdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:85:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtYdag(uint64_t, const std::vector&)’ - 85 | inline Gate SqrtYdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:85:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:82:36: note: couldn’t deduce template parameter ‘Fp’ - 82 | circuit.add_gate(gate::SqrtYdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:87:30: error: no matching function for call to ‘P0(uint64_t&)’ - 87 | circuit.add_gate(gate::P0(target)); - | ~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:90:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::P0(uint64_t, const std::vector&)’ - 90 | inline Gate P0(std::uint64_t target, const std::vector& controls = {}) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:90:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:87:30: note: couldn’t deduce template parameter ‘Fp’ - 87 | circuit.add_gate(gate::P0(target)); - | ~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:91:30: error: no matching function for call to ‘P1(uint64_t&)’ - 91 | circuit.add_gate(gate::P1(target)); - | ~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:95:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::P1(uint64_t, const std::vector&)’ - 95 | inline Gate P1(std::uint64_t target, const std::vector& controls = {}) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:95:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:91:30: note: couldn’t deduce template parameter ‘Fp’ - 91 | circuit.add_gate(gate::P1(target)); - | ~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:112:30: error: no matching function for call to ‘CX(uint64_t&, uint64_t&)’ - 112 | circuit.add_gate(gate::CX(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CX(uint64_t, uint64_t)’ - 152 | inline Gate CX(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:112:30: note: couldn’t deduce template parameter ‘Fp’ - 112 | circuit.add_gate(gate::CX(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:118:30: error: no matching function for call to ‘CZ(uint64_t&, uint64_t&)’ - 118 | circuit.add_gate(gate::CZ(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:159:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CZ(uint64_t, uint64_t)’ - 159 | inline Gate CZ(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:159:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:118:30: note: couldn’t deduce template parameter ‘Fp’ - 118 | circuit.add_gate(gate::CZ(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:124:32: error: no matching function for call to ‘Swap(uint64_t&, uint64_t&)’ - 124 | circuit.add_gate(gate::Swap(target, target_sub)); - | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:173:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Swap(uint64_t, uint64_t, const std::vector&)’ - 173 | inline Gate Swap(std::uint64_t target1, - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:173:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:124:32: note: couldn’t deduce template parameter ‘Fp’ - 124 | circuit.add_gate(gate::Swap(target, target_sub)); - | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:132:30: error: no matching function for call to ‘U2(uint64_t&, int, const double&)’ - 132 | circuit.add_gate(gate::U2(target, 0, std::numbers::pi)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:128:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::U2(uint64_t, Fp, Fp, const std::vector&)’ - 128 | inline Gate U2(std::uint64_t target, - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:128:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:132:30: note: deduced conflicting types for parameter ‘Fp’ (‘int’ and ‘double’) - 132 | circuit.add_gate(gate::U2(target, 0, std::numbers::pi)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:137:30: error: no matching function for call to ‘U3(uint64_t&, double, int, int)’ - 137 | circuit.add_gate(gate::U3(target, -angle, 0, 0)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:136:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::U3(uint64_t, Fp, Fp, Fp, const std::vector&)’ - 136 | inline Gate U3(std::uint64_t target, - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:136:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:137:30: note: deduced conflicting types for parameter ‘Fp’ (‘double’ and ‘int’) - 137 | circuit.add_gate(gate::U3(target, -angle, 0, 0)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp: In member function ‘virtual void CircuitTest_CircuitRev_Test::TestBody()’: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:173:25: error: ‘template requires floating_point class scaluq::StateVector’ used without template arguments - 173 | StateVector state = StateVector::Haar_random_state(n); - | ^~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:178:22: error: class template argument deduction failed: - 178 | Circuit circuit(n); - | ^ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:178:22: error: no matching function for call to ‘Circuit(const uint64_t&)’ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:1: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: candidate: ‘template Circuit(uint64_t)-> scaluq::Circuit’ - 16 | explicit Circuit(std::uint64_t n_qubits) : _n_qubits(n_qubits) {} - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:16:14: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:178:22: note: couldn’t deduce template parameter ‘Fp’ - 178 | Circuit circuit(n); - | ^ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:1: -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: candidate: ‘template Circuit(scaluq::Circuit)-> scaluq::Circuit’ - 13 | class Circuit { - | ^~~~~~~ -/workspaces/scaluq/scaluq/circuit/circuit.hpp:13:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:178:22: note: mismatched types ‘scaluq::Circuit’ and ‘long unsigned int’ - 178 | Circuit circuit(n); - | ^ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:183:29: error: no matching function for call to ‘X(uint64_t&)’ - 183 | circuit.add_gate(gate::X(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:30:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::X(uint64_t, const std::vector&)’ - 30 | inline Gate X(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:30:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:183:29: note: couldn’t deduce template parameter ‘Fp’ - 183 | circuit.add_gate(gate::X(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:186:29: error: no matching function for call to ‘Y(uint64_t&)’ - 186 | circuit.add_gate(gate::Y(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:35:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Y(uint64_t, const std::vector&)’ - 35 | inline Gate Y(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:35:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:186:29: note: couldn’t deduce template parameter ‘Fp’ - 186 | circuit.add_gate(gate::Y(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:189:29: error: no matching function for call to ‘Z(uint64_t&)’ - 189 | circuit.add_gate(gate::Z(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:40:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Z(uint64_t, const std::vector&)’ - 40 | inline Gate Z(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:40:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:189:29: note: couldn’t deduce template parameter ‘Fp’ - 189 | circuit.add_gate(gate::Z(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:192:29: error: no matching function for call to ‘H(uint64_t&)’ - 192 | circuit.add_gate(gate::H(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:45:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::H(uint64_t, const std::vector&)’ - 45 | inline Gate H(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:45:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:192:29: note: couldn’t deduce template parameter ‘Fp’ - 192 | circuit.add_gate(gate::H(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:195:29: error: no matching function for call to ‘S(uint64_t&)’ - 195 | circuit.add_gate(gate::S(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:50:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::S(uint64_t, const std::vector&)’ - 50 | inline Gate S(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:50:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:195:29: note: couldn’t deduce template parameter ‘Fp’ - 195 | circuit.add_gate(gate::S(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:198:32: error: no matching function for call to ‘Sdag(uint64_t&)’ - 198 | circuit.add_gate(gate::Sdag(target)); - | ~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:55:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Sdag(uint64_t, const std::vector&)’ - 55 | inline Gate Sdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:55:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:198:32: note: couldn’t deduce template parameter ‘Fp’ - 198 | circuit.add_gate(gate::Sdag(target)); - | ~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:201:29: error: no matching function for call to ‘T(uint64_t&)’ - 201 | circuit.add_gate(gate::T(target)); - | ~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:60:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::T(uint64_t, const std::vector&)’ - 60 | inline Gate T(std::uint64_t target, const std::vector& controls = {}) { - | ^ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:60:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:201:29: note: couldn’t deduce template parameter ‘Fp’ - 201 | circuit.add_gate(gate::T(target)); - | ~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:204:32: error: no matching function for call to ‘Tdag(uint64_t&)’ - 204 | circuit.add_gate(gate::Tdag(target)); - | ~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:65:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Tdag(uint64_t, const std::vector&)’ - 65 | inline Gate Tdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:65:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:204:32: note: couldn’t deduce template parameter ‘Fp’ - 204 | circuit.add_gate(gate::Tdag(target)); - | ~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:207:33: error: no matching function for call to ‘SqrtX(uint64_t&)’ - 207 | circuit.add_gate(gate::SqrtX(target)); - | ~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:70:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtX(uint64_t, const std::vector&)’ - 70 | inline Gate SqrtX(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:70:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:207:33: note: couldn’t deduce template parameter ‘Fp’ - 207 | circuit.add_gate(gate::SqrtX(target)); - | ~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:210:36: error: no matching function for call to ‘SqrtXdag(uint64_t&)’ - 210 | circuit.add_gate(gate::SqrtXdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:75:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtXdag(uint64_t, const std::vector&)’ - 75 | inline Gate SqrtXdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:75:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:210:36: note: couldn’t deduce template parameter ‘Fp’ - 210 | circuit.add_gate(gate::SqrtXdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:213:33: error: no matching function for call to ‘SqrtY(uint64_t&)’ - 213 | circuit.add_gate(gate::SqrtY(target)); - | ~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:80:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtY(uint64_t, const std::vector&)’ - 80 | inline Gate SqrtY(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:80:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:213:33: note: couldn’t deduce template parameter ‘Fp’ - 213 | circuit.add_gate(gate::SqrtY(target)); - | ~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:216:36: error: no matching function for call to ‘SqrtYdag(uint64_t&)’ - 216 | circuit.add_gate(gate::SqrtYdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:85:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::SqrtYdag(uint64_t, const std::vector&)’ - 85 | inline Gate SqrtYdag(std::uint64_t target, const std::vector& controls = {}) { - | ^~~~~~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:85:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:216:36: note: couldn’t deduce template parameter ‘Fp’ - 216 | circuit.add_gate(gate::SqrtYdag(target)); - | ~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:233:30: error: no matching function for call to ‘CX(uint64_t&, uint64_t&)’ - 233 | circuit.add_gate(gate::CX(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CX(uint64_t, uint64_t)’ - 152 | inline Gate CX(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:152:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:233:30: note: couldn’t deduce template parameter ‘Fp’ - 233 | circuit.add_gate(gate::CX(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:238:30: error: no matching function for call to ‘CZ(uint64_t&, uint64_t&)’ - 238 | circuit.add_gate(gate::CZ(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:159:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::CZ(uint64_t, uint64_t)’ - 159 | inline Gate CZ(std::uint64_t control, std::uint64_t target) { - | ^~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:159:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:238:30: note: couldn’t deduce template parameter ‘Fp’ - 238 | circuit.add_gate(gate::CZ(target, target_sub)); - | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/circuit/circuit_test.cpp:243:32: error: no matching function for call to ‘Swap(uint64_t&, uint64_t&)’ - 243 | circuit.add_gate(gate::Swap(target, target_sub)); - | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/tests/circuit/circuit_test.cpp:9: -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:173:17: note: candidate: ‘template requires floating_point scaluq::Gate scaluq::gate::Swap(uint64_t, uint64_t, const std::vector&)’ - 173 | inline Gate Swap(std::uint64_t target1, - | ^~~~ -/workspaces/scaluq/scaluq/gate/gate_factory.hpp:173:17: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/circuit/circuit_test.cpp:243:32: note: couldn’t deduce template parameter ‘Fp’ - 243 | circuit.add_gate(gate::Swap(target, target_sub)); - | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ -[3/5] Building CXX object tests/CMakeFiles/scaluq_test.dir/gate/param_gate_test.cpp.o -FAILED: tests/CMakeFiles/scaluq_test.dir/gate/param_gate_test.cpp.o -/usr/bin/g++ -DKOKKOS_DEPENDENCE -DOPENMP -I/workspaces/scaluq/scaluq -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/core/src/../../tpls/desul/include -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/containers/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/algorithms/src -I/workspaces/scaluq/build/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/kokkos_fetch-src/simd/src -I/workspaces/scaluq/build/_deps/eigen_fetch-src -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include -isystem /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest -O3 -DNDEBUG -std=gnu++20 -Wall -Wextra -Wunused-parameter -Wsign-compare -Wtype-limits -Wuninitialized -pthread -fopenmp -O3 -fopenmp -MD -MT tests/CMakeFiles/scaluq_test.dir/gate/param_gate_test.cpp.o -MF tests/CMakeFiles/scaluq_test.dir/gate/param_gate_test.cpp.o.d -o tests/CMakeFiles/scaluq_test.dir/gate/param_gate_test.cpp.o -c /workspaces/scaluq/tests/gate/param_gate_test.cpp -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In constructor ‘scaluq::internal::ParamPauliRotationGateImpl::ParamPauliRotationGateImpl(uint64_t, const scaluq::PauliOperator&, Fp)’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:20:11: error: class ‘scaluq::internal::ParamPauliRotationGateImpl’ does not have any field named ‘ParamGateBase’ - 20 | : ParamGateBase(vector_to_mask(pauli.target_qubit_list()), control_mask, param_coef), - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘scaluq::ParamGate scaluq::internal::ParamPauliRotationGateImpl::get_inverse() const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:28:13: error: ‘_control_mask’ was not declared in this scope - 28 | _control_mask, _pauli, -_pcoef); - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:28:37: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 28 | _control_mask, _pauli, -_pcoef); - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘scaluq::internal::ComplexMatrix scaluq::internal::ParamPauliRotationGateImpl::get_matrix(Fp) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:31:20: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 31 | Fp angle = _pcoef * param; - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘void scaluq::internal::ParamPauliRotationGateImpl::update_quantum_state(scaluq::StateVector&, Fp) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:42:30: error: ‘_control_mask’ was not declared in this scope - 42 | apply_pauli_rotation(_control_mask, - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:46:30: error: ‘_pcoef’ was not declared in this scope; did you mean ‘__cosf’? - 46 | _pcoef * param, - | ^~~~~~ - | __cosf -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In member function ‘std::string scaluq::internal::ParamPauliRotationGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:52:25: error: there are no arguments to ‘control_qubit_list’ that depend on a template parameter, so a declaration of ‘control_qubit_list’ must be available [-fpermissive] - 52 | auto controls = control_qubit_list(); - | ^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:52:25: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 13 | using EitherGate = std::variant; - | ^ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:52: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:13:29: error: ‘’ in namespace ‘std’ does not name a type - 13 | using EitherGate = std::variant; - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:17: error: ‘EitherGate’ was not declared in this scope - 16 | std::vector _gate_list; - | ^~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:27: error: template argument 1 is invalid - 16 | std::vector _gate_list; - | ^ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:27: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:16:10: error: ‘’ in namespace ‘std’ does not name a type - 16 | std::vector _gate_list; - | ^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 20 | const std::vector>& gate_list) - | ^~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:68: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:77: error: template argument 1 is invalid - 20 | const std::vector>& gate_list) - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:77: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:20:42: error: ‘’ in namespace ‘std’ does not name a type - 20 | const std::vector>& gate_list) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: note: expected a type, got ‘Gate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: error: type/value mismatch at argument 1 in template parameter list for ‘template class std::variant’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:42: note: expected a type, got ‘ParamGate’ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:51: error: template argument 1 is invalid - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:51: error: template argument 2 is invalid -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:36:16: error: ‘’ in namespace ‘std’ does not name a type - 36 | const std::vector>& gate_list() const { return _gate_list; } - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:70:15: error: deduced class type ‘ParamGate’ in function return type - 70 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:31: error: template placeholder type ‘StateVector<...auto...>’ must be followed by a simple declarator-id - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/gate.hpp:3, - from /workspaces/scaluq/scaluq/gate/gate_matrix.hpp:7, - from /workspaces/scaluq/scaluq/gate/gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:3: -/workspaces/scaluq/scaluq/gate/../state/state_vector.hpp:20:7: note: ‘template requires floating_point class scaluq::StateVector’ declared here - 20 | class StateVector { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:56: error: expected ‘)’ before ‘,’ token - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ~ ^ - | ) -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:58: error: variable or field ‘Fp’ declared void - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:58: error: expected ‘;’ at end of member declaration - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~ - | ; -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:85:61: error: ‘param’ does not name a type - 85 | void update_quantum_state(StateVector& state_vector, Fp param) const override { - | ^~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: In constructor ‘scaluq::internal::ParamProbablisticGateImpl::ParamProbablisticGateImpl(const std::vector&, const int&)’: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:21:11: error: class ‘scaluq::internal::ParamProbablisticGateImpl’ does not have any field named ‘ParamGateBase’ - 21 | : ParamGateBase(0, 0), _distribution(distribution), _gate_list(gate_list) { - | ^~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:21:61: error: class ‘scaluq::internal::ParamProbablisticGateImpl’ does not have any field named ‘_gate_list’ - 21 | : ParamGateBase(0, 0), _distribution(distribution), _gate_list(gate_list) { - | ^~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:26:28: error: request for member ‘size’ in ‘gate_list’, which is of non-class type ‘const int’ - 26 | if (n != gate_list.size()) { - | ^~~~ -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: In member function ‘std::string scaluq::internal::ParamProbablisticGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:111:17: error: there are no arguments to ‘gate_list’ that depend on a template parameter, so a declaration of ‘gate_list’ must be available [-fpermissive] - 111 | gate_list()[i]); - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:16:15: error: deduced class type ‘ParamGate’ in function return type - 16 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRXGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 36 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:46:15: error: deduced class type ‘ParamGate’ in function return type - 46 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRYGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:65:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 65 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: At global scope: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:75:15: error: deduced class type ‘ParamGate’ in function return type - 75 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:196:7: note: ‘template requires floating_point using ParamGate = scaluq::internal::ParamGatePtr >’ declared here - 196 | using ParamGate = internal::ParamGatePtr>; - | ^~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In member function ‘std::string scaluq::internal::ParamRZGateImpl::to_string(const string&) const’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:94:15: error: there are no arguments to ‘get_qubit_info_as_string’ that depend on a template parameter, so a declaration of ‘get_qubit_info_as_string’ must be available [-fpermissive] - 94 | ss << get_qubit_info_as_string(indent); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp: In function ‘void test_apply_parametric_single_pauli_rotation(uint64_t, FactoryFixed, FactoryParametric)’: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: error: class template argument deduction failed: - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: error: no matching function for call to ‘ParamGatePtr(std::shared_ptr >)’ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:130:7: note: candidate: ‘template ParamGatePtr(scaluq::internal::ParamGatePtr >)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >)’ - 130 | class ParamGatePtr { - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:130:7: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: note: ‘std::shared_ptr >’ is not derived from ‘scaluq::internal::ParamGatePtr >’ - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:141:5: note: candidate: ‘template ParamGatePtr()-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >)’ - 141 | ParamGatePtr() : _param_gate_ptr(nullptr), _param_gate_type(get_param_gate_type()) {} - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:141:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: note: candidate expects 0 arguments, 1 provided - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:142:5: note: candidate: ‘template ParamGatePtr(const scaluq::internal::ParamGatePtr >&)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >)’ - 142 | ParamGatePtr(const ParamGatePtr& param_gate) = default; - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:142:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: note: ‘std::shared_ptr >’ is not derived from ‘const scaluq::internal::ParamGatePtr >’ - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:144:5: note: candidate: ‘template requires ParamGateImpl ParamGatePtr(const std::shared_ptr&)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >)’ - 144 | ParamGatePtr(const std::shared_ptr& param_gate_ptr) { - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:144:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: note: couldn’t deduce template parameter ‘Fp’ - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:161:5: note: candidate: ‘template requires ParamGateImpl ParamGatePtr(const scaluq::internal::ParamGatePtr&)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >)’ - 161 | ParamGatePtr(const ParamGatePtr& param_gate) { - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:161:5: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:42:50: note: ‘std::shared_ptr >’ is not derived from ‘const scaluq::internal::ParamGatePtr’ - 42 | ParamGate pgate_inv = pgate->get_inverse(); - | ^ -/workspaces/scaluq/tests/gate/param_gate_test.cpp: In function ‘void test_apply_parametric_multi_pauli_rotation(uint64_t)’: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:69:74: error: class template argument deduction failed: - 69 | Gate gate = gate::PauliRotation(pauli, param_coef * param); - | ^ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:69:74: error: call of overloaded ‘GatePtr(scaluq::Gate)’ is ambiguous -In file included from /workspaces/scaluq/scaluq/gate/gate_matrix.hpp:7, - from /workspaces/scaluq/scaluq/gate/gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:3: -/workspaces/scaluq/scaluq/gate/gate.hpp:243:7: note: candidate: ‘GatePtr(scaluq::internal::GatePtr >)-> scaluq::internal::GatePtr > requires __is_same(scaluq::internal::Gate, scaluq::internal::GatePtr >) [with Fp = double]’ - 243 | class GatePtr { - | ^~~~~~~ -/workspaces/scaluq/scaluq/gate/gate.hpp:255:5: note: candidate: ‘GatePtr(const scaluq::internal::GatePtr >&)-> scaluq::internal::GatePtr > requires __is_same(scaluq::internal::Gate, scaluq::internal::GatePtr >) [with Fp = double]’ - 255 | GatePtr(const GatePtr& gate) = default; - | ^~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:70:77: error: class template argument deduction failed: - 70 | ParamGate pgate = gate::ParamPauliRotation(pauli, param_coef); - | ^ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:70:77: error: call of overloaded ‘ParamGatePtr(scaluq::ParamGate)’ is ambiguous -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:130:7: note: candidate: ‘ParamGatePtr(scaluq::internal::ParamGatePtr >)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >) [with Fp = double]’ - 130 | class ParamGatePtr { - | ^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:142:5: note: candidate: ‘ParamGatePtr(const scaluq::internal::ParamGatePtr >&)-> scaluq::internal::ParamGatePtr > requires __is_same(scaluq::internal::ParamGate, scaluq::internal::ParamGatePtr >) [with Fp = double]’ - 142 | ParamGatePtr(const ParamGatePtr& param_gate) = default; - | ^~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp: In function ‘void test_ppauli_control(uint64_t)’: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:176:25: error: qualified-id in declaration before ‘data1’ - 176 | PauliOperator::Data data1, data2; - | ^~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:184:13: error: ‘data1’ was not declared in this scope; did you mean ‘dat’? - 184 | data1.add_single_pauli(i, dat); - | ^~~~~ - | dat -/workspaces/scaluq/tests/gate/param_gate_test.cpp:185:13: error: ‘data2’ was not declared in this scope; did you mean ‘dat’? - 185 | data2.add_single_pauli(i - num_control, dat); - | ^~~~~ - | dat -/workspaces/scaluq/tests/gate/param_gate_test.cpp:193:59: error: ‘data1’ was not declared in this scope - 193 | ParamGate g1 = gate::ParamPauliRotation(PauliOperator(data1), 1., controls); - | ^~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:194:59: error: ‘data2’ was not declared in this scope - 194 | ParamGate g2 = gate::ParamPauliRotation(PauliOperator(data2), 1., {}); - | ^~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp: In member function ‘virtual void ParamGateTest_Control_Test::TestBody()’: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:201:36: error: no matching function for call to ‘test_param_rotation_control(, uint64_t&)’ - 201 | test_param_rotation_control(gate::ParamRX, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: candidate: ‘template void test_param_rotation_control(Factory, uint64_t)’ - 151 | void test_param_rotation_control(Factory factory, std::uint64_t n) { - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:201:36: note: couldn’t deduce template parameter ‘Factory’ - 201 | test_param_rotation_control(gate::ParamRX, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:202:36: error: no matching function for call to ‘test_param_rotation_control(, uint64_t&)’ - 202 | test_param_rotation_control(gate::ParamRY, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: candidate: ‘template void test_param_rotation_control(Factory, uint64_t)’ - 151 | void test_param_rotation_control(Factory factory, std::uint64_t n) { - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:202:36: note: couldn’t deduce template parameter ‘Factory’ - 202 | test_param_rotation_control(gate::ParamRY, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:203:36: error: no matching function for call to ‘test_param_rotation_control(, uint64_t&)’ - 203 | test_param_rotation_control(gate::ParamRZ, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: candidate: ‘template void test_param_rotation_control(Factory, uint64_t)’ - 151 | void test_param_rotation_control(Factory factory, std::uint64_t n) { - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:151:6: note: template argument deduction/substitution failed: -/workspaces/scaluq/tests/gate/param_gate_test.cpp:203:36: note: couldn’t deduce template parameter ‘Factory’ - 203 | test_param_rotation_control(gate::ParamRZ, n); - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp: In instantiation of ‘class scaluq::internal::ParamPauliRotationGateImpl’: -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:12:38: required by substitution of ‘template requires ParamGateImpl static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamPauliRotationGateImpl; Args = ]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:43:93: required from ‘scaluq::ParamGate scaluq::gate::ParamPauliRotation(const scaluq::PauliOperator&, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >]’ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:70:59: required from here -/workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:26:19: error: invalid covariant return type for ‘scaluq::ParamGate scaluq::internal::ParamPauliRotationGateImpl::get_inverse() const [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >]’ - 26 | ParamGate get_inverse() const override { - | ^~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:118:68: note: overridden function is ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -In file included from /usr/include/c++/11/ext/alloc_traits.h:34, - from /usr/include/c++/11/bits/stl_uninitialized.h:64, - from /usr/include/c++/11/memory:66, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:1: -/usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRXGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’: -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRXGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:22:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:91:48: required from here -/usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(const scaluq::internal::ParamRXGateImpl*&, long unsigned int&, long unsigned int&, double&)’ - 518 | std::construct_at(__p, std::forward<_Args>(__args)...); - | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/c++/11/bits/stl_iterator.h:85, - from /usr/include/c++/11/bits/stl_algobase.h:67, - from /usr/include/c++/11/memory:63, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:1: -/usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’ - 94 | construct_at(_Tp* __location, _Args&&... __args) - | ^~~~~~~~~~~~ -/usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: -/usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’: -/usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = scaluq::internal::ParamRXGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’ -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}; _Tp = const scaluq::internal::ParamRXGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Alloc = std::allocator >; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamRXGateImpl; _Args = {long unsigned int&, long unsigned int&, double&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamRXGateImpl; Args = {long unsigned int, long unsigned int, double}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:22:82: required from ‘scaluq::ParamGate scaluq::gate::ParamRX(uint64_t, Fp, const std::vector&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; uint64_t = long unsigned int]’ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:91:48: required from here -/usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid new-expression of abstract class type ‘scaluq::internal::ParamRXGateImpl’ - 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:12:7: note: because the following virtual functions are pure within ‘scaluq::internal::ParamRXGateImpl’: - 12 | class ParamRXGateImpl : public ParamGateBase { - | ^~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:118:68: note: ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -In file included from /usr/include/c++/11/ext/alloc_traits.h:34, - from /usr/include/c++/11/bits/stl_uninitialized.h:64, - from /usr/include/c++/11/memory:66, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:1: -/usr/include/c++/11/bits/alloc_traits.h: In instantiation of ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamProbablisticGateImpl; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = scaluq::internal::ParamProbablisticGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’: -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamProbablisticGateImpl; Args = {std::vector >, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:50:92: required from ‘scaluq::ParamGate scaluq::gate::ParamProbablistic(const std::vector&, const std::vector, scaluq::ParamGate > >&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; scaluq::Gate = scaluq::internal::GatePtr >]’ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:103:40: required from here -/usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to ‘construct_at(const scaluq::internal::ParamProbablisticGateImpl*&, std::vector&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&)’ - 518 | std::construct_at(__p, std::forward<_Args>(__args)...); - | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/c++/11/bits/stl_iterator.h:85, - from /usr/include/c++/11/bits/stl_algobase.h:67, - from /usr/include/c++/11/memory:63, - from /workspaces/scaluq/build/_deps/googletest_fetch-src/googletest/include/gtest/gtest.h:54, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:1: -/usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)’ - 94 | construct_at(_Tp* __location, _Args&&... __args) - | ^~~~~~~~~~~~ -/usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: -/usr/include/c++/11/bits/stl_construct.h: In substitution of ‘template constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}]’: -/usr/include/c++/11/bits/alloc_traits.h:518:21: required from ‘static constexpr void std::allocator_traits >::construct(std::allocator_traits >::allocator_type&, _Up*, _Args&& ...) [with _Up = const scaluq::internal::ParamProbablisticGateImpl; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = scaluq::internal::ParamProbablisticGateImpl; std::allocator_traits >::allocator_type = std::allocator >]’ -/usr/include/c++/11/bits/shared_ptr_base.h:519:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:650:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr_base.h:1342:14: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ -/usr/include/c++/11/bits/shared_ptr.h:409:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}; _Tp = const scaluq::internal::ParamProbablisticGateImpl]’ -/usr/include/c++/11/bits/shared_ptr.h:862:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Alloc = std::allocator >; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}]’ -/usr/include/c++/11/bits/shared_ptr.h:878:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = const scaluq::internal::ParamProbablisticGateImpl; _Args = {std::vector >&, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >&}]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:13:42: required from ‘static scaluq::ParamGate scaluq::internal::ParamGateFactory::create_gate(Args ...) [with T = scaluq::internal::ParamProbablisticGateImpl; Args = {std::vector >, std::vector >, scaluq::internal::ParamGatePtr > >, std::allocator >, scaluq::internal::ParamGatePtr > > > >}; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; typename T::Fp = double]’ -/workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:50:92: required from ‘scaluq::ParamGate scaluq::gate::ParamProbablistic(const std::vector&, const std::vector, scaluq::ParamGate > >&) [with Fp = double; scaluq::ParamGate = scaluq::internal::ParamGatePtr >; scaluq::Gate = scaluq::internal::GatePtr >]’ -/workspaces/scaluq/tests/gate/param_gate_test.cpp:103:40: required from here -/usr/include/c++/11/bits/stl_construct.h:96:17: error: invalid new-expression of abstract class type ‘scaluq::internal::ParamProbablisticGateImpl’ - 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:12:7: note: because the following virtual functions are pure within ‘scaluq::internal::ParamProbablisticGateImpl’: - 12 | class ParamProbablisticGateImpl : public ParamGateBase { - | ^~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_pauli.hpp:8, - from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate.hpp:118:68: note: ‘std::shared_ptr > scaluq::internal::ParamGateBase::get_inverse() const [with _FloatType = double]’ - 118 | [[nodiscard]] virtual std::shared_ptr> get_inverse() const = 0; - | ^~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate.hpp:121:18: note: ‘void scaluq::internal::ParamGateBase::update_quantum_state(scaluq::StateVector&, double) const [with _FloatType = double]’ - 121 | virtual void update_quantum_state(StateVector& state_vector, double param) const = 0; - | ^~~~~~~~~~~~~~~~~~~~ -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:5, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp: In instantiation of ‘std::string scaluq::internal::ParamRXGateImpl::to_string(const string&) const [with Fp = double; std::string = std::__cxx11::basic_string]’: -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:33:17: required from here -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: error: ‘get_qubit_info_as_string’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] - 36 | ss << get_qubit_info_as_string(indent); - | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: note: declarations in dependent base ‘scaluq::internal::ParamGateBase’ are not found by unqualified lookup -/workspaces/scaluq/scaluq/gate/param_gate_standard.hpp:36:39: note: use ‘this->get_qubit_info_as_string’ instead -In file included from /workspaces/scaluq/scaluq/gate/param_gate_factory.hpp:4, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:4: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp: In instantiation of ‘std::string scaluq::internal::ParamProbablisticGateImpl::to_string(const string&) const [with Fp = double; std::string = std::__cxx11::basic_string]’: -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:100:17: required from here -/workspaces/scaluq/scaluq/gate/param_gate_probablistic.hpp:111:26: error: ‘gate_list’ was not declared in this scope; did you mean ‘va_list’? - 111 | gate_list()[i]); - | ~~~~~~~~~^~ - | va_list -In file included from /workspaces/scaluq/scaluq/gate/gate.hpp:6, - from /workspaces/scaluq/scaluq/gate/gate_matrix.hpp:7, - from /workspaces/scaluq/scaluq/gate/gate_factory.hpp:3, - from /workspaces/scaluq/tests/gate/param_gate_test.cpp:3: -/workspaces/scaluq/scaluq/gate/update_ops.hpp: In instantiation of ‘void scaluq::internal::i_gate(uint64_t, uint64_t, scaluq::StateVector&) [with Fp = double; uint64_t = long unsigned int]’: -/workspaces/scaluq/scaluq/gate/gate_standard.hpp:22:15: required from ‘void scaluq::internal::IGateImpl::update_quantum_state(scaluq::StateVector&) const [with Fp = double]’ -/workspaces/scaluq/scaluq/gate/gate_standard.hpp:21:10: required from here -/workspaces/scaluq/scaluq/gate/update_ops.hpp:91:34: warning: unused parameter ‘target_mask’ [-Wunused-parameter] - 91 | inline void i_gate(std::uint64_t target_mask, std::uint64_t control_mask, StateVector& state) {} - | ~~~~~~~~~~~~~~^~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/update_ops.hpp:91:61: warning: unused parameter ‘control_mask’ [-Wunused-parameter] - 91 | inline void i_gate(std::uint64_t target_mask, std::uint64_t control_mask, StateVector& state) {} - | ~~~~~~~~~~~~~~^~~~~~~~~~~~ -/workspaces/scaluq/scaluq/gate/update_ops.hpp:91:92: warning: unused parameter ‘state’ [-Wunused-parameter] - 91 | inline void i_gate(std::uint64_t target_mask, std::uint64_t control_mask, StateVector& state) {} - | ~~~~~~~~~~~~~~~~~^~~~~ -ninja: build stopped: subcommand failed.