use clang-format
This commit is contained in:
parent
e3919fe8cd
commit
17c0c4c32e
3 changed files with 11 additions and 324 deletions
313
.clang-format
313
.clang-format
|
|
@ -1,313 +0,0 @@
|
||||||
---
|
|
||||||
Language: Cpp
|
|
||||||
AccessModifierOffset: -1
|
|
||||||
AlignAfterOpenBracket: Align
|
|
||||||
AlignArrayOfStructures: None
|
|
||||||
AlignConsecutiveAssignments:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: true
|
|
||||||
AlignConsecutiveBitFields:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveDeclarations:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveMacros:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveShortCaseStatements:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCaseColons: false
|
|
||||||
AlignConsecutiveTableGenBreakingDAGArgColons:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveTableGenCondOperatorColons:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignConsecutiveTableGenDefinitionColons:
|
|
||||||
Enabled: false
|
|
||||||
AcrossEmptyLines: false
|
|
||||||
AcrossComments: false
|
|
||||||
AlignCompound: false
|
|
||||||
AlignFunctionPointers: false
|
|
||||||
PadOperators: false
|
|
||||||
AlignEscapedNewlines: Left
|
|
||||||
AlignOperands: Align
|
|
||||||
AlignTrailingComments:
|
|
||||||
Kind: Always
|
|
||||||
OverEmptyLines: 0
|
|
||||||
AllowAllArgumentsOnNextLine: true
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: true
|
|
||||||
AllowBreakBeforeNoexceptSpecifier: Never
|
|
||||||
AllowShortBlocksOnASingleLine: Never
|
|
||||||
AllowShortCaseExpressionOnASingleLine: true
|
|
||||||
AllowShortCaseLabelsOnASingleLine: false
|
|
||||||
AllowShortCompoundRequirementOnASingleLine: true
|
|
||||||
AllowShortEnumsOnASingleLine: true
|
|
||||||
AllowShortFunctionsOnASingleLine: All
|
|
||||||
AllowShortIfStatementsOnASingleLine: WithoutElse
|
|
||||||
AllowShortLambdasOnASingleLine: All
|
|
||||||
AllowShortLoopsOnASingleLine: true
|
|
||||||
AllowShortNamespacesOnASingleLine: false
|
|
||||||
AlwaysBreakAfterDefinitionReturnType: None
|
|
||||||
AlwaysBreakBeforeMultilineStrings: true
|
|
||||||
AttributeMacros:
|
|
||||||
- __capability
|
|
||||||
BinPackArguments: true
|
|
||||||
BitFieldColonSpacing: Both
|
|
||||||
BraceWrapping:
|
|
||||||
AfterCaseLabel: false
|
|
||||||
AfterClass: false
|
|
||||||
AfterControlStatement: Never
|
|
||||||
AfterEnum: false
|
|
||||||
AfterExternBlock: false
|
|
||||||
AfterFunction: false
|
|
||||||
AfterNamespace: false
|
|
||||||
AfterObjCDeclaration: false
|
|
||||||
AfterStruct: false
|
|
||||||
AfterUnion: false
|
|
||||||
BeforeCatch: false
|
|
||||||
BeforeElse: false
|
|
||||||
BeforeLambdaBody: false
|
|
||||||
BeforeWhile: false
|
|
||||||
IndentBraces: false
|
|
||||||
SplitEmptyFunction: true
|
|
||||||
SplitEmptyRecord: true
|
|
||||||
SplitEmptyNamespace: true
|
|
||||||
BreakAdjacentStringLiterals: true
|
|
||||||
BreakAfterAttributes: Leave
|
|
||||||
BreakAfterJavaFieldAnnotations: false
|
|
||||||
BreakAfterReturnType: None
|
|
||||||
BreakArrays: true
|
|
||||||
BreakBeforeBinaryOperators: None
|
|
||||||
BreakBeforeConceptDeclarations: Always
|
|
||||||
BreakBeforeBraces: Attach
|
|
||||||
BreakBeforeInlineASMColon: OnlyMultiline
|
|
||||||
BreakBeforeTernaryOperators: true
|
|
||||||
BreakBinaryOperations: Never
|
|
||||||
BreakConstructorInitializers: BeforeColon
|
|
||||||
BreakFunctionDefinitionParameters: false
|
|
||||||
BreakInheritanceList: BeforeColon
|
|
||||||
BreakStringLiterals: true
|
|
||||||
BreakTemplateDeclarations: Yes
|
|
||||||
ColumnLimit: 80
|
|
||||||
CommentPragmas: '^ IWYU pragma:'
|
|
||||||
CompactNamespaces: false
|
|
||||||
ConstructorInitializerIndentWidth: 4
|
|
||||||
ContinuationIndentWidth: 4
|
|
||||||
Cpp11BracedListStyle: true
|
|
||||||
DerivePointerAlignment: true
|
|
||||||
DisableFormat: false
|
|
||||||
EmptyLineAfterAccessModifier: Never
|
|
||||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
|
||||||
ExperimentalAutoDetectBinPacking: false
|
|
||||||
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: false
|
|
||||||
IndentCaseBlocks: false
|
|
||||||
IndentCaseLabels: true
|
|
||||||
IndentExportBlock: true
|
|
||||||
IndentExternBlock: AfterExternBlock
|
|
||||||
IndentGotoLabels: true
|
|
||||||
IndentPPDirectives: None
|
|
||||||
IndentRequiresClause: true
|
|
||||||
IndentWidth: 2
|
|
||||||
IndentWrappedFunctionNames: false
|
|
||||||
InsertBraces: false
|
|
||||||
InsertNewlineAtEOF: false
|
|
||||||
InsertTrailingCommas: None
|
|
||||||
IntegerLiteralSeparator:
|
|
||||||
Binary: 0
|
|
||||||
BinaryMinDigits: 0
|
|
||||||
Decimal: 0
|
|
||||||
DecimalMinDigits: 0
|
|
||||||
Hex: 0
|
|
||||||
HexMinDigits: 0
|
|
||||||
JavaScriptQuotes: Leave
|
|
||||||
JavaScriptWrapImports: true
|
|
||||||
KeepEmptyLines:
|
|
||||||
AtEndOfFile: false
|
|
||||||
AtStartOfBlock: false
|
|
||||||
AtStartOfFile: true
|
|
||||||
KeepFormFeed: false
|
|
||||||
LambdaBodyIndentation: Signature
|
|
||||||
LineEnding: DeriveLF
|
|
||||||
MacroBlockBegin: ''
|
|
||||||
MacroBlockEnd: ''
|
|
||||||
MainIncludeChar: Quote
|
|
||||||
MaxEmptyLinesToKeep: 1
|
|
||||||
NamespaceIndentation: None
|
|
||||||
ObjCBinPackProtocolList: Never
|
|
||||||
ObjCBlockIndentWidth: 2
|
|
||||||
ObjCBreakBeforeNestedBlockParam: true
|
|
||||||
ObjCSpaceAfterProperty: false
|
|
||||||
ObjCSpaceBeforeProtocolList: true
|
|
||||||
PackConstructorInitializers: NextLine
|
|
||||||
PenaltyBreakAssignment: 2
|
|
||||||
PenaltyBreakBeforeFirstCallParameter: 1
|
|
||||||
PenaltyBreakBeforeMemberAccess: 150
|
|
||||||
PenaltyBreakComment: 300
|
|
||||||
PenaltyBreakFirstLessLess: 120
|
|
||||||
PenaltyBreakOpenParenthesis: 0
|
|
||||||
PenaltyBreakScopeResolution: 500
|
|
||||||
PenaltyBreakString: 1000
|
|
||||||
PenaltyBreakTemplateDeclaration: 10
|
|
||||||
PenaltyExcessCharacter: 1000000
|
|
||||||
PenaltyIndentedWhitespace: 0
|
|
||||||
PenaltyReturnTypeOnItsOwnLine: 200
|
|
||||||
PointerAlignment: Left
|
|
||||||
PPIndentWidth: -1
|
|
||||||
QualifierAlignment: Leave
|
|
||||||
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: Always
|
|
||||||
RemoveBracesLLVM: false
|
|
||||||
RemoveEmptyLinesInUnwrappedLines: false
|
|
||||||
RemoveParentheses: Leave
|
|
||||||
RemoveSemicolon: false
|
|
||||||
RequiresClausePosition: OwnLine
|
|
||||||
RequiresExpressionIndentation: OuterScope
|
|
||||||
SeparateDefinitionBlocks: Leave
|
|
||||||
ShortNamespaceLines: 1
|
|
||||||
SkipMacroDefinitionBody: false
|
|
||||||
SortIncludes: CaseSensitive
|
|
||||||
SortJavaStaticImport: Before
|
|
||||||
SortUsingDeclarations: LexicographicNumeric
|
|
||||||
SpaceAfterCStyleCast: false
|
|
||||||
SpaceAfterLogicalNot: false
|
|
||||||
SpaceAfterTemplateKeyword: true
|
|
||||||
SpaceAroundPointerQualifiers: Default
|
|
||||||
SpaceBeforeAssignmentOperators: true
|
|
||||||
SpaceBeforeCaseColon: false
|
|
||||||
SpaceBeforeCpp11BracedList: false
|
|
||||||
SpaceBeforeCtorInitializerColon: true
|
|
||||||
SpaceBeforeInheritanceColon: true
|
|
||||||
SpaceBeforeJsonColon: false
|
|
||||||
SpaceBeforeParens: ControlStatements
|
|
||||||
SpaceBeforeParensOptions:
|
|
||||||
AfterControlStatements: true
|
|
||||||
AfterForeachMacros: true
|
|
||||||
AfterFunctionDefinitionName: false
|
|
||||||
AfterFunctionDeclarationName: false
|
|
||||||
AfterIfMacros: true
|
|
||||||
AfterOverloadedOperator: false
|
|
||||||
AfterPlacementOperator: true
|
|
||||||
AfterRequiresInClause: false
|
|
||||||
AfterRequiresInExpression: false
|
|
||||||
BeforeNonEmptyParentheses: false
|
|
||||||
SpaceBeforeRangeBasedForLoopColon: true
|
|
||||||
SpaceBeforeSquareBrackets: false
|
|
||||||
SpaceInEmptyBlock: false
|
|
||||||
SpacesBeforeTrailingComments: 2
|
|
||||||
SpacesInAngles: Never
|
|
||||||
SpacesInContainerLiterals: true
|
|
||||||
SpacesInLineCommentPrefix:
|
|
||||||
Minimum: 1
|
|
||||||
Maximum: -1
|
|
||||||
SpacesInParens: Never
|
|
||||||
SpacesInParensOptions:
|
|
||||||
ExceptDoubleParentheses: false
|
|
||||||
InCStyleCasts: false
|
|
||||||
InConditionalStatements: false
|
|
||||||
InEmptyParentheses: false
|
|
||||||
Other: false
|
|
||||||
SpacesInSquareBrackets: false
|
|
||||||
Standard: Auto
|
|
||||||
StatementAttributeLikeMacros:
|
|
||||||
- Q_EMIT
|
|
||||||
StatementMacros:
|
|
||||||
- Q_UNUSED
|
|
||||||
- QT_REQUIRE_VERSION
|
|
||||||
TableGenBreakInsideDAGArg: DontBreak
|
|
||||||
TabWidth: 8
|
|
||||||
UseTab: Never
|
|
||||||
VerilogBreakBetweenInstancePorts: true
|
|
||||||
WhitespaceSensitiveMacros:
|
|
||||||
- BOOST_PP_STRINGIZE
|
|
||||||
- CF_SWIFT_NAME
|
|
||||||
- NS_SWIFT_NAME
|
|
||||||
- PP_STRINGIZE
|
|
||||||
- STRINGIZE
|
|
||||||
WrapNamespaceBodyWithEmptyLines: Leave
|
|
||||||
...
|
|
||||||
|
|
||||||
|
|
@ -3,7 +3,7 @@ repos:
|
||||||
rev: v17.0.6
|
rev: v17.0.6
|
||||||
hooks:
|
hooks:
|
||||||
- id: clang-format
|
- id: clang-format
|
||||||
args: [--style=file]
|
args: [--style=google]
|
||||||
files: \.(cc|cpp|cxx|hh|hpp|hxx)$
|
files: \.(cc|cpp|cxx|hh|hpp|hxx)$
|
||||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||||
rev: v3.0.0
|
rev: v3.0.0
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ namespace bmath {
|
||||||
|
|
||||||
inline constexpr uint64_t DEFAULT_MOD = 1'000'000'007;
|
inline constexpr uint64_t DEFAULT_MOD = 1'000'000'007;
|
||||||
|
|
||||||
template <std::unsigned_integral T, T M = static_cast<T>(DEFAULT_MOD)>
|
template <std::integral T, T M = static_cast<T>(DEFAULT_MOD)>
|
||||||
requires(M > 0 && DEFAULT_MOD <= std::numeric_limits<T>::max())
|
requires(M > 0 && DEFAULT_MOD <= std::numeric_limits<T>::max())
|
||||||
class mint {
|
class mint {
|
||||||
public:
|
public:
|
||||||
|
|
@ -25,7 +25,7 @@ class mint {
|
||||||
return mint<T, M>{result};
|
return mint<T, M>{result};
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr mint& operator+=(mint const other) const noexcept {
|
constexpr mint &operator+=(mint const other) const noexcept {
|
||||||
value += other.value;
|
value += other.value;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
|
|
@ -44,7 +44,7 @@ class mint {
|
||||||
return mint<T, M>{result};
|
return mint<T, M>{result};
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr mint& operator*=(mint const other) noexcept {
|
constexpr mint &operator*=(mint const other) noexcept {
|
||||||
value *= other.value;
|
value *= other.value;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
|
|
@ -62,7 +62,7 @@ class mint {
|
||||||
return mint<T, M>{result};
|
return mint<T, M>{result};
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr mint& operator/=(mint const other) noexcept {
|
constexpr mint &operator/=(mint const other) noexcept {
|
||||||
if constexpr (other.get() == 0) {
|
if constexpr (other.get() == 0) {
|
||||||
static_assert(false, "Cannot divide by 0");
|
static_assert(false, "Cannot divide by 0");
|
||||||
} else if (other.get() == 0) {
|
} else if (other.get() == 0) {
|
||||||
|
|
@ -80,7 +80,7 @@ class mint {
|
||||||
return mint<T, M>{result};
|
return mint<T, M>{result};
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr mint& operator%=(mint const other) const noexcept {
|
constexpr mint &operator%=(mint const other) const noexcept {
|
||||||
value %= other.value;
|
value %= other.value;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
|
|
@ -111,7 +111,7 @@ class mint {
|
||||||
}
|
}
|
||||||
|
|
||||||
template <std::convertible_to<T> OtherT, OtherT OtherM>
|
template <std::convertible_to<T> OtherT, OtherT OtherM>
|
||||||
friend std::ostream& operator<<(std::ostream& out,
|
friend std::ostream &operator<<(std::ostream &out,
|
||||||
mint<OtherT, OtherM> const other) {
|
mint<OtherT, OtherM> const other) {
|
||||||
return out << other.get();
|
return out << other.get();
|
||||||
}
|
}
|
||||||
|
|
@ -140,7 +140,7 @@ class mint {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <std::unsigned_integral T, T M, std::unsigned_integral U>
|
template <std::integral T, T M, std::integral U>
|
||||||
requires(M > 0)
|
requires(M > 0)
|
||||||
[[nodiscard]] static constexpr bmath::mint<T, M> pow(mint<T, M> base,
|
[[nodiscard]] static constexpr bmath::mint<T, M> pow(mint<T, M> base,
|
||||||
U exponent) {
|
U exponent) {
|
||||||
|
|
@ -175,7 +175,7 @@ template <std::unsigned_integral T, T M, std::unsigned_integral U>
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <std::unsigned_integral T, T M = DEFAULT_MOD>
|
template <std::integral T, T M = DEFAULT_MOD>
|
||||||
requires(M > 0)
|
requires(M > 0)
|
||||||
[[nodiscard]] std::string to_string(mint<T, M> const number) {
|
[[nodiscard]] std::string to_string(mint<T, M> const number) {
|
||||||
return std::to_string(number.get());
|
return std::to_string(number.get());
|
||||||
|
|
@ -187,12 +187,12 @@ template <class CharT, std::integral T, T M>
|
||||||
struct std::formatter<bmath::mint<T, M>, CharT> {
|
struct std::formatter<bmath::mint<T, M>, CharT> {
|
||||||
std::formatter<std::basic_string_view<CharT>, CharT> inner;
|
std::formatter<std::basic_string_view<CharT>, CharT> inner;
|
||||||
|
|
||||||
constexpr auto parse(std::basic_format_parse_context<CharT>& pc) {
|
constexpr auto parse(std::basic_format_parse_context<CharT> &pc) {
|
||||||
return inner.parse(pc);
|
return inner.parse(pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class Ctx>
|
template <class Ctx>
|
||||||
auto format(bmath::mint<T, M> const x, Ctx& ctx) const {
|
auto format(bmath::mint<T, M> const x, Ctx &ctx) const {
|
||||||
std::basic_string<CharT> tmp;
|
std::basic_string<CharT> tmp;
|
||||||
if constexpr (std::same_as<CharT, wchar_t>) {
|
if constexpr (std::same_as<CharT, wchar_t>) {
|
||||||
std::format_to(std::back_inserter(tmp), L"{}", x.get());
|
std::format_to(std::back_inserter(tmp), L"{}", x.get());
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue