Skip to content

Commit 1f2d5d8

Browse files
author
Dr. Brandon Wiley
committed
Changed Symbol from using Int to BigInteger
1 parent 3c2eec0 commit 1f2d5d8

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Codex/src/main/java/org/operatorfoundation/codex/symbols/Binary.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
package org.operatorfoundation.codex.symbols
22

3+
import java.math.BigInteger
4+
35
class Binary : Symbol {
46
override fun size(): Int = 2
57

68
override fun toString(): String {
79
return "Binary"
810
}
911

10-
override fun decode(encodedValue: ByteArray): Int {
12+
override fun decode(encodedValue: ByteArray): BigInteger {
1113
return when (encodedValue.decodeToString()) {
1214
"0" -> 0
1315
"1" -> 1
1416
else -> throw IllegalArgumentException("Binary, bad value $encodedValue")
1517
}
1618
}
1719

18-
override fun encode(numericValue: Int): ByteArray {
20+
override fun encode(numericValue: BigInteger): ByteArray {
1921
return when (numericValue) {
2022
0 -> "0".toByteArray()
2123
1 -> "1".toByteArray()

Codex/src/main/java/org/operatorfoundation/codex/symbols/Symbol.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.operatorfoundation.codex.symbols
22

3+
import java.math.BigInteger
4+
35
/**
46
* Base interface for all symbol types that can encode/decode values.
57
* Symbols represent different character sets or value ranges (e.g., letters, numbers, bytes).
@@ -21,7 +23,7 @@ interface Symbol
2123
* @param encodedValue Can be Char, String, or Int depending on the symbol
2224
* @return The decoded integer value
2325
*/
24-
fun decode(encodedValue: ByteArray): Int
26+
fun decode(encodedValue: ByteArray): BigInteger
2527

2628
/**
2729
* Encodes a numeric value to its symbol representation.
@@ -30,5 +32,5 @@ interface Symbol
3032
* @param numericValue The integer to encode
3133
* @return Can be Char, String, or Int depending on the symbol
3234
*/
33-
fun encode(numericValue: Int): ByteArray
35+
fun encode(numericValue: BigInteger): ByteArray
3436
}

0 commit comments

Comments
 (0)