- public MnemonicFamily(String defaultValueName, String... names)
- {
- this(false, defaultValueName, (int) Math.round(Math.ceil(Math.log(names.length) / Math.log(2))), names);
- }
-
- public MnemonicFamily(boolean reverse, String defaultValueName, String... names)
- {
- this(reverse, defaultValueName, (int) Math.round(Math.ceil(Math.log(names.length) / Math.log(2))), names);
- }
-
- public MnemonicFamily(String defaultValueName, int bits, String... names)
- {
- this(false, defaultValueName, bits, names);
- }
-
- public MnemonicFamily(boolean reverse, String defaultValueName, int bits, String... names)
- {
- this.values = new Mnemonic[names.length];
- this.stringValues = new String[names.length];
- BitVector[] values = new BitVector[names.length];
- for (int i = 0; i < names.length; i++)
- {
- values[i] = BitVector.from(i, bits);
- }
-
- setup(names, values, reverse);
-
- int defaultValueIndex = -1;
- for (int i = 0; i < names.length; i++)
- if (names[i].equals(defaultValueName))
- {
- defaultValueIndex = i;
- break;
- }
- this.defaultValue = this.values[defaultValueIndex];
- }
-
- public MnemonicFamily(String defaultValueName, String[] names, long[] values, int bits)
- {
- this(false, defaultValueName, names, values, bits);
- }
-
- public MnemonicFamily(boolean reverse, String defaultValueName, String[] names, long[] values, int bits)
- {
- if (names.length != values.length)
- throw new IllegalArgumentException();
- this.values = new Mnemonic[values.length];
- this.stringValues = new String[values.length];
- BitVector[] vectors = new BitVector[values.length];
-
- for (int i = 0; i < vectors.length; i++)
- {
- vectors[i] = BitVector.from(values[i], bits);
- }
-
- setup(names, vectors, reverse);
-
- int defaultValueIndex = -1;
- for (int i = 0; i < names.length; i++)
- if (names[i].equals(defaultValueName))
- {
- defaultValueIndex = i;
- break;
- }
- this.defaultValue = this.values[defaultValueIndex];
- }
-
- public MnemonicFamily(String defaultValueName, String[] names, BitVector[] values)
- {
- this(false, defaultValueName, names, values);
- }
-
- public MnemonicFamily(boolean reverse, String defaultValueName, String[] names, BitVector[] values)
- {
- if (names.length != values.length)
- throw new IllegalArgumentException();
- this.values = new Mnemonic[values.length];
- this.stringValues = new String[values.length];
-
- setup(names, values, reverse);
-
- int defaultValueIndex = -1;
- for (int i = 0; i < names.length; i++)
- if (names[i].equals(defaultValueName))
- {
- defaultValueIndex = i;
- break;
- }
- this.defaultValue = this.values[defaultValueIndex];
- }
-
- public MnemonicFamily(String defaultValueName, MnemonicPair... values)