File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,23 +8,25 @@ and the relationships between its classes.
88``` mermaid
99classDiagram
1010 class Sequence~T~ {
11+ %% Attributes
1112 +finite
1213 +first_index
1314 +last_index
1415 +size
16+
17+ %% Methods
1518 +combine(other, op)
1619 +head(size)
1720 +map(op)
1821 +shift_by(offset)
1922 +shift_to(where)
23+ +subiter(start, stop, step)
2024 +subsequence(subrule, size)
2125 +tail(size)
22- +constant(value, size, first_index)$
23- +from_iterable(iterable, first_index)$
24- #_rule
2526 }
2627
2728 class NumericSequence {
29+ %% Methods
2830 +__add__(other)
2931 +__radd__(other)
3032 +__sub__(other)
@@ -42,19 +44,10 @@ classDiagram
4244 +__neg__()
4345 +__abs__()
4446 +map(op)
45- +euler()$
46- +geometric(first_term, common_ratio, size, first_index)$
47- +naturals(size, first_index)$
48- +progression(first_term, common_difference, size, first_index)$
4947 }
5048
5149 Sequence <|-- NumericSequence
5250
53- class Recurrence {
54- +basis
55- +order
56- }
57-
5851 Sequence <|-- Recurrence
5952
6053 NumericSequence <|-- NumericRecurrence
@@ -65,8 +58,6 @@ classDiagram
6558
6659## Notes
6760
68- - ` $ ` is used in this diagram to denote a static method. The static
69- methods shown here are factory methods.
7061- ` Sequence ` is the base abstraction for sequences in the package.
7162- ` NumericSequence ` inherits from ` Sequence ` and implements arithmetic
7263 operators through Python's special methods.
Original file line number Diff line number Diff line change @@ -250,3 +250,9 @@ All checks should pass before committing.
250250This same sequence is automated by the project's CI workflow, which
251251uses the empty-tree hash to check every file in the repository rather
252252than just staged changes.
253+
254+ ## Architecture Diagrams
255+
256+ - Specify only public instance attributes and methods;
257+ - Order members alphabetically unless grouping them has a meaningful
258+ structural or conceptual purpose.
Original file line number Diff line number Diff line change 8383
8484- Should ` BinarySequence ` /` RandomSequence ` abstractions be added?
8585
86- - Decide which protected members and nested classes should be
87- represented in ` ARCHITECTURE.md ` .
88-
8986- Should ` {rₙ} ` be used to denote ` Recurrence ` and ` NumericRecurrence `
9087 instead of ` {aₙ} ` ?
You can’t perform that action at this time.
0 commit comments