-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUGFIX.txt
103 lines (79 loc) · 5.22 KB
/
BUGFIX.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
SYMP:
Warning C4251 'PrimeNumberGen::primes': class 'std::vector<uint64_t,std::allocator<uint64_t>>' needs to have dll-interface to be used by clients of class 'PrimeNumberGen'
Error C2491 'PrimeNumberGen::current_prime': definition of dllimport static data member not allowed EuclidConsoleDebugger
SOLU:
uint64_t PrimeNumberGen::current_prime = ... >> uint64_t current_prime = ...
std::vector<uint64_t> PrimeNumberGen::primes = ... >> std::vector<uint64_t> primes = ...
SYMP: EuclidConsoleDebugger.cpp: Unresolved external symbol "public: __cdecl PrimeNumberGen::PrimeNumberGen(void)" (??0PrimeNumberGen@@QEAA@XZ)
SOLU: Congiguration Properties > Configuration Type > Static Library (.lib) >> Congiguration Properties > Configuration Type > Dynamic Library (.dll)
SYMP:
EuclidProverLibDLLDebugConsole.cpp: Unresolved external symbol "public: __cdecl template<BracketType::CurlyBraces> class API_EXPORT EuclidProver
SOLU:
template<BracketType EuclidBracket> class API_EXPORT EuclidProver ... >>
template<> class API_EXPORT EuclidProver<BracketType::CurlyBraces> ...
template<> class API_EXPORT EuclidProver<BracketType::Parentheses> ...
template<> class API_EXPORT EuclidProver<BracketType::SquareBraces> ...
SYMP: Error no overloaded function of Axiom matches the parameter list
SOLU: const std::vector<char>& axiom_0 = { '{', '1', '}','+','{', '1', '}','=','{', '2', '}' }; >>
const std::vector<std::string>& axiom_0 = { "{", "1", "}","+","{", "1", "}","=","{", "2", "}" };
SYMP: Error Initial reference to a nonconst must be an lvalue
SOLU: for (auto& it = str.rbegin(); it != str.rend(); ++it){...} >> for (auto it = str.rbegin(); it != str.rend(); ++it){...}
SYMP: Error: no matching function for call to 'PushAtFront(__x86i64Int&, const __x86i64Int&)'
SOLU:
bool PushAtFront(__x86i64Int& OutVecUInt64Ref, const __x86i64Int& InConstVecUInt64Ref) {...} >>
bool PushAtFront(__x86i64Int& OutVecUInt64Ref, const __x86i64Int& InConstVecUInt64Ref) const {...}
SYMP: Error std::jthread parameter must be invokable, evaluates to false. std::jthread t(Auto, Theorem, Axioms_vec); // Auto(Theorem_Struct& InTheorem, std::vector<Axiom_Struct>& InAxioms_vec);
SOLU:
std::jthread t(Auto, Theorem, Axioms_vec); // Auto(Theorem_Struct InTheorem, std::vector<Axiom_Struct> InAxioms_vec); or
std::jthread t(Auto, std::ref(Theorem), std::ref(Axioms_vec)); // Auto(Theorem_Struct& InTheorem, std::vector<Axiom_Struct>& InAxioms_vec); or
std::jthread t(Auto, std::ref(Theorem), std::cref(Axioms_vec)); // Auto(Theorem_Struct& InTheorem, const std::vector<Axiom_Struct>& InAxioms_vec);
SYMP:
route map collisions:
if(theorem.SubnetFound_LHS(Axiom.LHSPrimaryKey_UInt64)){ Axiom.RHSCallGraph_UInt64Map[theorem.guid] = true; }
if(theorem.SubnetFound_RHS(Axiom.LHSPrimaryKey_UInt64)){ Axiom.RHSCallGraph_UInt64Map[theorem.guid] = true; }
SOLU:
if(theorem.SubnetFound_LHS(Axiom.LHSPrimaryKey_UInt64)){ Axiom.RHSCallGraph_UInt64Map[RouteSource_EnumClass::_lhs][theorem.guid] = true; }
if(theorem.SubnetFound_RHS(Axiom.LHSPrimaryKey_UInt64){ Axiom.RHSCallGraph_UInt64Map[RouteSource_EnumClass::_rhs][theorem.guid] = true; }
SYMP: Error: passing ‘const Axiom_Struct’ argument discards qualifiers [-fpermissive]: Axiom_i.SubnetFound_LHS(Axiom_j.LHSPrimaryKey_UInt64))
SOLU: bool SubnetFound_LHS(const uint64_t& PKeyFind) noexcept >> bool SubnetFound_LHS(const uint64_t& PKeyFind) const noexcept
SYMP: Axiom_0:{ lhs:0, rhs:0}; // Within the for-loop, Axiom_0 is uninitialized
SOLU:
if (_lhs < _rhs)
{
lhs = _rhs;
rhs = _lhs;
}
Axiom_Struct Axiom; >>
if (_lhs < _rhs)
{
lhs = _rhs;
rhs = _lhs;
}
if(GUID < 1)
{
Theorem.guid = GUID++;
Theorem.LHSPrimaryKey_UInt64 = lhs;
Theorem.RHSPrimaryKey_UInt64 = rhs;
continue;
}
Axiom_Struct Axiom;
SYMP:
Error C2908 explicit specialization; 'void Auto<RouteSource_EnumClass::_lhs,Indirection_EnumClass::_reduce>(Theorem_Struct,const Axiom_Struct &,const bool &,const bool &)' has already been instantiated main.cpp Line 1226
Error C2908 explicit specialization; 'void Auto<RouteSource_EnumClass::_lhs,Indirection_EnumClass::_expand>(Theorem_Struct,const Axiom_Struct &,const bool &,const bool &)' has already been instantiated main.cpp Line 1458
SOLU: Specialization Templates do not support non-deterministic template parameters which are specified at runtime. Use a function instead.
SYMP: InAxiomCallGraph_Map["lhs_reduce"][Axiom_i[guid_UInt64]][Axiom_j[guid_UInt64]] == false // ...Proof not found.
SOLU: PopulateAxiomCallGraph : if (Axiom_i[LHS] % Axiom_i[LHS] == 0) {...} >> if (Axiom_i[LHS] % Axiom_jLHS] == 0)
SYMP: Error no matching function for call to ‘construct_at(std::vector >*&, const char*)’
SOLU:
std::vector<
std::vector<
std::string>>
TempAxiomCommitLogStdStrVecRef;
>>
std::vector<
std::string>
TempAxiomCommitLogStdStrVecRef;
SYMP: Arithmetic overflow, recommend casting to a larger type before calling the operator+
SOLU: divide.hpp:555: const double_limb_type two_n_mod = static_cast<limb_type>(1u) + (~static_cast<limb_type>(0u) - mod) % mod; >> const double_limb_type two_n_mod = static_cast<double_limb_type>(1u) + (~static_cast<double_limb_type>(0u) - mod) % mod;
SYMP: queue<>, stack<>, vector<> show poor stack performance
SOLU: recommend using priority_queue<>, deque<> instead.