15d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaoimport otherpackage.OtherPackagePublicEnum; 25d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 3a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughesimport java.lang.reflect.*; 4a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes 55d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhaopublic class Main { 65d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao /** used by {@link #basisCall} */ 75d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static private int basisTestValue = 12; 85d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 95d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public void main(String[] args) throws Exception { 10a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes try { 11a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes Class<?> enumClass = Enum.class; 12a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes Method enumValueOf = null; 13a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes for (Method m : enumClass.getDeclaredMethods()) { 14a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes if (m.getName().equals("valueOf")) { 15a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes enumValueOf = m; 16a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes break; 17a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes } 18a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes } 19a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes enumValueOf.invoke(null, String.class, "blah"); 20a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes throw new AssertionError(); 21a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes } catch (InvocationTargetException expected) { 22a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes IllegalArgumentException iae = (IllegalArgumentException) expected.getCause(); 2358c02f72dbc1774e3cdf6b228c224b310f6d40ceNarayan Kamath if (!iae.getMessage().equals("class java.lang.String is not an enum type.")) { 24a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes throw new AssertionError(); 25a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes } 26a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes } 27a5c0c21ac37756698374d233210cfd5b8e8b4436Elliott Hughes 285d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao boolean timing = (args.length >= 1) && args[0].equals("--timing"); 295d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao run(timing); 305d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 315d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 325d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public void run(boolean timing) { 335d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao preTest(); 345d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 355d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao long time0 = System.nanoTime(); 365d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int count1 = test1(500); 375d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao long time1 = System.nanoTime(); 385d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int count2 = test2(500); 395d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao long time2 = System.nanoTime(); 405d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int count3 = test3(500); 415d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao long time3 = System.nanoTime(); 425d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao int count4 = basis(500); 435d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao long time4 = System.nanoTime(); 445d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 455d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("basis: performed " + count4 + " iterations"); 465d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("test1: performed " + count1 + " iterations"); 475d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("test2: performed " + count2 + " iterations"); 485d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("test3: performed " + count3 + " iterations"); 495d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 505d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao double msec1 = (time1 - time0) / (double) count1 / 1000000; 515d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao double msec2 = (time2 - time1) / (double) count2 / 1000000; 525d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao double msec3 = (time3 - time2) / (double) count3 / 1000000; 535d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao double basisMsec = (time4 - time3) / (double) count4 / 1000000; 545d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 555d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao double avg = (msec1 + msec2 + msec3) / 3; 565d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if (avg < (basisMsec * 10)) { 575d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Timing is acceptable."); 585d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } else { 595d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println("Iterations are taking too long!"); 605d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao timing = true; 615d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 625d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 635d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if (timing) { 645d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.printf("basis time: %.3g msec\n", basisMsec); 655d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.printf("test1: %.3g msec per iteration\n", msec1); 665d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.printf("test2: %.3g msec per iteration\n", msec2); 675d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.printf("test3: %.3g msec per iteration\n", msec3); 685d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 695d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 705d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 715d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 725d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public void preTest() { 735d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao /* 745d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * This is meant to ensure that the basic enum functionality 755d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao * really is working. 765d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao */ 775d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 785d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class; 795d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 805d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "FOUR")); 815d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "ONE")); 825d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "FOURTEEN")); 835d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "NINE")); 845d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "FIVE")); 855d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "TWELVE")); 865d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 875d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao System.out.println(Enum.valueOf(c, "ZERO").getClass().getName()); 885d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 895d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 905d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static final String[] BASIS_COMPARE_ARRAY = { 915d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao "ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", 925d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao "NINE", "TEN", "ELEVEN", "TWELVE", "THIRTEEN", "FOURTEEN", "FIFTEEN", 935d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao "SIXTEEN", "SEVENTEEN", "EIGHTEEN", "NINETEEN" 945d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao }; 955d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 965d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public int basis(int iters) { 975d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (int i = iters; i > 0; i--) { 985d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("ZERO"); 995d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("ONE"); 1005d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("TWO"); 1015d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("THREE"); 1025d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("FOUR"); 1035d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("FIVE"); 1045d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("SIX"); 1055d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("SEVEN"); 1065d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("EIGHT"); 1075d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("NINE"); 1085d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("TEN"); 1095d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("ELEVEN"); 1105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("TWELVE"); 1115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("THIRTEEN"); 1125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("FOURTEEN"); 1135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("FIFTEEN"); 1145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("SIXTEEN"); 1155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("SEVENTEEN"); 1165d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("EIGHTEEN"); 1175d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao basisValueOf("NINETEEN"); 1185d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1195d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1205d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return iters * 20; 1215d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1225d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1235d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static String basisValueOf(String key) { 1245d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (String s : BASIS_COMPARE_ARRAY) { 1255d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao if (s.equals(key)) { 1265d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return s; 1275d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1285d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1295d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao throw new IllegalArgumentException(); 1305d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1315d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1325d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public int test1(int iters) { 1335d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Class<SamePackagePublicEnum> c = SamePackagePublicEnum.class; 1345d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (int i = iters; i > 0; i--) { 1355d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ZERO"); 1365d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ONE"); 1375d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWO"); 1385d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THREE"); 1395d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOUR"); 1405d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIVE"); 1415d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIX"); 1425d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVEN"); 1435d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHT"); 1445d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINE"); 1455d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TEN"); 1465d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ELEVEN"); 1475d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWELVE"); 1485d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THIRTEEN"); 1495d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOURTEEN"); 1505d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIFTEEN"); 1515d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIXTEEN"); 1525d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVENTEEN"); 1535d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHTEEN"); 1545d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINETEEN"); 1555d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1565d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1575d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return iters * 20; 1585d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1595d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1605d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public int test2(int iters) { 1615d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Class<SamePackagePrivateEnum> c = SamePackagePrivateEnum.class; 1625d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (int i = iters; i > 0; i--) { 1635d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ZERO"); 1645d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ONE"); 1655d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWO"); 1665d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THREE"); 1675d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOUR"); 1685d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIVE"); 1695d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIX"); 1705d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVEN"); 1715d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHT"); 1725d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINE"); 1735d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TEN"); 1745d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ELEVEN"); 1755d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWELVE"); 1765d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THIRTEEN"); 1775d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOURTEEN"); 1785d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIFTEEN"); 1795d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIXTEEN"); 1805d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVENTEEN"); 1815d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHTEEN"); 1825d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINETEEN"); 1835d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1845d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1855d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return iters * 20; 1865d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 1875d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 1885d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao static public int test3(int iters) { 1895d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Class<OtherPackagePublicEnum> c = OtherPackagePublicEnum.class; 1905d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao for (int i = iters; i > 0; i--) { 1915d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ZERO"); 1925d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ONE"); 1935d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWO"); 1945d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THREE"); 1955d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOUR"); 1965d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIVE"); 1975d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIX"); 1985d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVEN"); 1995d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHT"); 2005d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINE"); 2015d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TEN"); 2025d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "ELEVEN"); 2035d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "TWELVE"); 2045d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "THIRTEEN"); 2055d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FOURTEEN"); 2065d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "FIFTEEN"); 2075d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SIXTEEN"); 2085d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "SEVENTEEN"); 2095d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "EIGHTEEN"); 2105d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao Enum.valueOf(c, "NINETEEN"); 2115d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 2125d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao 2135d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao return iters * 20; 2145d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao } 2155d1ac920fdaef5d4ec8f66bb734488cd9660b024jeffhao} 216