@obinexusmk2/hypernum 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +355 -256
  3. package/dist/index.cjs +4 -8
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +4 -7
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.umd.js +2 -2
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/types/{config → src/config}/config-loader.d.ts +0 -0
  11. package/dist/types/src/config/config-loader.d.ts.map +1 -0
  12. package/dist/types/{config → src/config}/config-parser.d.ts +0 -0
  13. package/dist/types/src/config/config-parser.d.ts.map +1 -0
  14. package/dist/types/{config → src/config}/config-resolver.d.ts +0 -0
  15. package/dist/types/src/config/config-resolver.d.ts.map +1 -0
  16. package/dist/types/{config → src/config}/config-source.d.ts +0 -0
  17. package/dist/types/src/config/config-source.d.ts.map +1 -0
  18. package/dist/types/{config → src/config}/index.d.ts +0 -0
  19. package/dist/types/src/config/index.d.ts.map +1 -0
  20. package/dist/types/{core → src/core}/common.d.ts +0 -0
  21. package/dist/types/src/core/common.d.ts.map +1 -0
  22. package/dist/types/{core → src/core}/config.d.ts +0 -0
  23. package/dist/types/src/core/config.d.ts.map +1 -0
  24. package/dist/types/{core → src/core}/constants.d.ts +0 -0
  25. package/dist/types/src/core/constants.d.ts.map +1 -0
  26. package/dist/types/{core → src/core}/errors.d.ts +0 -0
  27. package/dist/types/src/core/errors.d.ts.map +1 -0
  28. package/dist/types/{core → src/core}/hypernum.d.ts +0 -0
  29. package/dist/types/src/core/hypernum.d.ts.map +1 -0
  30. package/dist/types/{core → src/core}/index.d.ts +0 -0
  31. package/dist/types/src/core/index.d.ts.map +1 -0
  32. package/dist/types/{index.d.ts → src/index.d.ts} +1 -1
  33. package/dist/types/src/index.d.ts.map +1 -0
  34. package/dist/types/{operations → src/operations}/arithmetic.d.ts +0 -0
  35. package/dist/types/src/operations/arithmetic.d.ts.map +1 -0
  36. package/dist/types/{operations → src/operations}/bitwise.d.ts +0 -0
  37. package/dist/types/src/operations/bitwise.d.ts.map +1 -0
  38. package/dist/types/{operations → src/operations}/comparison.d.ts +0 -0
  39. package/dist/types/src/operations/comparison.d.ts.map +1 -0
  40. package/dist/types/{operations → src/operations}/conversion.d.ts +0 -0
  41. package/dist/types/src/operations/conversion.d.ts.map +1 -0
  42. package/dist/types/{operations → src/operations}/factorial.d.ts +0 -0
  43. package/dist/types/src/operations/factorial.d.ts.map +1 -0
  44. package/dist/types/{operations → src/operations}/index.d.ts +0 -0
  45. package/dist/types/src/operations/index.d.ts.map +1 -0
  46. package/dist/types/{operations → src/operations}/power.d.ts +0 -0
  47. package/dist/types/src/operations/power.d.ts.map +1 -0
  48. package/dist/types/{storage → src/storage}/Heap.d.ts +0 -0
  49. package/dist/types/src/storage/Heap.d.ts.map +1 -0
  50. package/dist/types/{storage → src/storage}/index.d.ts +0 -0
  51. package/dist/types/src/storage/index.d.ts.map +1 -0
  52. package/dist/types/{structures → src/structures}/ackermann.d.ts +0 -0
  53. package/dist/types/src/structures/ackermann.d.ts.map +1 -0
  54. package/dist/types/{structures → src/structures}/big-array.d.ts +0 -0
  55. package/dist/types/src/structures/big-array.d.ts.map +1 -0
  56. package/dist/types/{structures → src/structures}/index.d.ts +0 -0
  57. package/dist/types/src/structures/index.d.ts.map +1 -0
  58. package/dist/types/{structures → src/structures}/number-tree.d.ts +0 -0
  59. package/dist/types/src/structures/number-tree.d.ts.map +1 -0
  60. package/dist/types/{structures → src/structures}/power-tower.d.ts +0 -0
  61. package/dist/types/src/structures/power-tower.d.ts.map +1 -0
  62. package/dist/types/{utils → src/utils}/formatting.d.ts +0 -0
  63. package/dist/types/src/utils/formatting.d.ts.map +1 -0
  64. package/dist/types/{utils → src/utils}/index.d.ts +0 -0
  65. package/dist/types/src/utils/index.d.ts.map +1 -0
  66. package/dist/types/{utils → src/utils}/parser.d.ts +0 -0
  67. package/dist/types/src/utils/parser.d.ts.map +1 -0
  68. package/dist/types/{utils → src/utils}/precision.d.ts +0 -0
  69. package/dist/types/src/utils/precision.d.ts.map +1 -0
  70. package/dist/types/{utils → src/utils}/validation.d.ts +0 -0
  71. package/dist/types/src/utils/validation.d.ts.map +1 -0
  72. package/package.json +169 -164
  73. package/rollup.config.js +163 -161
  74. package/src/cli/hypernum.js +272 -0
  75. package/src/config/config-loader.ts +0 -0
  76. package/src/config/config-parser.ts +160 -160
  77. package/src/config/config-resolver.ts +0 -0
  78. package/src/config/config-source.ts +0 -0
  79. package/src/config/index.ts +0 -0
  80. package/src/core/common.ts +184 -184
  81. package/src/core/config.ts +392 -392
  82. package/src/core/constants.ts +101 -101
  83. package/src/core/errors.ts +202 -202
  84. package/src/core/hypernum.ts +240 -240
  85. package/src/core/index.ts +4 -4
  86. package/src/index.ts +179 -182
  87. package/src/operations/arithmetic.ts +332 -332
  88. package/src/operations/bitwise.ts +366 -366
  89. package/src/operations/comparison.ts +271 -271
  90. package/src/operations/conversion.ts +399 -399
  91. package/src/operations/factorial.ts +278 -278
  92. package/src/operations/index.ts +4 -4
  93. package/src/operations/power.ts +315 -315
  94. package/src/storage/Heap.ts +237 -237
  95. package/src/storage/index.ts +0 -0
  96. package/src/structures/ackermann.ts +232 -232
  97. package/src/structures/big-array.ts +305 -305
  98. package/src/structures/index.ts +3 -3
  99. package/src/structures/number-tree.ts +403 -403
  100. package/src/structures/power-tower.ts +277 -277
  101. package/src/types/common.d.ts +356 -356
  102. package/src/types/core.d.ts +160 -160
  103. package/src/types/index.d.ts +1 -1
  104. package/src/utils/formatting.ts +245 -245
  105. package/src/utils/index.ts +4 -4
  106. package/src/utils/parser.ts +244 -244
  107. package/src/utils/precision.ts +216 -216
  108. package/src/utils/validation.ts +182 -182
  109. package/tsconfig.json +83 -83
  110. package/dist/types/config/config-loader.d.ts.map +0 -1
  111. package/dist/types/config/config-parser.d.ts.map +0 -1
  112. package/dist/types/config/config-resolver.d.ts.map +0 -1
  113. package/dist/types/config/config-source.d.ts.map +0 -1
  114. package/dist/types/config/index.d.ts.map +0 -1
  115. package/dist/types/core/common.d.ts.map +0 -1
  116. package/dist/types/core/config.d.ts.map +0 -1
  117. package/dist/types/core/constants.d.ts.map +0 -1
  118. package/dist/types/core/errors.d.ts.map +0 -1
  119. package/dist/types/core/hypernum.d.ts.map +0 -1
  120. package/dist/types/core/index.d.ts.map +0 -1
  121. package/dist/types/index.d.ts.map +0 -1
  122. package/dist/types/operations/arithmetic.d.ts.map +0 -1
  123. package/dist/types/operations/bitwise.d.ts.map +0 -1
  124. package/dist/types/operations/comparison.d.ts.map +0 -1
  125. package/dist/types/operations/conversion.d.ts.map +0 -1
  126. package/dist/types/operations/factorial.d.ts.map +0 -1
  127. package/dist/types/operations/index.d.ts.map +0 -1
  128. package/dist/types/operations/power.d.ts.map +0 -1
  129. package/dist/types/storage/Heap.d.ts.map +0 -1
  130. package/dist/types/storage/index.d.ts.map +0 -1
  131. package/dist/types/structures/ackermann.d.ts.map +0 -1
  132. package/dist/types/structures/big-array.d.ts.map +0 -1
  133. package/dist/types/structures/index.d.ts.map +0 -1
  134. package/dist/types/structures/number-tree.d.ts.map +0 -1
  135. package/dist/types/structures/power-tower.d.ts.map +0 -1
  136. package/dist/types/utils/formatting.d.ts.map +0 -1
  137. package/dist/types/utils/index.d.ts.map +0 -1
  138. package/dist/types/utils/parser.d.ts.map +0 -1
  139. package/dist/types/utils/precision.d.ts.map +0 -1
  140. package/dist/types/utils/validation.d.ts.map +0 -1
@@ -1,185 +1,185 @@
1
- /**
2
- * Common type definitions for Hypernum library
3
- * Contains shared types used throughout the library's modules
4
- */
5
-
6
- import { RoundingMode } from '../utils/precision';
7
-
8
- /**
9
- * Valid input types for numeric values
10
- */
11
- export type NumericInput = bigint | string | number;
12
-
13
- /**
14
- * Result type for operations that may fail
15
- */
16
- export type Result<T> = {
17
- /** Whether the operation succeeded */
18
- success: boolean;
19
- /** The operation result if successful */
20
- value?: T;
21
- /** Error message if operation failed */
22
- error?: string;
23
- };
24
-
25
- /**
26
- * Base options interface for operations
27
- */
28
- export interface BaseOptions {
29
- /** Decimal precision for operations */
30
- precision?: number;
31
- /** Rounding mode for decimal operations */
32
- roundingMode?: RoundingMode;
33
- /** Whether to check for overflow */
34
- checkOverflow?: boolean;
35
- }
36
-
37
- /**
38
- * Options for number formatting
39
- */
40
- export interface FormatOptions extends BaseOptions {
41
- /** Number notation style */
42
- notation?: 'standard' | 'scientific' | 'engineering' | 'compact';
43
- /** Enable grouping separators */
44
- grouping?: boolean;
45
- /** Size of digit groups */
46
- groupSize?: number;
47
- /** Decimal point character */
48
- decimalSeparator?: string;
49
- /** Grouping separator character */
50
- groupSeparator?: string;
51
- /** Convert to uppercase (for special formats) */
52
- uppercase?: boolean;
53
- }
54
-
55
- /**
56
- * Cache configuration
57
- */
58
- export interface CacheConfig {
59
- /** Maximum number of entries */
60
- maxSize: number;
61
- /** Time-to-live in milliseconds */
62
- ttl?: number;
63
- /** Eviction policy */
64
- evictionPolicy?: 'LRU' | 'LFU' | 'FIFO';
65
- }
66
-
67
- /**
68
- * Mathematical constants configuration
69
- */
70
- export interface MathConstantsConfig {
71
- /** Precision for constant calculations */
72
- precision: number;
73
- /** Enable caching of computed values */
74
- cache?: boolean;
75
- /** Custom calculation algorithm */
76
- algorithm?: 'series' | 'iteration' | 'approximation';
77
- }
78
-
79
- /**
80
- * Debug configuration
81
- */
82
- export interface DebugConfig {
83
- /** Enable detailed logging */
84
- verbose: boolean;
85
- /** Track operation performance */
86
- trackPerformance: boolean;
87
- /** Log level */
88
- logLevel: 'error' | 'warn' | 'info' | 'debug';
89
- }
90
-
91
- /**
92
- * Numeric range specification
93
- */
94
- export interface NumericRange {
95
- /** Start of range (inclusive) */
96
- start: bigint;
97
- /** End of range (inclusive) */
98
- end: bigint;
99
- /** Step size for iteration */
100
- step?: bigint;
101
- }
102
-
103
- /**
104
- * Operation status monitoring
105
- */
106
- export interface OperationStatus {
107
- /** Current phase of operation */
108
- phase: string;
109
- /** Percentage complete (0-100) */
110
- progress: number;
111
- /** Estimated time remaining (ms) */
112
- estimatedTimeRemaining?: number;
113
- /** Memory usage in bytes */
114
- memoryUsage?: number;
115
- /** Computation steps completed */
116
- steps: number;
117
- }
118
-
119
- /**
120
- * Performance metrics
121
- */
122
- export interface PerformanceMetrics {
123
- /** Operation execution time (ms) */
124
- executionTime: number;
125
- /** Number of computation steps */
126
- steps: number;
127
- /** Peak memory usage (bytes) */
128
- peakMemory: number;
129
- /** Cache hit rate (0-1) */
130
- cacheHitRate?: number;
131
- }
132
-
133
- /**
134
- * Comparison function type
135
- * Returns:
136
- * -1: a < b
137
- * 0: a = b
138
- * 1: a > b
139
- */
140
- export type Comparator<T> = (a: T, b: T) => -1 | 0 | 1;
141
-
142
- /**
143
- * Progress callback type
144
- */
145
- export type ProgressCallback = (status: OperationStatus) => void;
146
-
147
- /**
148
- * Error callback type
149
- */
150
- export type ErrorCallback = (error: Error, phase: string) => void;
151
-
152
- /**
153
- * Value validation function type
154
- */
155
- export type Validator<T> = (value: T) => boolean;
156
-
157
- /**
158
- * Node statistics interface
159
- */
160
- export interface NodeStats {
161
- /** Node height in tree */
162
- height: number;
163
- /** Subtree size */
164
- size: number;
165
- /** Sum of subtree values */
166
- sum: bigint;
167
- /** Minimum value in subtree */
168
- min: bigint;
169
- /** Maximum value in subtree */
170
- max: bigint;
171
- }
172
-
173
- /**
174
- * Operation options interface
175
- */
176
- export interface OperationOptions extends BaseOptions {
177
- /** Maximum computation steps */
178
- maxSteps?: number;
179
- /** Progress callback */
180
- onProgress?: ProgressCallback;
181
- /** Error callback */
182
- onError?: ErrorCallback;
183
- /** Value validator */
184
- validator?: Validator<bigint>;
1
+ /**
2
+ * Common type definitions for Hypernum library
3
+ * Contains shared types used throughout the library's modules
4
+ */
5
+
6
+ import { RoundingMode } from '../utils/precision';
7
+
8
+ /**
9
+ * Valid input types for numeric values
10
+ */
11
+ export type NumericInput = bigint | string | number;
12
+
13
+ /**
14
+ * Result type for operations that may fail
15
+ */
16
+ export type Result<T> = {
17
+ /** Whether the operation succeeded */
18
+ success: boolean;
19
+ /** The operation result if successful */
20
+ value?: T;
21
+ /** Error message if operation failed */
22
+ error?: string;
23
+ };
24
+
25
+ /**
26
+ * Base options interface for operations
27
+ */
28
+ export interface BaseOptions {
29
+ /** Decimal precision for operations */
30
+ precision?: number;
31
+ /** Rounding mode for decimal operations */
32
+ roundingMode?: RoundingMode;
33
+ /** Whether to check for overflow */
34
+ checkOverflow?: boolean;
35
+ }
36
+
37
+ /**
38
+ * Options for number formatting
39
+ */
40
+ export interface FormatOptions extends BaseOptions {
41
+ /** Number notation style */
42
+ notation?: 'standard' | 'scientific' | 'engineering' | 'compact';
43
+ /** Enable grouping separators */
44
+ grouping?: boolean;
45
+ /** Size of digit groups */
46
+ groupSize?: number;
47
+ /** Decimal point character */
48
+ decimalSeparator?: string;
49
+ /** Grouping separator character */
50
+ groupSeparator?: string;
51
+ /** Convert to uppercase (for special formats) */
52
+ uppercase?: boolean;
53
+ }
54
+
55
+ /**
56
+ * Cache configuration
57
+ */
58
+ export interface CacheConfig {
59
+ /** Maximum number of entries */
60
+ maxSize: number;
61
+ /** Time-to-live in milliseconds */
62
+ ttl?: number;
63
+ /** Eviction policy */
64
+ evictionPolicy?: 'LRU' | 'LFU' | 'FIFO';
65
+ }
66
+
67
+ /**
68
+ * Mathematical constants configuration
69
+ */
70
+ export interface MathConstantsConfig {
71
+ /** Precision for constant calculations */
72
+ precision: number;
73
+ /** Enable caching of computed values */
74
+ cache?: boolean;
75
+ /** Custom calculation algorithm */
76
+ algorithm?: 'series' | 'iteration' | 'approximation';
77
+ }
78
+
79
+ /**
80
+ * Debug configuration
81
+ */
82
+ export interface DebugConfig {
83
+ /** Enable detailed logging */
84
+ verbose: boolean;
85
+ /** Track operation performance */
86
+ trackPerformance: boolean;
87
+ /** Log level */
88
+ logLevel: 'error' | 'warn' | 'info' | 'debug';
89
+ }
90
+
91
+ /**
92
+ * Numeric range specification
93
+ */
94
+ export interface NumericRange {
95
+ /** Start of range (inclusive) */
96
+ start: bigint;
97
+ /** End of range (inclusive) */
98
+ end: bigint;
99
+ /** Step size for iteration */
100
+ step?: bigint;
101
+ }
102
+
103
+ /**
104
+ * Operation status monitoring
105
+ */
106
+ export interface OperationStatus {
107
+ /** Current phase of operation */
108
+ phase: string;
109
+ /** Percentage complete (0-100) */
110
+ progress: number;
111
+ /** Estimated time remaining (ms) */
112
+ estimatedTimeRemaining?: number;
113
+ /** Memory usage in bytes */
114
+ memoryUsage?: number;
115
+ /** Computation steps completed */
116
+ steps: number;
117
+ }
118
+
119
+ /**
120
+ * Performance metrics
121
+ */
122
+ export interface PerformanceMetrics {
123
+ /** Operation execution time (ms) */
124
+ executionTime: number;
125
+ /** Number of computation steps */
126
+ steps: number;
127
+ /** Peak memory usage (bytes) */
128
+ peakMemory: number;
129
+ /** Cache hit rate (0-1) */
130
+ cacheHitRate?: number;
131
+ }
132
+
133
+ /**
134
+ * Comparison function type
135
+ * Returns:
136
+ * -1: a < b
137
+ * 0: a = b
138
+ * 1: a > b
139
+ */
140
+ export type Comparator<T> = (a: T, b: T) => -1 | 0 | 1;
141
+
142
+ /**
143
+ * Progress callback type
144
+ */
145
+ export type ProgressCallback = (status: OperationStatus) => void;
146
+
147
+ /**
148
+ * Error callback type
149
+ */
150
+ export type ErrorCallback = (error: Error, phase: string) => void;
151
+
152
+ /**
153
+ * Value validation function type
154
+ */
155
+ export type Validator<T> = (value: T) => boolean;
156
+
157
+ /**
158
+ * Node statistics interface
159
+ */
160
+ export interface NodeStats {
161
+ /** Node height in tree */
162
+ height: number;
163
+ /** Subtree size */
164
+ size: number;
165
+ /** Sum of subtree values */
166
+ sum: bigint;
167
+ /** Minimum value in subtree */
168
+ min: bigint;
169
+ /** Maximum value in subtree */
170
+ max: bigint;
171
+ }
172
+
173
+ /**
174
+ * Operation options interface
175
+ */
176
+ export interface OperationOptions extends BaseOptions {
177
+ /** Maximum computation steps */
178
+ maxSteps?: number;
179
+ /** Progress callback */
180
+ onProgress?: ProgressCallback;
181
+ /** Error callback */
182
+ onError?: ErrorCallback;
183
+ /** Value validator */
184
+ validator?: Validator<bigint>;
185
185
  }