gauss_spectrum 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 46a7fad52ff56697d3583b1a668fed0c8a07fdeab742917dff2b51ba21de894c
4
+ data.tar.gz: 9c7eafc0d0065d177b26c5abf7c38bd301bd34c9eaaa6b5488ac2d9bca4aabef
5
+ SHA512:
6
+ metadata.gz: 73b65f788df4fb4c3b111dcccc73666abbb1eaf6ccac07afe61065c11adaeea29becf6489945f40dc6676be05dc57a6aa043fb5d5c1fcd4ea3c6d8bc09fe05dc
7
+ data.tar.gz: 9e47ce69e965311ed59d8323558737494a53a3443d3b5ecce458ef6eb3b6dd37800fe42a01d3258a7c041639fd5c602b3839587a5d1b05b44b0dd7a780002edc
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,680 @@
1
+ require: rubocop-performance
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 3.4.1
5
+ EnabledByDefault: false
6
+ SuggestExtensions: false
7
+ NewCops: disable
8
+ Exclude:
9
+ - "vendor/**/*"
10
+ - "spec/**/*.rb"
11
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
12
+ # to ignore them, so only the ones explicitly set in this file are enabled.
13
+ Performance/RedundantBlockCall:
14
+ Enabled: false
15
+
16
+ Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
17
+ Enabled: true
18
+
19
+ Lint/EmptyBlock: # (new in 1.1)
20
+ Enabled: true
21
+
22
+ Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
23
+ Enabled: true
24
+
25
+ Lint/ToEnumArguments: # (new in 1.1)
26
+ Enabled: true
27
+
28
+ Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
29
+ Enabled: true
30
+
31
+ Style/Alias:
32
+ EnforcedStyle: prefer_alias_method
33
+ Enabled: true
34
+
35
+ Style/ArgumentsForwarding: # (new in 1.1)
36
+ Enabled: true
37
+
38
+ Style/CollectionCompact: # (new in 1.2)
39
+ Enabled: true
40
+
41
+ Style/DocumentDynamicEvalDefinition: # (new in 1.1)
42
+ Enabled: true
43
+
44
+ Style/NegatedIfElseCondition: # (new in 1.2)
45
+ Enabled: true
46
+
47
+ Style/SwapValues: # (new in 1.1)
48
+ Enabled: true
49
+
50
+ Style/Documentation:
51
+ Enabled: false
52
+
53
+ Layout/EmptyLinesAroundAttributeAccessor:
54
+ Enabled: true
55
+
56
+ Layout/SpaceAroundMethodCallOperator:
57
+ Enabled: true
58
+
59
+ Lint/BinaryOperatorWithIdenticalOperands:
60
+ Enabled: true
61
+
62
+ Lint/DeprecatedOpenSSLConstant:
63
+ Enabled: true
64
+
65
+ Lint/DuplicateElsifCondition:
66
+ Enabled: true
67
+
68
+ Lint/DuplicateRescueException:
69
+ Enabled: true
70
+
71
+ Lint/EmptyConditionalBody:
72
+ Enabled: true
73
+
74
+ Lint/FloatComparison:
75
+ Enabled: true
76
+
77
+ Lint/MissingSuper:
78
+ Enabled: true
79
+
80
+ Lint/MixedRegexpCaptureTypes:
81
+ Enabled: true
82
+
83
+ Lint/OutOfRangeRegexpRef:
84
+ Enabled: true
85
+
86
+ Lint/RaiseException:
87
+ Enabled: true
88
+
89
+ Lint/SelfAssignment:
90
+ Enabled: true
91
+
92
+ Lint/StructNewOverride:
93
+ Enabled: true
94
+
95
+ Lint/TopLevelReturnWithArgument:
96
+ Enabled: true
97
+
98
+ Lint/UnreachableLoop:
99
+ Enabled: true
100
+
101
+ Style/AccessorGrouping:
102
+ Enabled: true
103
+
104
+ Style/ArrayCoercion:
105
+ Enabled: true
106
+
107
+ Style/BisectedAttrAccessor:
108
+ Enabled: true
109
+
110
+ Style/CaseLikeIf:
111
+ Enabled: true
112
+
113
+ Style/ExplicitBlockArgument:
114
+ Enabled: true
115
+
116
+ Style/ExponentialNotation:
117
+ Enabled: true
118
+
119
+ Style/GlobalStdStream:
120
+ Enabled: true
121
+
122
+ Style/HashAsLastArrayItem:
123
+ Enabled: true
124
+
125
+ Style/HashEachMethods:
126
+ Enabled: true
127
+
128
+ Style/HashLikeCase:
129
+ Enabled: true
130
+
131
+ Style/HashTransformKeys:
132
+ Enabled: true
133
+
134
+ Style/HashTransformValues:
135
+ Enabled: true
136
+
137
+ Style/OptionalBooleanParameter:
138
+ Enabled: true
139
+
140
+ Style/RedundantAssignment:
141
+ Enabled: true
142
+
143
+ Style/RedundantFetchBlock:
144
+ Enabled: true
145
+
146
+ Style/RedundantFileExtensionInRequire:
147
+ Enabled: true
148
+
149
+ Style/RedundantRegexpCharacterClass:
150
+ Enabled: true
151
+
152
+ Style/RedundantRegexpEscape:
153
+ Enabled: true
154
+
155
+ Style/SingleArgumentDig:
156
+ Enabled: true
157
+
158
+ Style/SlicingWithRange:
159
+ Enabled: true
160
+
161
+ Style/StringConcatenation:
162
+ Enabled: true
163
+
164
+ Layout/AccessModifierIndentation:
165
+ Description: Check indentation of private/protected visibility modifiers.
166
+ StyleGuide: "#indent-public-private-protected"
167
+ Enabled: true
168
+ VersionAdded: "0.49"
169
+ # ClearCove
170
+ EnforcedStyle: outdent
171
+ SupportedStyles:
172
+ - outdent
173
+ - indent
174
+ # By default, the indentation width from Layout/IndentationWidth is used
175
+ # But it can be overridden by setting this parameter
176
+ IndentationWidth: ~
177
+
178
+ # Method definitions after `private` or `protected` isolated calls need one
179
+ # extra level of indentation.
180
+ Layout/IndentationConsistency:
181
+ Enabled: false
182
+
183
+ Style/Lambda:
184
+ Description: "Use the new lambda literal syntax for single-line blocks."
185
+ StyleGuide: "#lambda-multi-line"
186
+ Enabled: true
187
+ VersionAdded: "0.9"
188
+ VersionChanged: "0.40"
189
+ # ClearCove
190
+ EnforcedStyle: literal
191
+ SupportedStyles:
192
+ - line_count_dependent
193
+ - lambda
194
+ - literal
195
+
196
+ Layout/LineLength:
197
+ Description: "Limit lines to 80 characters."
198
+ StyleGuide: "#80-character-limits"
199
+ Enabled: true
200
+ VersionAdded: "0.25"
201
+ VersionChanged: "0.46"
202
+ # ClearCove
203
+ Max: 120
204
+ # To make it possible to copy or click on URIs in the code, we allow lines
205
+ # containing a URI to be longer than Max.
206
+ AllowHeredoc: true
207
+ AllowURI: true
208
+ URISchemes:
209
+ - http
210
+ - https
211
+ # The IgnoreCopDirectives option causes the LineLength rule to ignore cop
212
+ # directives like '# rubocop: enable ...' when calculating a line's length.
213
+ IgnoreCopDirectives: false
214
+ # The IgnoredPatterns option is a list of !ruby/regexp and/or string
215
+ # elements. Strings will be converted to Regexp objects. A line that matches
216
+ # any regular expression listed in this option will be ignored by LineLength.
217
+ AllowedPatterns: []
218
+
219
+ Layout/MultilineMethodCallIndentation:
220
+ Description: >-
221
+ Checks indentation of method calls with the dot operator
222
+ that span more than one line.
223
+ Enabled: true
224
+ VersionAdded: "0.49"
225
+ # ClearCove
226
+ EnforcedStyle: indented_relative_to_receiver
227
+ SupportedStyles:
228
+ - aligned
229
+ - indented
230
+ - indented_relative_to_receiver
231
+ # By default, the indentation width from Layout/IndentationWidth is used
232
+ # But it can be overridden by setting this parameter
233
+ IndentationWidth: ~
234
+
235
+ Metrics/AbcSize:
236
+ Description: >-
237
+ A calculated magnitude based on number of assignments,
238
+ branches, and conditions.
239
+ Enabled: false
240
+
241
+ Metrics/BlockLength:
242
+ Description: "Avoid long blocks with many lines."
243
+ Enabled: false
244
+
245
+ Metrics/ClassLength:
246
+ Description: "Avoid classes longer than 100 lines of code."
247
+ Enabled: false
248
+
249
+ Metrics/CyclomaticComplexity:
250
+ Description: >
251
+ This cop checks that the cyclomatic complexity of methods is not higher
252
+ than the configured maximum.
253
+ Enabled: false
254
+
255
+ Metrics/MethodLength:
256
+ Description: "Avoid methods longer than 10 lines of code."
257
+ Enabled: false
258
+
259
+ Metrics/ModuleLength:
260
+ Description: "Avoid modules longer than 100 lines of code."
261
+ Enabled: false
262
+
263
+ Naming/PredicateName:
264
+ Description: "Check the names of predicate methods."
265
+ # ClearCove: We allow names like "has_admin_role?".
266
+ Enabled: false
267
+
268
+ Style/StringLiterals:
269
+ Description: "Checks if uses of quotes match the configured preference."
270
+ StyleGuide: "#consistent-string-literals"
271
+ Enabled: true
272
+ VersionAdded: "0.9"
273
+ VersionChanged: "0.36"
274
+ # ClearCove
275
+ EnforcedStyle: single_quotes
276
+ SupportedStyles:
277
+ - single_quotes
278
+ - double_quotes
279
+ # If `true`, strings which span multiple lines using `\` for continuation must
280
+ # use the same type of quotes on each line.
281
+ # ClearCove
282
+ ConsistentQuotesInMultiline: true
283
+
284
+ Style/NegatedIf:
285
+ Description: >-
286
+ Favor unless over if for negative conditions
287
+ (or control flow or).
288
+ Enabled: false
289
+
290
+ Layout/ExtraSpacing:
291
+ Description: "Do not use unnecessary spacing."
292
+ Enabled: false
293
+
294
+ Style/TrailingCommaInArguments:
295
+ Description: "Checks for trailing comma in argument lists."
296
+ StyleGuide: "#no-trailing-params-comma"
297
+ Enabled: true
298
+ VersionAdded: "0.36"
299
+ # If `comma`, the cop requires a comma after the last argument, but only for
300
+ # parenthesized method calls where each argument is on its own line.
301
+ # If `consistent_comma`, the cop requires a comma after the last argument,
302
+ # for all parenthesized method calls with arguments.
303
+ # ClearCove
304
+ EnforcedStyleForMultiline: no_comma
305
+ SupportedStylesForMultiline:
306
+ - comma
307
+ - consistent_comma
308
+ - no_comma
309
+
310
+ Style/TrailingCommaInArrayLiteral:
311
+ Description: "Checks for trailing comma in array literals."
312
+ StyleGuide: "#no-trailing-array-commas"
313
+ Enabled: true
314
+ VersionAdded: "0.53"
315
+ # but only when each item is on its own line.
316
+ # If `consistent_comma`, the cop requires a comma after the last item of all
317
+ # non-empty array literals.
318
+ # ClearCove
319
+ EnforcedStyleForMultiline: no_comma
320
+ SupportedStylesForMultiline:
321
+ - comma
322
+ - consistent_comma
323
+ - no_comma
324
+
325
+ Style/TrailingCommaInHashLiteral:
326
+ Description: "Checks for trailing comma in hash literals."
327
+ Enabled: true
328
+ # If `comma`, the cop requires a comma after the last item in a hash,
329
+ # but only when each item is on its own line.
330
+ # If `consistent_comma`, the cop requires a comma after the last item of all
331
+ # non-empty hash literals.
332
+ # ClearCove
333
+ EnforcedStyleForMultiline: no_comma
334
+ SupportedStylesForMultiline:
335
+ - comma
336
+ - consistent_comma
337
+ - no_comma
338
+ VersionAdded: "0.53"
339
+
340
+ Style/BlockDelimiters:
341
+ Description: >-
342
+ Avoid using {...} for multi-line blocks (multiline chaining is
343
+ always ugly).
344
+ Prefer {...} over do...end for single-line blocks.
345
+ StyleGuide: "#single-line-blocks"
346
+ # ClearCove
347
+ Enabled: false
348
+ VersionAdded: "0.30"
349
+ VersionChanged: "0.35"
350
+ # ClearCove
351
+ EnforcedStyle: semantic
352
+ SupportedStyles:
353
+ # The `line_count_based` style enforces braces around single line blocks and
354
+ # do..end around multi-line blocks.
355
+ - line_count_based
356
+ # The `semantic` style enforces braces around functional blocks, where the
357
+ # primary purpose of the block is to return a value and do..end for
358
+ # procedural blocks, where the primary purpose of the block is its
359
+ # side-effects.
360
+ #
361
+ # This looks at the usage of a block's method to determine its type (e.g. is
362
+ # the result of a `map` assigned to a variable or passed to another
363
+ # method) but exceptions are permitted in the `ProceduralMethods`,
364
+ # `FunctionalMethods` and `IgnoredMethods` sections below.
365
+ - semantic
366
+ # The `braces_for_chaining` style enforces braces around single line blocks
367
+ # and do..end around multi-line blocks, except for multi-line blocks whose
368
+ # return value is being chained with another method (in which case braces
369
+ # are enforced).
370
+ - braces_for_chaining
371
+ ProceduralMethods:
372
+ # Methods that are known to be procedural in nature but look functional from
373
+ # their usage, e.g.
374
+ #
375
+ # time = Benchmark.realtime do
376
+ # foo.bar
377
+ # end
378
+ #
379
+ # Here, the return value of the block is discarded but the return value of
380
+ # `Benchmark.realtime` is used.
381
+ - benchmark
382
+ - bm
383
+ - bmbm
384
+ - create
385
+ - each_with_object
386
+ - measure
387
+ - new
388
+ - realtime
389
+ - tap
390
+ - with_object
391
+ FunctionalMethods:
392
+ # Methods that are known to be functional in nature but look procedural from
393
+ # their usage, e.g.
394
+ #
395
+ # let(:foo) { Foo.new }
396
+ #
397
+ # Here, the return value of `Foo.new` is used to define a `foo` helper but
398
+ # doesn't appear to be used from the return value of `let`.
399
+ - let
400
+ - let!
401
+ - subject
402
+ - watch
403
+ AllowedPatterns:
404
+ # Methods that can be either procedural or functional and cannot be
405
+ # categorised from their usage alone, e.g.
406
+ #
407
+ # foo = lambda do |x|
408
+ # puts "Hello, #{x}"
409
+ # end
410
+ #
411
+ # foo = lambda do |x|
412
+ # x * 100
413
+ # end
414
+ #
415
+ # Here, it is impossible to tell from the return value of `lambda` whether
416
+ # the inner block's return value is significant.
417
+ - lambda
418
+ - proc
419
+ - it
420
+
421
+ Style/SymbolProc:
422
+ Enabled: false
423
+
424
+ Style/SymbolArray:
425
+ Description: "Use %i or %I for arrays of symbols."
426
+ StyleGuide: "#percent-i"
427
+ Enabled: true
428
+ VersionAdded: "0.9"
429
+ VersionChanged: "0.49"
430
+ # ClearCove
431
+ EnforcedStyle: brackets
432
+ MinSize: 2
433
+ SupportedStyles:
434
+ - percent
435
+ - brackets
436
+
437
+ Layout/EmptyLinesAroundClassBody:
438
+ Description: "Keeps track of empty lines around class bodies."
439
+ StyleGuide: "#empty-lines-around-bodies"
440
+ Enabled: true
441
+ VersionAdded: "0.49"
442
+ VersionChanged: "0.53"
443
+ # ClearCove
444
+ EnforcedStyle: empty_lines_except_namespace
445
+ SupportedStyles:
446
+ - empty_lines
447
+ - empty_lines_except_namespace
448
+ - empty_lines_special
449
+ - no_empty_lines
450
+ - beginning_only
451
+ - ending_only
452
+
453
+ Layout/EmptyLinesAroundModuleBody:
454
+ Description: "Keeps track of empty lines around module bodies."
455
+ StyleGuide: "#empty-lines-around-bodies"
456
+ Enabled: true
457
+ VersionAdded: "0.49"
458
+ # ClearCove
459
+ EnforcedStyle: empty_lines_except_namespace
460
+ SupportedStyles:
461
+ - empty_lines
462
+ - empty_lines_except_namespace
463
+ - empty_lines_special
464
+ - no_empty_lines
465
+
466
+ Layout/ClassStructure:
467
+ Description: "Enforces a configured order of definitions within a class body."
468
+ StyleGuide: >
469
+ https://github.com/rubocop-hq/ruby-style-guide#consistent-classes
470
+ # ClearCove
471
+ Enabled: true
472
+ VersionAdded: "0.52"
473
+ Categories:
474
+ module_inclusion:
475
+ - include
476
+ - prepend
477
+ - extend
478
+ ExpectedOrder:
479
+ - module_inclusion
480
+ - constants
481
+ - public_class_methods
482
+ - initializer
483
+ - public_methods
484
+ - protected_methods
485
+ - private_methods
486
+
487
+ Style/YodaCondition:
488
+ Description: "Forbid or enforce yoda conditions."
489
+ Reference: "https://en.wikipedia.org/wiki/Yoda_conditions"
490
+ Enabled: true
491
+ AutoCorrect: true
492
+ # ClearCove
493
+ EnforcedStyle: forbid_for_all_comparison_operators
494
+ VersionAdded: "0.49"
495
+ VersionChanged: "0.63"
496
+
497
+ Style/FrozenStringLiteralComment:
498
+ Description: >-
499
+ Add the frozen_string_literal comment to the top of files
500
+ to help transition from Ruby 2.3.0 to Ruby 3.0.
501
+ Enabled: true
502
+
503
+ Layout/EndAlignment:
504
+ Description: "Align ends correctly."
505
+ Enabled: true
506
+ VersionAdded: "0.53"
507
+ # The value `keyword` means that `end` should be aligned with the matching
508
+ # keyword (`if`, `while`, etc.).
509
+ # The value `variable` means that in assignments, `end` should be aligned
510
+ # with the start of the variable on the left hand side of `=`. In all other
511
+ # situations, `end` should still be aligned with the keyword.
512
+ # The value `start_of_line` means that `end` should be aligned with the start
513
+ # of the line which the matching keyword appears on.
514
+ EnforcedStyleAlignWith: keyword
515
+ SupportedStylesAlignWith:
516
+ - keyword
517
+ - variable
518
+ - start_of_line
519
+ # ClearCove
520
+ AutoCorrect: true
521
+ Severity: warning
522
+
523
+ # Prefer &&/|| over and/or.
524
+ Style/AndOr:
525
+ Enabled: true
526
+
527
+ # Align `when` with `case`.
528
+ Layout/CaseIndentation:
529
+ Enabled: false
530
+
531
+ # Align comments with method definitions.
532
+ Layout/CommentIndentation:
533
+ Enabled: true
534
+
535
+ Layout/ElseAlignment:
536
+ Enabled: false
537
+
538
+ Layout/EmptyLineAfterMagicComment:
539
+ Enabled: true
540
+
541
+ Layout/EmptyLinesAroundBlockBody:
542
+ Enabled: false
543
+
544
+ Layout/FirstArgumentIndentation:
545
+ Enabled: true
546
+
547
+ # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
548
+ Style/HashSyntax:
549
+ Enabled: true
550
+
551
+ # Detect hard tabs, no hard tabs.
552
+ Layout/IndentationStyle:
553
+ Enabled: true
554
+
555
+ # Two spaces, no tabs (for indentation).
556
+ Layout/IndentationWidth:
557
+ Enabled: true
558
+
559
+ Layout/LeadingCommentSpace:
560
+ Enabled: true
561
+
562
+ Layout/SpaceAfterColon:
563
+ Enabled: true
564
+
565
+ Layout/SpaceAfterComma:
566
+ Enabled: true
567
+
568
+ Layout/SpaceAfterSemicolon:
569
+ Enabled: true
570
+
571
+ Layout/SpaceAroundEqualsInParameterDefault:
572
+ Enabled: true
573
+
574
+ Layout/SpaceAroundKeyword:
575
+ Enabled: true
576
+
577
+ Layout/SpaceAroundOperators:
578
+ Enabled: true
579
+
580
+ Layout/SpaceBeforeComma:
581
+ Enabled: true
582
+
583
+ Layout/SpaceBeforeComment:
584
+ Enabled: true
585
+
586
+ Layout/SpaceBeforeFirstArg:
587
+ Enabled: true
588
+
589
+ Style/DefWithParentheses:
590
+ Enabled: true
591
+
592
+ # Defining a method with parameters needs parentheses.
593
+ Style/MethodDefParentheses:
594
+ Enabled: true
595
+
596
+ Style/RedundantFreeze:
597
+ Enabled: true
598
+
599
+ # Use `foo {}` not `foo{}`.
600
+ Layout/SpaceBeforeBlockBraces:
601
+ Enabled: true
602
+
603
+ # Use `foo { bar }` not `foo {bar}`.
604
+ Layout/SpaceInsideBlockBraces:
605
+ Enabled: true
606
+ EnforcedStyleForEmptyBraces: space
607
+
608
+ # Use `{ a: 1 }` not `{a:1}`.
609
+ Layout/SpaceInsideHashLiteralBraces:
610
+ Enabled: true
611
+
612
+ Layout/SpaceInsideParens:
613
+ Enabled: true
614
+
615
+ # Blank lines should not have any spaces.
616
+ Layout/TrailingEmptyLines:
617
+ Enabled: true
618
+
619
+ # No trailing whitespace.
620
+ Layout/TrailingWhitespace:
621
+ Enabled: true
622
+
623
+ # Use quotes for string literals when they are enough.
624
+ Style/RedundantPercentQ:
625
+ Enabled: true
626
+
627
+ Lint/Void:
628
+ Enabled: false
629
+
630
+ Lint/AmbiguousOperator:
631
+ Enabled: true
632
+
633
+ Lint/AmbiguousRegexpLiteral:
634
+ Enabled: true
635
+
636
+ Lint/ErbNewArguments:
637
+ Enabled: true
638
+
639
+ # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
640
+ Lint/RequireParentheses:
641
+ Enabled: true
642
+
643
+ Lint/ShadowingOuterLocalVariable:
644
+ Enabled: true
645
+
646
+ Lint/RedundantStringCoercion:
647
+ Enabled: true
648
+
649
+ Lint/UriEscapeUnescape:
650
+ Enabled: true
651
+
652
+ Lint/UselessAssignment:
653
+ Enabled: true
654
+
655
+ Lint/DeprecatedClassMethods:
656
+ Enabled: true
657
+
658
+ Lint/Debugger:
659
+ Enabled: false
660
+
661
+ Style/ParenthesesAroundCondition:
662
+ Enabled: true
663
+
664
+ Style/RedundantBegin:
665
+ Enabled: true
666
+
667
+ Style/RedundantReturn:
668
+ Enabled: true
669
+ AllowMultipleReturnValues: true
670
+
671
+ Style/Semicolon:
672
+ Enabled: true
673
+ AllowAsExpressionSeparator: true
674
+
675
+ # Prefer Foo.method over Foo::method
676
+ Style/ColonMethodCall:
677
+ Enabled: true
678
+
679
+ Style/TrivialAccessors:
680
+ Enabled: true
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.4.1
@@ -0,0 +1,6 @@
1
+ {
2
+ "recommendations": [
3
+ "rust-lang.rust-analyzer",
4
+ "shopify.ruby-lsp"
5
+ ]
6
+ }