File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed
Sources/NumberSystems/Positional/Models Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change
1
+ public struct NadalaNumber : PositionalNumberSystemizable {
2
+ public enum Digit : Int {
3
+ case tɑ
4
+ case no , nɛ, nu, nɑ
5
+ case `do`, dɛ, du, dɑ
6
+ case lo , lɛ, lu, lɑ
7
+ }
8
+ }
9
+
10
+ extension NadalaNumber . Digit : PositionalDigitSystemizable {
11
+ public static var placeholder : Self { . tɑ }
12
+
13
+ public var predecessor : Self {
14
+ switch self {
15
+ case . lɑ: return . lu
16
+ case . lu: return . lɛ
17
+ case . lɛ: return . lo
18
+ case . lo: return . dɑ
19
+ case . dɑ: return . du
20
+ case . du: return . dɛ
21
+ case . dɛ: return . do
22
+ case . do: return . nɑ
23
+ case . nɑ: return . nu
24
+ case . nu: return . nɛ
25
+ case . nɛ: return . no
26
+ case . no: return . placeholder
27
+ default : Self . fatalPredecessionError ( )
28
+ }
29
+ }
30
+ }
Original file line number Diff line number Diff line change
1
+ import Testing
2
+ @testable import NumberSystems
3
+
4
+ @Test func quantitiesOfNadalaDigits( ) async throws {
5
+ NadalaNumber . Digit. allCases. forEach {
6
+ #expect( $0. quantityMatchesCardinality)
7
+ }
8
+ }
You can’t perform that action at this time.
0 commit comments