Skip to content

Commit 5273a8b

Browse files
committed
Features:
Bug Fixes/Re-organization: - Spaces Iterator Iteration Helper (1) - Spaces Iterator Iteration Helper - Check for Repeating Index #1 (2, 3) - Spaces Iterator Iteration Helper - Check for Repeating Index #2 (4, 5) - Spaces Iterator Iteration Helper - Dump Repeating Index #1 (6, 7, 8) - Spaces Iterator Iteration Helper - Dump Repeating Index #2 (9, 10) - Spaces Iterator Iteration Helper - Compose from Index #1 (11, 12) - Spaces Iterator Iteration Helper - Compose from Index #2 (13, 14, 15) - Spaces Iterator R^d Spanning State Space Scan (16, 17, 18) - Spaces Iterator R^d Spanning State Space Scan - Cyclical (19, 20) - Spaces Iterator R^d Spanning State Space Scan - Index Cursor Array (21, 22) - Spaces Iterator R^d Spanning State Space Scan - Terminal Index Array (23, 24) - Spaces Iterator R^d Spanning State Space Scan - Constructor #1 (25, 26, 27) - Spaces Iterator R^d Spanning State Space Scan - Constructor #2 (28, 29, 30) - Spaces Iterator R^d Spanning State Space Scan - Constructor #3 (31, 32) - Spaces Iterator R^d Spanning State Space Scan - Set Index Cursor (33, 34, 35) - Spaces Iterator R^d Spanning State Space Scan - Dimension (36) - Spaces Iterator R^d Spanning State Space Scan - Reset Index Cursor (37) - Spaces Iterator R^d Spanning State Space Scan - Next Index Cursor (38) - Spaces Iterator Sequence Index (39, 40, 41) - Spaces Iterator Sequence Index - Maximum Entries Per (42) - Spaces Iterator Sequence Index - Cursor #1 (43) - Spaces Iterator Sequence Index - Cycle (44) - Spaces Iterator Sequence Index - Cursor #2 (45) - Spaces Iterator Sequence Index - Constructor #1 (46, 47, 48) - Spaces Iterator Sequence Index - Constructor #2 (49, 50, 51) - Spaces Iterator Sequence Index - Constructor #3 (52) - Spaces Iterator Sequence Index - Set From Cursor #1 (53, 54) - Spaces Iterator Sequence Index - Set From Cursor #2 (55, 56, 57) - Spaces Iterator Sequence Index - First (58, 59, 60) Samples: IdeaDRIP:
1 parent 8d3662d commit 5273a8b

File tree

5 files changed

+212
-100
lines changed

5 files changed

+212
-100
lines changed

ReleaseNotes/09_21_2023.txt

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
2+
Features:
3+
4+
Bug Fixes/Re-organization:
5+
6+
- Spaces Iterator Iteration Helper (1)
7+
- Spaces Iterator Iteration Helper - Check for Repeating Index #1 (2, 3)
8+
- Spaces Iterator Iteration Helper - Check for Repeating Index #2 (4, 5)
9+
- Spaces Iterator Iteration Helper - Dump Repeating Index #1 (6, 7, 8)
10+
- Spaces Iterator Iteration Helper - Dump Repeating Index #2 (9, 10)
11+
- Spaces Iterator Iteration Helper - Compose from Index #1 (11, 12)
12+
- Spaces Iterator Iteration Helper - Compose from Index #2 (13, 14, 15)
13+
- Spaces Iterator R^d Spanning State Space Scan (16, 17, 18)
14+
- Spaces Iterator R^d Spanning State Space Scan - Cyclical (19, 20)
15+
- Spaces Iterator R^d Spanning State Space Scan - Index Cursor Array (21, 22)
16+
- Spaces Iterator R^d Spanning State Space Scan - Terminal Index Array (23, 24)
17+
- Spaces Iterator R^d Spanning State Space Scan - Constructor #1 (25, 26, 27)
18+
- Spaces Iterator R^d Spanning State Space Scan - Constructor #2 (28, 29, 30)
19+
- Spaces Iterator R^d Spanning State Space Scan - Constructor #3 (31, 32)
20+
- Spaces Iterator R^d Spanning State Space Scan - Set Index Cursor (33, 34, 35)
21+
- Spaces Iterator R^d Spanning State Space Scan - Dimension (36)
22+
- Spaces Iterator R^d Spanning State Space Scan - Reset Index Cursor (37)
23+
- Spaces Iterator R^d Spanning State Space Scan - Next Index Cursor (38)
24+
- Spaces Iterator Sequence Index (39, 40, 41)
25+
- Spaces Iterator Sequence Index - Maximum Entries Per (42)
26+
- Spaces Iterator Sequence Index - Cursor #1 (43)
27+
- Spaces Iterator Sequence Index - Cycle (44)
28+
- Spaces Iterator Sequence Index - Cursor #2 (45)
29+
- Spaces Iterator Sequence Index - Constructor #1 (46, 47, 48)
30+
- Spaces Iterator Sequence Index - Constructor #2 (49, 50, 51)
31+
- Spaces Iterator Sequence Index - Constructor #3 (52)
32+
- Spaces Iterator Sequence Index - Set From Cursor #1 (53, 54)
33+
- Spaces Iterator Sequence Index - Set From Cursor #2 (55, 56, 57)
34+
- Spaces Iterator Sequence Index - First (58, 59, 60)
35+
36+
37+
Samples:
38+
39+
IdeaDRIP:

ScheduleSheet.xlsx

4 Bytes
Binary file not shown.

src/main/java/org/drip/spaces/iterator/RdExhaustiveStateSpaceScan.java

+22-8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
*/
77

88
/*!
9+
* Copyright (C) 2025 Lakshmi Krishnamurthy
10+
* Copyright (C) 2024 Lakshmi Krishnamurthy
11+
* Copyright (C) 2023 Lakshmi Krishnamurthy
912
* Copyright (C) 2022 Lakshmi Krishnamurthy
1013
* Copyright (C) 2021 Lakshmi Krishnamurthy
1114
* Copyright (C) 2020 Lakshmi Krishnamurthy
@@ -82,24 +85,35 @@
8285

8386
/**
8487
* <i>RdExhaustiveStateSpaceScan</i> contains the Functionality to iterate exhaustively through the
85-
* R<sup>d</sup> Space.
88+
* R<sup>d</sup> Space.
89+
*
90+
* It provides the following Functionality:
8691
*
87-
* <br><br>
8892
* <ul>
89-
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
90-
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></li>
91-
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></li>
92-
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/iterator/README.md">Iterative/Exhaustive Vector Space Scanners</a></li>
93+
* <li><i>RdExhaustiveStateSpaceScan</i> Constructor</li>
9394
* </ul>
94-
* <br><br>
95+
*
96+
* <br>
97+
* <style>table, td, th {
98+
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
99+
* text-align: center; color: #0000ff;
100+
* }
101+
* </style>
102+
*
103+
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
104+
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
105+
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></td></tr>
106+
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></td></tr>
107+
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/iterator/README.md">Iterative/Exhaustive Vector Space Scanners</a></td></tr>
108+
* </table>
95109
*
96110
* @author Lakshmi Krishnamurthy
97111
*/
98112

99113
public class RdExhaustiveStateSpaceScan extends org.drip.spaces.iterator.RdSpanningStateSpaceScan {
100114

101115
/**
102-
* RdExhaustiveStateSpaceScan Constructor
116+
* <i>RdExhaustiveStateSpaceScan</i> Constructor
103117
*
104118
* @param aiTerminalStateIndex Upper Array Bounds for each Dimension
105119
* @param bCyclicalScan TRUE - Cycle Post a Full Scan

src/main/java/org/drip/spaces/iterator/RdSpanningStateSpaceScan.java

+59-33
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
*/
77

88
/*!
9+
* Copyright (C) 2025 Lakshmi Krishnamurthy
10+
* Copyright (C) 2024 Lakshmi Krishnamurthy
11+
* Copyright (C) 2023 Lakshmi Krishnamurthy
912
* Copyright (C) 2022 Lakshmi Krishnamurthy
1013
* Copyright (C) 2021 Lakshmi Krishnamurthy
1114
* Copyright (C) 2020 Lakshmi Krishnamurthy
@@ -82,56 +85,79 @@
8285

8386
/**
8487
* <i>RdSpanningStateSpaceScan</i> is the Abstract Iterator Class that contains the Functionality to perform
85-
* a Spanning Iterative Scan through an R<sup>d</sup> State Space.
88+
* a Spanning Iterative Scan through an R<sup>d</sup> State Space.
89+
*
90+
* It provides the following Functionality:
8691
*
87-
* <br><br>
8892
* <ul>
89-
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
90-
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></li>
91-
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></li>
92-
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/iterator/README.md">Iterative/Exhaustive Vector Space Scanners</a></li>
93+
* <li>Retrieve the Array of the Terminal State Indexes</li>
94+
* <li>Retrieve the Dimension</li>
95+
* <li>Retrieve the State Index Cursor</li>
96+
* <li>Retrieve the Cyclical Scan Flag</li>
97+
* <li>Reset and retrieve the State Index Cursor</li>
98+
* <li>Move to the Subsequent Index Cursor</li>
9399
* </ul>
94-
* <br><br>
100+
*
101+
* <br>
102+
* <style>table, td, th {
103+
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
104+
* text-align: center; color: #0000ff;
105+
* }
106+
* </style>
107+
*
108+
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
109+
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
110+
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></td></tr>
111+
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></td></tr>
112+
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/iterator/README.md">Iterative/Exhaustive Vector Space Scanners</a></td></tr>
113+
* </table>
95114
*
96115
* @author Lakshmi Krishnamurthy
97116
*/
98117

99-
public abstract class RdSpanningStateSpaceScan {
100-
private boolean _bCyclicalScan = false;
101-
private int[] _aiStateIndexCursor = null;
102-
private int[] _aiTerminalStateIndex = null;
118+
public abstract class RdSpanningStateSpaceScan
119+
{
120+
private boolean _cyclicalScan = false;
121+
private int[] _stateIndexCursorArray = null;
122+
private int[] _terminalStateIndexArray = null;
103123

104124
protected RdSpanningStateSpaceScan (
105-
final int[] aiTerminalStateIndex,
106-
final boolean bCyclicalScan)
107-
throws java.lang.Exception
125+
final int[] terminalStateIndexArray,
126+
final boolean cyclicalScan)
127+
throws Exception
108128
{
109-
if (null == aiTerminalStateIndex)
110-
throw new java.lang.Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
129+
if (null == terminalStateIndexArray) {
130+
throw new Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
131+
}
111132

112-
int iDimension = aiTerminalStateIndex.length;
113-
_aiTerminalStateIndex = new int[iDimension];
114-
_aiStateIndexCursor = new int[iDimension];
115-
_bCyclicalScan = bCyclicalScan;
133+
int dimension = terminalStateIndexArray.length;
134+
_terminalStateIndexArray = new int[dimension];
135+
_stateIndexCursorArray = new int[dimension];
136+
_cyclicalScan = cyclicalScan;
116137

117-
if (0 == iDimension)
118-
throw new java.lang.Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
138+
if (0 == dimension) {
139+
throw new Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
140+
}
119141

120-
for (int i = 0; i < iDimension; ++i) {
121-
if (0 >= (_aiTerminalStateIndex[i] = aiTerminalStateIndex[i]))
122-
throw new java.lang.Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
142+
for (int i = 0; i < dimension; ++i) {
143+
if (0 >= (_terminalStateIndexArray[i] = terminalStateIndexArray[i])) {
144+
throw new Exception ("RdSpanningStateSpaceScan ctr: Invalid Input");
145+
}
123146

124-
_aiStateIndexCursor[i] = 0;
147+
_stateIndexCursorArray[i] = 0;
125148
}
126149
}
127150

128151
protected boolean setStateIndexCursor (
129-
final int[] aiStateIndexCursor)
152+
final int[] stateIndexCursorArray)
130153
{
131-
if (null == _aiStateIndexCursor || _aiStateIndexCursor.length != _aiTerminalStateIndex.length)
154+
if (null == _stateIndexCursorArray ||
155+
_stateIndexCursorArray.length != _terminalStateIndexArray.length)
156+
{
132157
return false;
158+
}
133159

134-
_aiStateIndexCursor = aiStateIndexCursor;
160+
_stateIndexCursorArray = stateIndexCursorArray;
135161
return true;
136162
}
137163

@@ -143,7 +169,7 @@ protected boolean setStateIndexCursor (
143169

144170
public int[] terminalStateIndex()
145171
{
146-
return _aiTerminalStateIndex;
172+
return _terminalStateIndexArray;
147173
}
148174

149175
/**
@@ -154,7 +180,7 @@ public int[] terminalStateIndex()
154180

155181
public int dimension()
156182
{
157-
return _aiTerminalStateIndex.length;
183+
return _terminalStateIndexArray.length;
158184
}
159185

160186
/**
@@ -165,7 +191,7 @@ public int dimension()
165191

166192
public int[] stateIndexCursor()
167193
{
168-
return _aiStateIndexCursor;
194+
return _stateIndexCursorArray;
169195
}
170196

171197
/**
@@ -176,7 +202,7 @@ public int[] stateIndexCursor()
176202

177203
public boolean cyclicalScan()
178204
{
179-
return _bCyclicalScan;
205+
return _cyclicalScan;
180206
}
181207

182208
/**

0 commit comments

Comments
 (0)