Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 3e339f9

Browse files
authored
Bugfix Update 2.0.1 (#10)
⚡/🍎 all hash functions are refactored so that hashing is platform and standard library independent again (fixing slow performance on macOS) ⚡ improve memory handling by reverting from using stack and forward_list to dedicated next pointers that are pre-allocated with the entries ⚡ only clear compute tables if anything has been collected by the garbage collection ⚡ adjust garbage collection limit depending on the number of remaining entries ⚡ reduce initial garbage collection limits ⚡ introduce additional 1/sqrt(2) static member in complex table ⚡ always check 0, 1/sqrt(2), and 1 first upon accessing the respective buckets in the complex table 🐛 add nullptr checks in reference counting methods ♻️ moved generation of special DDs (e.g., SWAP) from QFR to DD Package 🐛 fix bug in colorFromPhase when a negative phase was encountered 🐛 fix misaligned access on ComplexTable::Entry 🔥 remove unused GC_INCREMENT ✅ allow for some up and downs in code coverage ⚡ complex table hash now rounds instead of truncates the calculated value 🎨 number printing code moved from Complex to ComplexValue 🐧 disable LTO in case clang is used under linux as some versions of the linker under Ubuntu do not work with Clang's ThinLTO
1 parent 6fc1e37 commit 3e339f9

24 files changed

Lines changed: 887 additions & 619 deletions

.clang-format

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,82 @@
11
# Generated from CLion C/C++ Code Style settings
2-
BasedOnStyle: LLVM
3-
AccessModifierOffset: -4
4-
AlignAfterOpenBracket: Align
5-
AlignConsecutiveAssignments: true
6-
AlignConsecutiveDeclarations: true
7-
AlignEscapedNewlines: Left
8-
AlignOperands: AlignAfterOperator
9-
AlignTrailingComments: true
10-
AllowAllArgumentsOnNextLine: true
2+
BasedOnStyle: LLVM
3+
AccessModifierOffset: -4
4+
AlignAfterOpenBracket: Align
5+
AlignConsecutiveAssignments: Consecutive
6+
AlignConsecutiveDeclarations: Consecutive
7+
AlignEscapedNewlines: Left
8+
AlignOperands: AlignAfterOperator
9+
AlignTrailingComments: true
10+
AllowAllArgumentsOnNextLine: true
1111
AllowAllConstructorInitializersOnNextLine: true
1212
AllowAllParametersOfDeclarationOnNextLine: true
13-
AllowShortBlocksOnASingleLine: Empty
14-
AllowShortCaseLabelsOnASingleLine: true
15-
AllowShortEnumsOnASingleLine: true
16-
AllowShortFunctionsOnASingleLine: Inline
17-
AllowShortIfStatementsOnASingleLine: WithoutElse
18-
AllowShortLambdasOnASingleLine: All
19-
AllowShortLoopsOnASingleLine: true
20-
AlwaysBreakAfterReturnType: None
21-
AlwaysBreakTemplateDeclarations: Yes
22-
BreakBeforeBraces: Custom
13+
AllowShortBlocksOnASingleLine: Empty
14+
AllowShortCaseLabelsOnASingleLine: true
15+
AllowShortEnumsOnASingleLine: true
16+
AllowShortFunctionsOnASingleLine: Inline
17+
AllowShortIfStatementsOnASingleLine: WithoutElse
18+
AllowShortLambdasOnASingleLine: All
19+
AllowShortLoopsOnASingleLine: true
20+
AlwaysBreakAfterReturnType: None
21+
AlwaysBreakTemplateDeclarations: Yes
22+
BreakBeforeBraces: Custom
2323
BraceWrapping:
24-
AfterCaseLabel: false
25-
AfterClass: false
24+
AfterCaseLabel: false
25+
AfterClass: false
2626
AfterControlStatement: Never
27-
AfterEnum: false
28-
AfterFunction: false
29-
AfterNamespace: false
30-
AfterUnion: false
31-
BeforeCatch: false
32-
BeforeElse: false
33-
IndentBraces: false
34-
SplitEmptyFunction: false
35-
SplitEmptyRecord: false
36-
BreakBeforeBinaryOperators: None
37-
BreakBeforeTernaryOperators: false
38-
BreakConstructorInitializers: AfterColon
39-
BreakInheritanceList: AfterColon
40-
ColumnLimit: 0
41-
CompactNamespaces: false
42-
ContinuationIndentWidth: 8
43-
Cpp11BracedListStyle: true
44-
DeriveLineEnding: true
45-
#EmptyLineBeforeAccessModifier: LogicalBlock
46-
IncludeBlocks: Regroup
47-
IndentCaseBlocks: false
48-
IndentCaseLabels: true
49-
IndentPPDirectives: BeforeHash
50-
IndentWidth: 4
51-
KeepEmptyLinesAtTheStartOfBlocks: false
52-
Language: Cpp
53-
MaxEmptyLinesToKeep: 1
54-
NamespaceIndentation: All
55-
ObjCSpaceAfterProperty: false
56-
ObjCSpaceBeforeProtocolList: true
57-
PointerAlignment: Left
58-
ReflowComments: false
59-
SortIncludes: true
60-
SpaceAfterCStyleCast: false
61-
SpaceAfterLogicalNot: false
62-
SpaceAfterTemplateKeyword: false
63-
SpaceBeforeAssignmentOperators: true
64-
#SpaceBeforeCaseColon: false
65-
SpaceBeforeCpp11BracedList: false
66-
SpaceBeforeCtorInitializerColon: false
67-
SpaceBeforeInheritanceColon: false
68-
SpaceBeforeParens: ControlStatements
69-
SpaceBeforeRangeBasedForLoopColon: false
70-
SpaceBeforeSquareBrackets: false
71-
SpaceInEmptyBlock: false
72-
SpaceInEmptyParentheses: false
73-
SpacesBeforeTrailingComments: 1
74-
SpacesInAngles: false
75-
SpacesInConditionalStatement: false
76-
SpacesInCStyleCastParentheses: false
77-
SpacesInContainerLiterals: false
78-
SpacesInParentheses: false
79-
SpacesInSquareBrackets: false
80-
Standard: c++17
81-
TabWidth: 4
82-
UseTab: Never
27+
AfterEnum: false
28+
AfterFunction: false
29+
AfterNamespace: false
30+
AfterUnion: false
31+
BeforeCatch: false
32+
BeforeElse: false
33+
IndentBraces: false
34+
SplitEmptyFunction: false
35+
SplitEmptyRecord: false
36+
BreakBeforeBinaryOperators: None
37+
BreakBeforeTernaryOperators: false
38+
BreakConstructorInitializers: AfterColon
39+
BreakInheritanceList: AfterColon
40+
ColumnLimit: 0
41+
CompactNamespaces: false
42+
ContinuationIndentWidth: 8
43+
Cpp11BracedListStyle: true
44+
DeriveLineEnding: true
45+
EmptyLineBeforeAccessModifier: LogicalBlock
46+
IncludeBlocks: Regroup
47+
IndentCaseBlocks: false
48+
IndentCaseLabels: true
49+
IndentPPDirectives: BeforeHash
50+
IndentWidth: 4
51+
KeepEmptyLinesAtTheStartOfBlocks: false
52+
Language: Cpp
53+
MaxEmptyLinesToKeep: 1
54+
NamespaceIndentation: All
55+
ObjCSpaceAfterProperty: false
56+
ObjCSpaceBeforeProtocolList: true
57+
PointerAlignment: Left
58+
ReflowComments: false
59+
SortIncludes: true
60+
SpaceAfterCStyleCast: false
61+
SpaceAfterLogicalNot: false
62+
SpaceAfterTemplateKeyword: false
63+
SpaceBeforeAssignmentOperators: true
64+
SpaceBeforeCaseColon: false
65+
SpaceBeforeCpp11BracedList: false
66+
SpaceBeforeCtorInitializerColon: false
67+
SpaceBeforeInheritanceColon: false
68+
SpaceBeforeParens: ControlStatements
69+
SpaceBeforeRangeBasedForLoopColon: false
70+
SpaceBeforeSquareBrackets: false
71+
SpaceInEmptyBlock: false
72+
SpaceInEmptyParentheses: false
73+
SpacesBeforeTrailingComments: 1
74+
SpacesInAngles: false
75+
SpacesInConditionalStatement: false
76+
SpacesInCStyleCastParentheses: false
77+
SpacesInContainerLiterals: false
78+
SpacesInParentheses: false
79+
SpacesInSquareBrackets: false
80+
Standard: c++17
81+
TabWidth: 4
82+
UseTab: Never

.github/codecov.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,12 @@ ignore:
44
- "test/bench_package.cpp"
55

66
coverage:
7-
range: 60..90
7+
range: 60..90
88
precision: 1
9+
status:
10+
project:
11+
default:
12+
threshold: 0.5%
13+
patch:
14+
default:
15+
threshold: 1%

0 commit comments

Comments
 (0)