Remove slow Enum.values() access replace by fast method
This commit is contained in:
parent
8c8ed675ac
commit
44e5950c3a
|
@ -102,20 +102,28 @@ public enum FCDotDEC1604DashE2 {
|
|||
UNDEFINED__NX26_Z,
|
||||
UNDEFINED__NX27_AMPERSAND,
|
||||
|
||||
// Encode 21 bit unicode-1 code point ??
|
||||
// _RESERVED1_UNICODE1(), // todo move down
|
||||
// Unicode-4 is 72 bit stroke blocks, which are 12 P6 code points to align.
|
||||
// _WORD_ESC + _TEST_UNICODE4 + <stroke-amount> + manyStrokeBlocks
|
||||
// _RESERVED4_UNICODE4(), // todo move down
|
||||
// TODO LIST;
|
||||
//
|
||||
// Historical glue for ansi codes, TODO: put on P6 index number of '[' and ???
|
||||
// Encode pie numbers 28 and above !!!
|
||||
// XXX_ESC_PIE_2(),
|
||||
// XXX_ESC_PIE_3(),
|
||||
// XXX_ESC_PIE_4(),
|
||||
//
|
||||
// Encode 18 full 18 bit FC word in 6 bit !!!
|
||||
// XXX_FOUR_CORNER(),
|
||||
//
|
||||
// Encode 21 bit unicode-1 code point ???
|
||||
// XXX_UNICODE1(),
|
||||
//
|
||||
// Encode 72 bit Unicode-4 !!!
|
||||
// XXX_UNICODE4(), // _WORD_ESC + _TEST_UNICODE4 + <stroke-amount> + manyStrokeBlocks
|
||||
//
|
||||
// Historical glue for ansi codes ???
|
||||
// TAG_ANSI_UPPER,
|
||||
// TAG_ANSI_LOWER,
|
||||
// TAG_ANSI_C0, // bell,backspace,tab etc,
|
||||
//
|
||||
// used for bell,backspace,tab etc, TODO: fix free index number in current ansi escape codes.
|
||||
// TAG_ANSI_C0,
|
||||
//
|
||||
// TODO: Re-impl simple like VT52 see https://en.wikipedia.org/wiki/ANSI_escape_code
|
||||
// Example VT52 see https://en.wikipedia.org/wiki/ANSI_escape_code
|
||||
// - ESC [
|
||||
// - any number (including none) of "parameter bytes" in the range 0x30–0x3F (ASCII 0–9:;<=>?),
|
||||
// - any number of "intermediate bytes" in the range 0x20–0x2F (ASCII space and !"#$%&'()*+,-./),
|
||||
|
@ -129,8 +137,20 @@ public enum FCDotDEC1604DashE2 {
|
|||
// with terminator codes;
|
||||
// On 6 bit P6DEC system with takes __ESC+TAG_SQUARE_LEFT+__PIE+NX09_I+NX01_A
|
||||
// On 18 bit P6DEC system with takes TAG_ANSI_UPPER+__PIE+NX09_I+NX01_A
|
||||
//
|
||||
// TODO: full new impl+cleanup of ANSI-NG for 6 bit real computer terminals !?!
|
||||
;
|
||||
|
||||
|
||||
static final private FCDotDEC1604DashE2[] E2_ALL = values();
|
||||
|
||||
private FCDotDEC1604DashE2() {
|
||||
}
|
||||
|
||||
static public int length() {
|
||||
return E2_ALL.length;
|
||||
}
|
||||
|
||||
static public FCDotDEC1604DashE2 indexOf(int idx) {
|
||||
return E2_ALL[idx];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public class FCDotCDC1604DashP6Test {
|
|||
|
||||
@Test
|
||||
public void testValues() throws Exception {
|
||||
Assertions.assertEquals(64, FCDotCDC1604DashP6.values().length);
|
||||
Assertions.assertEquals(64, FCDotCDC1604DashP6.length());
|
||||
boolean duplicate = false;
|
||||
Map<Byte,FCDotCDC1604DashP6> global = new HashMap<>();
|
||||
for (FCDotCDC1604DashP6 v : FCDotCDC1604DashP6.values()) {
|
||||
|
|
Loading…
Reference in a new issue