Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
6032 commits
Select commit Hold shift + click to select a range
30dce5b
more tests
alfC Oct 15, 2025
02bfafe
more tests for index_range
alfC Oct 15, 2025
bf635ee
add tests
alfC Oct 15, 2025
d89d0a5
more tests
alfC Oct 15, 2025
2b77db7
more tests
alfC Oct 15, 2025
d0487fa
mull ignore
alfC Oct 15, 2025
e16ac51
Merge branch 'lazy-array-elements' into 'master'
correaa Oct 15, 2025
ba7986e
Update CI workflow to remove macOS 13
correaa Oct 16, 2025
af19341
add elements to extensions_t
alfC Oct 17, 2025
3b88eab
test lazy arrays in gpus
alfC Oct 17, 2025
32309f5
Merge branch 'add-elements-to-extensions_t' into 'master'
correaa Oct 17, 2025
8ff433c
added taked
correaa Oct 17, 2025
90222a0
remove thrust omp for apple clang
alfC Oct 17, 2025
d999180
add chunked to reference
correaa Oct 18, 2025
e4d1128
unitialized tag
alfC Oct 18, 2025
89b15e7
add par about uninitialized_tag
correaa Oct 18, 2025
d69ae75
Edit tutorial.adoc
correaa Oct 18, 2025
61a6f9f
change name
alfC Oct 18, 2025
ee2105a
Edit tutorial.adoc
correaa Oct 18, 2025
23a105f
Edit tutorial.adoc
correaa Oct 18, 2025
93d4dd0
add valgrind output in a comment
alfC Oct 18, 2025
41ffde3
more valgrind output
alfC Oct 18, 2025
ff5d1b4
Edit tutorial.adoc
correaa Oct 18, 2025
073206f
fix false positive
alfC Oct 18, 2025
d2dd627
comment bug mull
alfC Oct 18, 2025
a4bcf2f
Edit interop.adoc
correaa Oct 18, 2025
189d653
Merge branch 'uninitialized-tag' into 'master'
correaa Oct 18, 2025
05db2fc
ws
alfC Oct 19, 2025
34b38f3
add num_elements
alfC Oct 19, 2025
e8f092e
test extensions ctad
alfC Oct 19, 2025
df9d57a
add dimensionality to restriction
alfC Oct 19, 2025
b7cee47
investigate mull exec
alfC Oct 20, 2025
2840c99
add file apt
alfC Oct 20, 2025
764b8c2
report size
alfC Oct 20, 2025
289ae02
Merge branch 'master' into remove-macos-13
correaa Oct 20, 2025
681783c
disable mull for now
alfC Oct 20, 2025
4764e1c
add note about std::reverse
correaa Oct 21, 2025
a38c6e0
reverse test
alfC Oct 21, 2025
8356d38
Edit interop.adoc
correaa Oct 21, 2025
a16f681
try with no noexcept op--
alfC Oct 21, 2025
296be52
deduce noexcept of op--
alfC Oct 21, 2025
5cf2733
more rev tests
alfC Oct 21, 2025
9779a5d
Merge pull request #97 from correaa/remove-macos-13
correaa Oct 22, 2025
e4dfb80
Merge branch 'add-ranges-reverse-test' into 'master'
correaa Oct 22, 2025
51ea6de
Revert "Merge branch 'add-ranges-reverse-test' into 'master'"
correaa Oct 23, 2025
0092ae0
Merge branch 'revert-e4dfb80c' into 'master'
correaa Oct 23, 2025
d59d2bc
Edit tutorial.adoc
correaa Oct 23, 2025
f1f9ea2
Set allow_failure to false for g++-9-bullseye job in CI configuration
alfC Oct 23, 2025
463ad47
native cmake
alfC Oct 24, 2025
5e419b1
cmake 61
alfC Oct 24, 2025
50b36d7
ci use native
correaa Oct 24, 2025
3061d45
use native in culang + cuda 12.6
correaa Oct 24, 2025
baa9b7f
Edit .gitlab-ci-correaa.yml
correaa Oct 24, 2025
8a1b1f2
more native
correaa Oct 24, 2025
1c1f802
more native
alfC Oct 25, 2025
d5a33f4
wa mull bug
alfC Oct 26, 2025
f53416c
more general prepush
alfC Oct 25, 2025
80324bf
more mull
alfC Oct 26, 2025
2fa0986
native for qmc
alfC Oct 26, 2025
e653a35
if not present policy
alfC Oct 26, 2025
5263e05
fix typo
alfC Oct 26, 2025
c4178f7
cuda arch req
alfC Oct 26, 2025
b5682b2
demand arch75
alfC Oct 26, 2025
40b096d
qmc cuda 12.9
alfC Oct 26, 2025
bb6185f
allow fail cuda qmc
alfC Oct 26, 2025
5afb39b
remove friend
alfC Oct 27, 2025
4529088
more iwyu
alfC Oct 27, 2025
20a2666
Edit default.md
correaa Oct 27, 2025
581da29
Merge branch 'remove-friend-funcs' into 'master'
correaa Oct 28, 2025
a28730a
check rsync for qmc
alfC Oct 28, 2025
a57946c
add rsync
alfC Oct 28, 2025
6ea5b93
ws
alfC Oct 29, 2025
a4e79cb
show compilation command
alfC Oct 29, 2025
e08d793
use git fetch for ci
alfC Oct 29, 2025
0422a3b
extension reversible
alfC Oct 27, 2025
6b4eaff
refactor: clean up includes and improve operator+ for initializer lists
alfC Oct 30, 2025
b0ab966
remove assert
alfC Oct 30, 2025
92dafb8
Merge branch 'reverse4' into 'master'
correaa Oct 30, 2025
6368994
Merge branch 'add-experimental-op-plus' into 'master'
correaa Oct 30, 2025
c948d27
add sizes to extesnions<1>
alfC Nov 2, 2025
8842715
ws
alfC Nov 2, 2025
1f4fade
Merge branch 'reverse5' into 'master'
correaa Nov 3, 2025
189b73e
add iterators to extensions D=1
alfC Nov 3, 2025
0be64c0
begin end
alfC Nov 3, 2025
cc5d526
Merge branch 'reverse5' into 'master'
correaa Nov 3, 2025
1d0553b
extensions D=1 is now bidirectionally reversible
alfC Nov 3, 2025
44b5d17
more tidy
alfC Nov 3, 2025
d2441aa
more nolint
alfC Nov 3, 2025
af341b3
Merge branch 'reverse5' into 'master'
correaa Nov 3, 2025
280e8e7
fix include
alfC Nov 3, 2025
dad05bb
make extensions D=1 random access
alfC Nov 3, 2025
f27316b
random access
alfC Nov 4, 2025
7fa2cfc
more iwyu
alfC Nov 4, 2025
d843dff
even more iwyu
alfC Nov 4, 2025
b558ee7
more iwyu
alfC Nov 4, 2025
e4c470b
more iwyu
alfC Nov 4, 2025
26b4ecc
more iwyu
alfC Nov 4, 2025
e344daa
Merge branch 'master' into 'reverse5'
correaa Nov 4, 2025
97d42a7
Merge branch 'reverse5' into 'master'
correaa Nov 4, 2025
cbd0918
add test reverse op[]
alfC Nov 4, 2025
85dccdf
f_extensions D = 1 is input or output now
alfC Nov 4, 2025
2eb60e8
implementing sentinal of
alfC Nov 4, 2025
05f3b83
make restriction reversible
alfC Nov 4, 2025
538e59e
more iwyu
alfC Nov 5, 2025
bd6aa37
fix partially defined type for nvcc
alfC Nov 5, 2025
6121665
build type = Debug for qmc cuda
correaa Nov 5, 2025
fead60f
Merge branch 'reverse-restriction' into 'master'
correaa Nov 5, 2025
05472ed
Merge branch 'correaa-master-patch-80974' into 'master'
correaa Nov 5, 2025
25bfa86
make extensions nD iterator truly random access
alfC Nov 5, 2025
0bec5f6
more assert
alfC Nov 5, 2025
e00c80f
fix typo
alfC Nov 5, 2025
ff304b0
test std::reverse
alfC Nov 5, 2025
88a8eb0
add nolint
alfC Nov 5, 2025
7e2f6a8
Merge branch 'make-extensions-nD-reversible' into 'master'
correaa Nov 6, 2025
dd7693e
make iterators trivial
alfC Nov 6, 2025
584f43d
more explicit types
alfC Nov 6, 2025
0b32555
Merge branch 'make-extensions-iterator-trivially-constructible' into …
correaa Nov 6, 2025
2c7030c
add test
alfC Nov 6, 2025
e7c5f4e
make begin and end work on restrictions of nD
alfC Nov 6, 2025
f5e70d3
rename bind first
alfC Nov 6, 2025
3717fa8
fix paren
alfC Nov 6, 2025
cd17bf2
Merge branch 'make-fextnD-reversible' into 'master'
correaa Nov 6, 2025
36f612c
add enable range
alfC Nov 6, 2025
b4bb243
improve pr message
alfC Nov 6, 2025
462d6ba
more lint
alfC Nov 6, 2025
2dbabd3
nolint prevernt odr
alfC Nov 6, 2025
96c97c6
better no execpt
alfC Nov 6, 2025
d795e42
has_include for clang10
alfC Nov 6, 2025
154c732
more cppcheck
alfC Nov 6, 2025
49cf460
more ranges tests
alfC Nov 6, 2025
e10b882
Merge branch 'add-test-restriction-rev' into 'master'
correaa Nov 6, 2025
e5763bb
more range tests
alfC Nov 7, 2025
dac542f
Merge branch 'more-cppcheck-fextnD' into 'master'
correaa Nov 7, 2025
7e76fdb
Merge branch 'master' into 'more-ranges-test'
correaa Nov 7, 2025
6d36599
prepare transposed f_array
alfC Nov 7, 2025
0dc3a85
enable_borrowed_range
alfC Nov 7, 2025
527778b
fix type
alfC Nov 7, 2025
bb02d51
fix borrowed range
alfC Nov 7, 2025
920906f
fix for nvcc
alfC Nov 7, 2025
b12c7b9
simplify ifdef
alfC Nov 7, 2025
2d72735
ws
alfC Nov 7, 2025
89409ca
vs2019 test
correaa Nov 7, 2025
4b42546
nolint
alfC Nov 7, 2025
cce859c
more lint
alfC Nov 7, 2025
8bc0f77
fix sean
alfC Nov 7, 2025
d54c083
distance glitch
alfC Nov 7, 2025
3225143
revert some const&
alfC Nov 7, 2025
ae74a2f
eliminate trivial adl_distance
alfC Nov 7, 2025
1ed296d
do some test even if there is no ranges
alfC Nov 7, 2025
389c800
ws
alfC Nov 7, 2025
e3df281
fix conversion
alfC Nov 7, 2025
bead4f2
nolint
alfC Nov 7, 2025
2b2dee6
Merge branch 'more-ranges-test' into 'master'
correaa Nov 8, 2025
a08fbb4
print path
alfC Nov 8, 2025
65f46c5
add partitioned
alfC Nov 8, 2025
76f4a8e
add maxes
alfC Nov 8, 2025
4a9c394
more tidy
alfC Nov 8, 2025
50bbda9
add elements_Transformed
alfC Nov 8, 2025
1308056
use fold
alfC Nov 8, 2025
9cf4685
comment test float
alfC Nov 8, 2025
2afef70
unused header
alfC Nov 8, 2025
b62d9be
add traits header
alfC Nov 8, 2025
a337e4a
headers again
alfC Nov 8, 2025
d71e1b0
ws
alfC Nov 8, 2025
8273f6f
remove some commented friends
alfC Nov 8, 2025
df14c02
more lint
alfC Nov 8, 2025
08641fd
fix headers
alfC Nov 9, 2025
2242252
fix headers
alfC Nov 9, 2025
3e40ae5
fix header
alfC Nov 9, 2025
98bbc7b
fix cmake command vs2022 cmake
alfC Nov 9, 2025
7ec7af5
Merge branch 'connor' into 'master'
correaa Nov 9, 2025
3604860
more layout operations
alfC Nov 9, 2025
9ea537d
Merge branch 'add-reversed' into 'master'
correaa Nov 9, 2025
3806f9c
add value_type to lazy array
alfC Nov 9, 2025
1a48eb3
Merge branch 'add-reversed' into 'master'
correaa Nov 9, 2025
2433590
add sentinel
alfC Nov 10, 2025
77c8842
tidy fixes
alfC Nov 10, 2025
ab17d10
retrofit for sentinel
alfC Nov 10, 2025
299bd59
gemv iterator default contructor
alfC Nov 10, 2025
2ef865f
fix ranges on mac gcc and clang
alfC Nov 10, 2025
0797215
suppress abi note
alfC Nov 11, 2025
5a9bade
remove command dir local on windows ci
alfC Nov 11, 2025
b74f487
finish conor softmax example
alfC Nov 11, 2025
6f5bf67
remove comments
alfC Nov 11, 2025
f55e1fd
add nolint for for loop
alfC Nov 11, 2025
97f1745
more no lint
alfC Nov 11, 2025
23df28d
fix includes
alfC Nov 11, 2025
d82e3ce
more iwyu
alfC Nov 11, 2025
c2ca5d7
replace boost timer
alfC Nov 11, 2025
6fcd617
remove mpl include
alfC Nov 11, 2025
70e61ca
remove mpl
alfC Nov 11, 2025
26335d2
Merge branch 'add-reversed' into 'master'
correaa Nov 11, 2025
d463990
Edit README.md
correaa Nov 11, 2025
8964b43
wa for clang 10
alfC Nov 11, 2025
8d5cd66
add clang16 to prepush
alfC Nov 12, 2025
fa07621
add prepush clang 16
alfC Nov 12, 2025
06e02b1
run gh always
alfC Nov 12, 2025
7522293
fix windows and tidy
alfC Nov 12, 2025
7a0c388
more tidy
alfC Nov 12, 2025
7594b3c
clang std23
alfC Nov 12, 2025
0927644
use ubuntu for clang 16
alfC Nov 12, 2025
4e39f59
wa clang 16
alfC Nov 12, 2025
34cad05
more wa clang 16
alfC Nov 12, 2025
cd8434d
fixes for clang 16
alfC Nov 12, 2025
50f0773
remove timer dep
alfC Nov 12, 2025
9c13940
clang 16 std23 libc++
alfC Nov 12, 2025
1631f0a
ditto
alfC Nov 12, 2025
0448653
fixes for clang 16
alfC Nov 12, 2025
bb28de0
remove mpl headers
alfC Nov 12, 2025
c6bda12
Merge branch 'revert-connor2'
alfC Nov 13, 2025
8ffc9fe
remove connor
alfC Nov 13, 2025
82687de
pp with clang++16 20
alfC Nov 13, 2025
c4c1dbb
fix sean
alfC Nov 13, 2025
d8d46c0
remove dup include
alfC Nov 13, 2025
e63b1a1
Merge branch 'rename-connor-conor' into 'master'
correaa Nov 13, 2025
fdf3037
move pp c16 to end
alfC Nov 13, 2025
c64b982
remove test for clang 16 23 mode
alfC Nov 13, 2025
3d2f72a
modify pp
alfC Nov 13, 2025
55f260b
Edit interop.adoc
correaa Nov 13, 2025
35169fc
recover clang 16 compate
alfC Nov 13, 2025
473d546
format
alfC Nov 13, 2025
1421376
Edit interop.adoc
correaa Nov 13, 2025
d0270f9
[ci skip] Edit interop.adoc
correaa Nov 13, 2025
b444cf3
do not use sentinel require for clang 16 and below
alfC Nov 13, 2025
95c9d39
remove comment
alfC Nov 13, 2025
7bafdd7
Merge branch 'clang16-23-remove-ci' into 'master'
correaa Nov 14, 2025
e832fd4
faster test
alfC Nov 14, 2025
a6a6138
update conor
alfC Nov 14, 2025
5b601aa
finish softmax
alfC Nov 14, 2025
72e6c40
fix for adl pass by const&
alfC Nov 14, 2025
a5b60bf
add more test for mull
alfC Nov 14, 2025
02001b1
add test to partitioned
alfC Nov 15, 2025
934561a
ws
alfC Nov 15, 2025
c04e1bd
more mull workarounds
alfC Nov 15, 2025
5b681f1
Merge branch 'clang16-23-remove-ci' into 'master'
correaa Nov 15, 2025
2221773
Edit tutorial.adoc
correaa Nov 15, 2025
02cda54
lazy expressions
alfC Nov 16, 2025
6e02eb0
finish lazy operations
correaa Nov 16, 2025
92217e7
more restriction example
alfC Nov 16, 2025
253c55f
workaround for clang 16 bug
alfC Nov 16, 2025
1596027
fix for literal
alfC Nov 16, 2025
8eba19e
Edit tutorial.adoc
correaa Nov 16, 2025
1508b85
fix prepush
alfC Nov 16, 2025
b73d703
workaround for clang 10
alfC Nov 16, 2025
f452704
better table
correaa Nov 16, 2025
d3da866
Edit tutorial.adoc
correaa Nov 16, 2025
26b5f1f
Edit tutorial.adoc
correaa Nov 16, 2025
0a613e4
Merge branch 'more-restriction-example' into 'master'
correaa Nov 16, 2025
3c19bf4
Merge branch 'clang17-borland-exp' into 'master'
correaa Nov 16, 2025
6f2a85b
Merge branch 'master' into 'cufft-streams'
correaa Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
278 changes: 60 additions & 218 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,230 +1,72 @@
# https://clang-format-configurator.site
# Copyright 2020-2025 Alfredo A. Correa
# this format specification requires clang-format version 15, it is optimized for clang-format version 19
---
Language: Cpp
# BasedOnStyle: Google
#AccessModifierOffset: -1
AlignAfterOpenBracket: BlockIndent # Align
Language: Cpp
AccessModifierOffset: -3
AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: Right
#AlignConsecutiveMacros: None
AlignConsecutiveAssignments: Consecutive # None
#AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: Consecutive
#AlignEscapedNewlines: Left
AlignOperands: AlignAfterOperator
AlignTrailingComments: false
#AllowAllArgumentsOnNextLine: true
#AllowAllParametersOfDeclarationOnNextLine: true
#AllowShortEnumsOnASingleLine: true
#AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: true # false
#AllowShortFunctionsOnASingleLine: All
#AllowShortLambdasOnASingleLine: All
#AllowShortIfStatementsOnASingleLine: WithoutElse
#AllowShortLoopsOnASingleLine: true
#AlwaysBreakAfterDefinitionReturnType: None
#AlwaysBreakAfterReturnType: None
#AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: No # Yes
#AttributeMacros:
# - __capability
#BinPackArguments: true
#BinPackParameters: true
#BraceWrapping:
# AfterCaseLabel: false
# AfterClass: false
# AfterControlStatement: Never
# AfterEnum: false
# AfterFunction: false
# AfterNamespace: false
# AfterObjCDeclaration: false
# AfterStruct: false
# AfterUnion: false
# AfterExternBlock: false
# BeforeCatch: false
# BeforeElse: false
# BeforeLambdaBody: false
# BeforeWhile: false
# IndentBraces: false
# SplitEmptyFunction: true
# SplitEmptyRecord: true
# SplitEmptyNamespace: true
#BreakBeforeBinaryOperators: None
#BreakBeforeConceptDeclarations: true
#BreakBeforeBraces: Attach
#BreakBeforeInheritanceComma: false
AlignConsecutiveAssignments:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignConsecutiveDeclarations:
Enabled: true
AcrossEmptyLines: false
AcrossComments: false
AlignConsecutiveMacros: None
AlignOperands: AlignAfterOperator
AllowAllArgumentsOnNextLine: false
AllowShortLambdasOnASingleLine: All
AllowShortCaseLabelsOnASingleLine: true
AlwaysBreakTemplateDeclarations: No
# BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
#BreakBeforeTernaryOperators: true
#BreakConstructorInitializersBeforeComma: false
#BreakConstructorInitializers: BeforeColon
#BreakAfterJavaFieldAnnotations: false
#BreakStringLiterals: true
ColumnLimit: 0
#CommentPragmas: '^ IWYU pragma:'
QualifierAlignment: Right # Leave
#CompactNamespaces: false
BraceWrapping:
BeforeLambdaBody: false
ColumnLimit: 0
QualifierAlignment: Right
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 99
#Cpp11BracedListStyle: true
#DeriveLineEnding: true
#DerivePointerAlignment: true
#DisableFormat: false
#EmptyLineAfterAccessModifier: Never
#EmptyLineBeforeAccessModifier: LogicalBlock
#ExperimentalAutoDetectBinPacking: false
#PackConstructorInitializers: NextLine
#BasedOnStyle: ''
#ConstructorInitializerAllOnOneLineOrOnePerLine: false
#AllowAllConstructorInitializersOnNextLine: true
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
FixNamespaceComments: true
#ForEachMacros:
# - foreach
# - Q_FOREACH
# - BOOST_FOREACH
#IfMacros:
# - KJ_IF_MAYBE
#IncludeBlocks: Regroup
#IncludeCategories:
# - Regex: '^<ext/.*\.h>'
# Priority: 2
# SortPriority: 0
# CaseSensitive: false
# - Regex: '^<.*\.h>'
# Priority: 1
# SortPriority: 0
# CaseSensitive: false
# - Regex: '^<.*'
# Priority: 2
# SortPriority: 0
# CaseSensitive: false
# - Regex: '.*'
# Priority: 3
# SortPriority: 0
# CaseSensitive: false
#IncludeIsMainRegex: '([-_](test|unittest))?$'
#IncludeIsMainSourceRegex: ''
#IndentAccessModifiers: true # false
AccessModifierOffset: -98 # 2
#IndentCaseLabels: true
#IndentCaseBlocks: false
#IndentGotoLabels: true
#IndentPPDirectives: None
#IndentExternBlock: AfterExternBlock
#IndentRequires: false
IndentWidth: 99
#IndentWrappedFunctionNames: false
#InsertTrailingCommas: None
#JavaScriptQuotes: Leave
#JavaScriptWrapImports: true
#KeepEmptyLinesAtTheStartOfBlocks: false
#LambdaBodyIndentation: Signature
#MacroBlockBegin: ''
#MacroBlockEnd: ''
#MaxEmptyLinesToKeep: 1
#NamespaceIndentation: None
#ObjCBinPackProtocolList: Never
#ObjCBlockIndentWidth: 2
#ObjCBreakBeforeNestedBlockParam: true
#ObjCSpaceAfterProperty: false
#ObjCSpaceBeforeProtocolList: true
#PenaltyBreakAssignment: 2
#PenaltyBreakBeforeFirstCallParameter: 1
#PenaltyBreakComment: 300
#PenaltyBreakFirstLessLess: 120
#PenaltyBreakOpenParenthesis: 0
#PenaltyBreakString: 1000
IncludeBlocks: Regroup
IncludeCategories:
- Regex: <(boost\/multi)\/
Priority: 1
- Regex: <([A-Za-z0-9\Q/-_\E])+>
Priority: 5
- Regex: <(boost)\/
Priority: 4
- Regex: <([A-Za-z0-9.\Q/-_\E])+>
Priority: 3
- Regex: '"([A-Za-z0-9.\Q/-_\E])+"'
Priority: 2
IndentPPDirectives: None
IndentWidth: 4
# LambdaBodyIndentation: Signature
# OneLineFormatOffRegex: ^(\#ifdef|\#endif) # for clang-format version 21
# PackConstructorInitializers: CurrentLine
PenaltyBreakTemplateDeclaration: 10
#PenaltyExcessCharacter: 1000000
#PenaltyReturnTypeOnItsOwnLine: 200
#PenaltyIndentedWhitespace: 0
PointerAlignment: Left
#PPIndentWidth: -1
#RawStringFormats:
# - Language: Cpp
# Delimiters:
# - cc
# - CC
# - cpp
# - Cpp
# - CPP
# - 'c++'
# - 'C++'
# CanonicalDelimiter: ''
# BasedOnStyle: google
# - Language: TextProto
# Delimiters:
# - pb
# - PB
# - proto
# - PROTO
# EnclosingFunctions:
# - EqualsProto
# - EquivToProto
# - PARSE_PARTIAL_TEXT_PROTO
# - PARSE_TEST_PROTO
# - PARSE_TEXT_PROTO
# - ParseTextOrDie
# - ParseTextProtoOrDie
# - ParseTestProto
# - ParsePartialTestProto
# CanonicalDelimiter: pb
# BasedOnStyle: google
#ReferenceAlignment: Pointer
#ReflowComments: true
#RemoveBracesLLVM: false
#SeparateDefinitionBlocks: Leave
#ShortNamespaceLines: 1
#SortIncludes: CaseSensitive
#SortJavaStaticImport: Before
#SortUsingDeclarations: true
#SpaceAfterCStyleCast: false
#SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false # true
#SpaceBeforeAssignmentOperators: true
#SpaceBeforeCaseColon: false
#SpaceBeforeCpp11BracedList: false
#SpaceBeforeCtorInitializerColon: true
#SpaceBeforeInheritanceColon: true
SpaceBeforeParens: Custom # ControlStatements
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
AfterControlStatements: false # true
# AfterForeachMacros: true
# AfterFunctionDefinitionName: false
# AfterFunctionDeclarationName: false
# AfterIfMacros: true
# AfterOverloadedOperator: false
# BeforeNonEmptyParentheses: false
#SpaceAroundPointerQualifiers: Default
#SpaceBeforeRangeBasedForLoopColon: true
#SpaceInEmptyBlock: false
#SpaceInEmptyParentheses: false
AfterControlStatements: false
AfterForeachMacros: false
AfterFunctionDeclarationName: false
AfterFunctionDefinitionName: false
AfterIfMacros: false # AfterNot: false
AfterOverloadedOperator: false # AfterPlacementOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpacesBeforeTrailingComments: 2
#SpacesInAngles: Never
#SpacesInConditionalStatement: false
#SpacesInContainerLiterals: true
#SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
# Maximum: -1
#SpacesInParentheses: false
#SpacesInSquareBrackets: false
#SpaceBeforeSquareBrackets: false
#BitFieldColonSpacing: Both
Standard: c++17
#StatementAttributeLikeMacros:
# - Q_EMIT
#StatementMacros:
# - Q_UNUSED
# - QT_REQUIRE_VERSION
TabWidth: 99
#UseCRLF: false
UseTab: ForContinuationAndIndentation # Never
Minimum: 1
Standard: c++17
TabWidth: 4
UseTab: ForContinuationAndIndentation
WhitespaceSensitiveMacros:
- BOOST_REQUIRE
- BOOST_TEST
- BOOST_TEST_REQUIRE
#WhitespaceSensitiveMacros:
# - STRINGIZE
# - PP_STRINGIZE
# - BOOST_PP_STRINGIZE
# - NS_SWIFT_NAME
# - CF_SWIFT_NAME
...
65 changes: 40 additions & 25 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,47 +1,62 @@
# -*-indent-tabs-mode:nil;c-basic-offset:2;tab-width:2;autowrap:nil;-*-
# Copyright 2020-2025 Alfredo A. Correa

WarningsAsErrors: '*'
HeaderFilterRegex: '.'
FormatStyle: file

CheckOptions:
- { key: readability-identifier-naming.ClassCase , value: lower_case }
- { key: readability-identifier-naming.FunctionCase , value: lower_case }
- { key: readability-identifier-naming.GlobalConstantCase , value: aNy_CasE }
- { key: readability-identifier-naming.NamespaceCase , value: lower_case }
- { key: readability-identifier-naming.PrivateMemberPrefix , value: '' }
- { key: readability-identifier-naming.PrivateMemberSufix , value: _ }
- { key: readability-identifier-naming.StructCase , value: lower_case }
- { key: readability-identifier-naming.TemplateParameterCase , value: CamelCase }
- { key: readability-identifier-length.MinimumLoopCounterNameLength, value: 2 }
- { key: readability-identifier-length.MinimumParameterNameLength , value: 2 }
- { key: readability-identifier-length.MinimumVariableNameLength , value: 2 }
- { key: readability-identifier-length.IgnoredLoopCounterNames , value: "^[ijk_]$" }
- { key: readability-identifier-length.IgnoredVariableNames , value: "^[ijk]$" }
- { key: readability-identifier-naming.GlobalConstantCase , value: aNy_CasE }
- { key: readability-identifier-naming.PrivateMemberSufix , value: _ }

# for range-for loops, e.g. `for(auto i : is) ...`
# - { key: readability-identifier-length.IgnoredVariableNames , value: "^[ijk]$" }
- { key: readability-identifier-naming.ClassCase , value: lower_case }
- { key: readability-identifier-naming.FunctionCase , value: lower_case }
- { key: readability-identifier-naming.GlobalConstantCase , value: aNy_CasE }
- { key: readability-identifier-length.IgnoredLoopCounterNames , value: "^[ijk_]$" }
- { key: readability-identifier-length.IgnoredParameterNames , value: "^[xyzabcdnml]$" }
- { key: readability-identifier-length.IgnoredVariableNames , value: "^[ijk_]$" }
- { key: readability-identifier-length.MethodCase , value: lower_case }
- { key: readability-identifier-length.MinimumLoopCounterNameLength , value: 2 }
- { key: readability-identifier-length.MinimumParameterNameLength , value: 2 }
- { key: readability-identifier-length.MinimumVariableNameLength , value: 2 }
- { key: readability-identifier-naming.NamespaceCase , value: lower_case }
- { key: readability-identifier-naming.PrivateMemberPrefix , value: '' }
- { key: readability-identifier-naming.PrivateMemberSuffix , value: _ }
- { key: readability-identifier-naming.PrivateMethodSuffix , value: _ }
- { key: readability-identifier-naming.StructCase , value: lower_case }
- { key: readability-identifier-naming.TemplateParameterCase , value: CamelCase }
- { key: readability-identifier-naming.TypeTemplateParameterIgnoredRegexp, value: expr-type}
- { key: readability-operators-representation.BinaryOperators , value: '&&;&=;&;|;~;!;!=;||;|=;^;^='}
# value: expr-type , bug in clang 16 in c++20 mode https://stackoverflow.com/a/75157215/225186

Checks: '*,
-altera-struct-pack-align,
-boost-use-ranges,
-cert-dcl21-cpp,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-fuchsia-overloaded-operator,
-fuchsia-default-arguments-calls,
-fuchsia-trailing-return,
-hicpp-no-array-decay,
-llvm-prefer-static-over-anonymous-namespace,
-llvmlibc-*,
-modernize-use-nodiscard,
-readability-magic-numbers
'

-modernize-use-trailing-return-type,
-readability-magic-numbers,
-readability-simplify-boolean-expr'
## explanation of the suppressed rules above:
# -altera-struct-pack-align, // this asks to use non-standard pragmas such as __attribute__((aligned(0))) and _attribute__((packed)), may interfeere with gcc/nvcc compatibility?
# -boost-use-ranges // would introduce a dependency on Boost
# -cert-dcl21-cpp // this asks postfix operator++ to return a const value
# -cppcoreguidelines-avoid-magic-numbers, // all tests use magic numbers
# -cppcoreguidelines-pro-bounds-array-to-pointer-decay // for Boost Lightweight test BOOST_TEST
# -cppcoreguidelines-macro-usage, // BLAS adaptors uses a lot of macros
# -fuchsia-default-arguments-calls, // this library uses STL functions, which use default arguments
# -fuchsia-overloaded-operator, // this library overloads operators (==, <, +, &)
# -fuchsia-trailing-return, // to allow any '-> decltype(auto)', contradicts modernize trailing
# -hicpp-no-array-decay, // for Boost Lightweight Test
# -llvm-prefer-static-over-anonymous-namespace, // contradicts other rules
# -llvmlibc-*, // nonsense warnings, for llvm developers
# -llvm-header-guard, // allow PCH
# -misc-include-cleaner // allow PCH
# -modernize-use-nodiscard, // this would add [[nodiscard]] to almost all functions, adding a lot of noise
# -readability-magic-numbers, // all tests use magic numbers

# -modernize-use-trailing-return-type // mandates all lambdas end with -> auto
# -readability-magic-numbers, // many tests use magic numbers
# -readability-simplify-boolean-expr, // for Boost Lightweight Test BOOST_TEST
9 changes: 9 additions & 0 deletions .deepsource.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version = 1

test_patterns = ["test/**"]

[[analyzers]]
name = "test-coverage"

[[analyzers]]
name = "cxx"
5 changes: 5 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Gitlab's [![gitlabci](https://gitlab.com/correaa/boost-multi/badges/master/pipeline.svg)](https://gitlab.com/correaa/boost-multi/-/pipelines?page=1&scope=all)

This PR was open from a [Gitlab Merge request](https://gitlab.com/correaa/boost-multi/-/merge_requests/new),
it will be probably be merged from Gitlab, and then in can be closed here.

Loading