Path: blob/master/test/functional/Jsr292/src/com/ibm/j9/jsr292/PermuteTest.java
6007 views
/*******************************************************************************1* Copyright (c) 2001, 2018 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/21package com.ibm.j9.jsr292;22import org.testng.annotations.Test;23import org.testng.AssertJUnit;24import static java.lang.invoke.MethodType.methodType;2526import java.lang.invoke.MethodHandle;27import java.lang.invoke.MethodHandles;28import java.lang.invoke.MethodType;2930public class PermuteTest {31private final static long const_arg0 = (long)-6892365923966373888L;32private final static int const_arg1 = (int)-1.36787674E9;33private final static long const_arg2 = (long)5020723882078406656L;34private final static float const_arg3 = (float)9.3568392E7f;35private final static long const_arg4 = (long)-3346392731103490048L;36private final static double const_arg5 = (double)5.9620004E7;37private final static int const_arg6 = (int)1.791556E8;38private final static short const_arg7 = (short)32338.05;39private final static byte const_arg8 = (byte)87.56171;40private final static int const_arg9 = (int)-4.25774784E8;41private final static double const_arg10 = (double)2.5361548E7;42private final static double const_arg11 = (double)7.3694768E7;43private final static long const_arg12 = (long)-385721256816320512L;44private final static byte const_arg13 = (byte)36.451653;45private final static char const_arg14 = (char)15380.821;46private final static long const_arg15 = (long)7821635820523210752L;47private final static long const_arg16 = (long)-8363124449672468480L;48private final static int const_arg17 = (int)1.00277594E9;49private final static long const_arg18 = (long)165721501884016640L;50private final static float const_arg19 = (float)3.4655396E7f;51private final static long const_arg20 = (long)6156444590360936448L;52private final static double const_arg21 = (double)4726905.0;53private final static int const_arg22 = (int)-1.21837594E9;54private final static short const_arg23 = (short)6472.7783;55private final static byte const_arg24 = (byte)30.474657;56private final static int const_arg25 = (int)1.71506688E9;57private final static double const_arg26 = (double)1.5349482E7;58private final static double const_arg27 = (double)3.2427682E7;59private final static long const_arg28 = (long)7460656684432205824L;60private final static byte const_arg29 = (byte)-15.571779;61private final static char const_arg30 = (char)43285.996;62private final static long const_arg31 = (long)-1802975143245193216L;63private final static long const_arg32 = (long)5883960166769324032L;64private final static int const_arg33 = (int)-9.8711814E8;65private final static long const_arg34 = (long)-1052688084268017664L;66private final static float const_arg35 = (float)6.9030704E7f;67private final static long const_arg36 = (long)-3364013284780521472L;68private final static double const_arg37 = (double)9.20242E7;69private final static int const_arg38 = (int)1.37702106E9;70private final static short const_arg39 = (short)24879.783;71private final static byte const_arg40 = (byte)-85.39519;72private final static int const_arg41 = (int)-1.68733312E9;73private final static double const_arg42 = (double)3.2349062E7;74private final static double const_arg43 = (double)7.3861544E7;75private final static long const_arg44 = (long)-1532836489555326976L;76private final static byte const_arg45 = (byte)25.961597;77private final static char const_arg46 = (char)33922.34;78private final static long const_arg47 = (long)385359843399327744L;79private final static long const_arg48 = (long)-7557586408342398976L;80private final static int const_arg49 = (int)1.59989376E9;81private final static long const_arg50 = (long)-1157996562330238976L;82private final static float const_arg51 = (float)5.9744684E7f;83private final static long const_arg52 = (long)8865663534676477952L;84private final static double const_arg53 = (double)1.3671851E7;85private final static int const_arg54 = (int)-2.04760947E9;86private final static short const_arg55 = (short)-4292.53;87private final static byte const_arg56 = (byte)25.82152;88private final static int const_arg57 = (int)-4.25327552E8;89private final static double const_arg58 = (double)5.2456176E7;90private final static double const_arg59 = (double)8.846028E7;91private final static long const_arg60 = (long)894138139699785728L;92private final static byte const_arg61 = (byte)-117.894005;93private final static char const_arg62 = (char)59286.867;94private final static long const_arg63 = (long)-2144099025012834304L;95private final static long const_arg64 = (long)3848515819795462144L;96private final static int const_arg65 = (int)1.99934733E9;97private final static long const_arg66 = (long)7659641690613262336L;98private final static float const_arg67 = (float)5516675.0f;99private final static long const_arg68 = (long)-7175454108298262528L;100private final static double const_arg69 = (double)6282143.5;101private final static int const_arg70 = (int)6.3125722E8;102private final static short const_arg71 = (short)26729.72;103private final static byte const_arg72 = (byte)-31.294542;104private final static int const_arg73 = (int)9.8630128E7;105private final static double const_arg74 = (double)4904516.5;106private final static double const_arg75 = (double)2.8933042E7;107private final static long const_arg76 = (long)-6165387278309316608L;108private final static byte const_arg77 = (byte)116.00888;109private final static char const_arg78 = (char)7876.2803;110private final static long const_arg79 = (long)15691906417793024L;111private final static long const_arg80 = (long)-4577520954938871808L;112private final static int const_arg81 = (int)7.4970202E8;113private final static long const_arg82 = (long)-5202988502162964480L;114private final static float const_arg83 = (float)1797603.8f;115private final static long const_arg84 = (long)-1952948710214240256L;116private final static double const_arg85 = (double)3.1952994E7;117private final static int const_arg86 = (int)-1.25982106E9;118private final static short const_arg87 = (short)-28133.2;119private final static byte const_arg88 = (byte)-22.708725;120private final static int const_arg89 = (int)-1.60444659E9;121private final static double const_arg90 = (double)9.7068632E7;122private final static double const_arg91 = (double)4.3367112E7;123private final static long const_arg92 = (long)-686509902579492864L;124private final static byte const_arg93 = (byte)-18.706009;125private final static char const_arg94 = (char)10218.4795;126private final static long const_arg95 = (long)-6424251652327706624L;127private final static long const_arg96 = (long)7457627073118101504L;128private final static int const_arg97 = (int)7.9667002E8;129private final static long const_arg98 = (long)6854808083107350528L;130private final static float const_arg99 = (float)5.8473244E7f;131private final static long const_arg100 = (long)3756734949877604352L;132private final static double const_arg101 = (double)2.2191902E7;133private final static int const_arg102 = (int)-7.4360184E7;134private final static short const_arg103 = (short)6042.5938;135private final static byte const_arg104 = (byte)83.2126;136private final static int const_arg105 = (int)-1.82334362E9;137private final static double const_arg106 = (double)5.5482588E7;138private final static double const_arg107 = (double)9.0001464E7;139private final static long const_arg108 = (long)3249931783055529984L;140private final static byte const_arg109 = (byte)84.56544;141private final static char const_arg110 = (char)31136.785;142private final static long const_arg111 = (long)3516850932204554240L;143private final static long const_arg112 = (long)-5888803777585096704L;144private final static int const_arg113 = (int)-1.68064397E9;145private final static long const_arg114 = (long)-4327247690940416000L;146private final static float const_arg115 = (float)2.4208068E7f;147private final static long const_arg116 = (long)6750097495138787328L;148private final static double const_arg117 = (double)3.473052E7;149private final static int const_arg118 = (int)5.5497798E8;150private final static short const_arg119 = (short)-32579.36;151private final static byte const_arg120 = (byte)73.74936;152private final static int const_arg121 = (int)2.14067226E9;153private final static double const_arg122 = (double)3.287431E7;154private final static double const_arg123 = (double)8.3640952E7;155private final static long const_arg124 = (long)-8792505295524775936L;156private final static byte const_arg125 = (byte)44.532955;157private final static char const_arg126 = (char)37749.37;158private final static long const_arg127 = (long)-3822851795018663936L;159private final static long const_arg128 = (long)9196396167515975680L;160private final static int const_arg129 = (int)1.49046182E9;161private final static long const_arg130 = (long)-4804481289906941952L;162private final static float const_arg131 = (float)6.7429768E7f;163private final static long const_arg132 = (long)7318894466057721856L;164private final static double const_arg133 = (double)7.322988E7;165private final static int const_arg134 = (int)-7.8201882E8;166private final static short const_arg135 = (short)-9883.521;167private final static byte const_arg136 = (byte)112.27744;168private final static int const_arg137 = (int)4.09239488E8;169private final static double const_arg138 = (double)3.1215462E7;170private final static double const_arg139 = (double)2.3711122E7;171private final static long const_arg140 = (long)-2525075035488512000L;172private final static byte const_arg141 = (byte)-54.741833;173private final static char const_arg142 = (char)55086.42;174private final static long const_arg143 = (long)2619822279144327168L;175private final static long const_arg144 = (long)1782600000134451200L;176private final static int const_arg145 = (int)2.00862758E9;177private final static long const_arg146 = (long)-7689938984100495360L;178private final static float const_arg147 = (float)6.395436E7f;179private final static long const_arg148 = (long)-5331956767576809472L;180private final static double const_arg149 = (double)1.9876176E7;181private final static int const_arg150 = (int)-3.57940736E8;182private final static short const_arg151 = (short)-30176.2;183private final static byte const_arg152 = (byte)108.62074;184private final static int const_arg153 = (int)-1.29248717E9;185private final static double const_arg154 = (double)9.0787024E7;186private final static double const_arg155 = (double)5.3953652E7;187private final static long const_arg156 = (long)-7766467616506161152L;188private final static byte const_arg157 = (byte)101.02202;189private final static char const_arg158 = (char)11022.495;190private final static long const_arg159 = (long)-8111151907935979520L;191private final static long const_arg160 = (long)5590287327717490688L;192private final static int const_arg161 = (int)3.34640736E8;193private final static long const_arg162 = (long)-1060203494556989440L;194private final static float const_arg163 = (float)4.1251936E7f;195private final static long const_arg164 = (long)-3607266653153327104L;196private final static double const_arg165 = (double)3.086726E7;197private final static int const_arg166 = (int)8.7350944E8;198private final static short const_arg167 = (short)-7758.0845;199private final static byte const_arg168 = (byte)6.8055143;200private final static int const_arg169 = (int)-1.75682995E9;201202/* Verify each argument against an expected constant */203public static void test(long arg0, int arg1, long arg2, float arg3, long arg4, double arg5, int arg6, short arg7, byte arg8, int arg9, double arg10, double arg11, long arg12, byte arg13, char arg14, long arg15, long arg16, int arg17, long arg18, float arg19, long arg20, double arg21, int arg22, short arg23, byte arg24, int arg25, double arg26, double arg27, long arg28, byte arg29, char arg30, long arg31, long arg32, int arg33, long arg34, float arg35, long arg36, double arg37, int arg38, short arg39, byte arg40, int arg41, double arg42, double arg43, long arg44, byte arg45, char arg46, long arg47, long arg48, int arg49, long arg50, float arg51, long arg52, double arg53, int arg54, short arg55, byte arg56, int arg57, double arg58, double arg59, long arg60, byte arg61, char arg62, long arg63, long arg64, int arg65, long arg66, float arg67, long arg68, double arg69, int arg70, short arg71, byte arg72, int arg73, double arg74, double arg75, long arg76, byte arg77, char arg78, long arg79, long arg80, int arg81, long arg82, float arg83, long arg84, double arg85, int arg86, short arg87, byte arg88, int arg89, double arg90, double arg91, long arg92, byte arg93, char arg94, long arg95, long arg96, int arg97, long arg98, float arg99, long arg100, double arg101, int arg102, short arg103, byte arg104, int arg105, double arg106, double arg107, long arg108, byte arg109, char arg110, long arg111, long arg112, int arg113, long arg114, float arg115, long arg116, double arg117, int arg118, short arg119, byte arg120, int arg121, double arg122, double arg123, long arg124, byte arg125, char arg126, long arg127, long arg128, int arg129, long arg130, float arg131, long arg132, double arg133, int arg134, short arg135, byte arg136, int arg137, double arg138, double arg139, long arg140, byte arg141, char arg142, long arg143, long arg144, int arg145, long arg146, float arg147, long arg148, double arg149, int arg150, short arg151, byte arg152, int arg153, double arg154, double arg155, long arg156, byte arg157, char arg158, long arg159, long arg160, int arg161, long arg162, float arg163, long arg164, double arg165, int arg166, short arg167, byte arg168, int arg169) throws IllegalArgumentException {204int index = 0;205if(arg0 != const_arg0) {206throw new IllegalArgumentException("Unexpected argument at index "+index);207}208index++;209if(arg1 != const_arg1) {210throw new IllegalArgumentException("Unexpected argument at index "+index);211}212index++;213if(arg2 != const_arg2) {214throw new IllegalArgumentException("Unexpected argument at index "+index);215}216index++;217if(arg3 != const_arg3) {218throw new IllegalArgumentException("Unexpected argument at index "+index);219}220index++;221if(arg4 != const_arg4) {222throw new IllegalArgumentException("Unexpected argument at index "+index);223}224index++;225if(arg5 != const_arg5) {226throw new IllegalArgumentException("Unexpected argument at index "+index);227}228index++;229if(arg6 != const_arg6) {230throw new IllegalArgumentException("Unexpected argument at index "+index);231}232index++;233if(arg7 != const_arg7) {234throw new IllegalArgumentException("Unexpected argument at index "+index);235}236index++;237if(arg8 != const_arg8) {238throw new IllegalArgumentException("Unexpected argument at index "+index);239}240index++;241if(arg9 != const_arg9) {242throw new IllegalArgumentException("Unexpected argument at index "+index);243}244index++;245if(arg10 != const_arg10) {246throw new IllegalArgumentException("Unexpected argument at index "+index);247}248index++;249if(arg11 != const_arg11) {250throw new IllegalArgumentException("Unexpected argument at index "+index);251}252index++;253if(arg12 != const_arg12) {254throw new IllegalArgumentException("Unexpected argument at index "+index);255}256index++;257if(arg13 != const_arg13) {258throw new IllegalArgumentException("Unexpected argument at index "+index);259}260index++;261if(arg14 != const_arg14) {262throw new IllegalArgumentException("Unexpected argument at index "+index);263}264index++;265if(arg15 != const_arg15) {266throw new IllegalArgumentException("Unexpected argument at index "+index);267}268index++;269if(arg16 != const_arg16) {270throw new IllegalArgumentException("Unexpected argument at index "+index);271}272index++;273if(arg17 != const_arg17) {274throw new IllegalArgumentException("Unexpected argument at index "+index);275}276index++;277if(arg18 != const_arg18) {278throw new IllegalArgumentException("Unexpected argument at index "+index);279}280index++;281if(arg19 != const_arg19) {282throw new IllegalArgumentException("Unexpected argument at index "+index);283}284index++;285if(arg20 != const_arg20) {286throw new IllegalArgumentException("Unexpected argument at index "+index);287}288index++;289if(arg21 != const_arg21) {290throw new IllegalArgumentException("Unexpected argument at index "+index);291}292index++;293if(arg22 != const_arg22) {294throw new IllegalArgumentException("Unexpected argument at index "+index);295}296index++;297if(arg23 != const_arg23) {298throw new IllegalArgumentException("Unexpected argument at index "+index);299}300index++;301if(arg24 != const_arg24) {302throw new IllegalArgumentException("Unexpected argument at index "+index);303}304index++;305if(arg25 != const_arg25) {306throw new IllegalArgumentException("Unexpected argument at index "+index);307}308index++;309if(arg26 != const_arg26) {310throw new IllegalArgumentException("Unexpected argument at index "+index);311}312index++;313if(arg27 != const_arg27) {314throw new IllegalArgumentException("Unexpected argument at index "+index);315}316index++;317if(arg28 != const_arg28) {318throw new IllegalArgumentException("Unexpected argument at index "+index);319}320index++;321if(arg29 != const_arg29) {322throw new IllegalArgumentException("Unexpected argument at index "+index);323}324index++;325if(arg30 != const_arg30) {326throw new IllegalArgumentException("Unexpected argument at index "+index);327}328index++;329if(arg31 != const_arg31) {330throw new IllegalArgumentException("Unexpected argument at index "+index);331}332index++;333if(arg32 != const_arg32) {334throw new IllegalArgumentException("Unexpected argument at index "+index);335}336index++;337if(arg33 != const_arg33) {338throw new IllegalArgumentException("Unexpected argument at index "+index);339}340index++;341if(arg34 != const_arg34) {342throw new IllegalArgumentException("Unexpected argument at index "+index);343}344index++;345if(arg35 != const_arg35) {346throw new IllegalArgumentException("Unexpected argument at index "+index);347}348index++;349if(arg36 != const_arg36) {350throw new IllegalArgumentException("Unexpected argument at index "+index);351}352index++;353if(arg37 != const_arg37) {354throw new IllegalArgumentException("Unexpected argument at index "+index);355}356index++;357if(arg38 != const_arg38) {358throw new IllegalArgumentException("Unexpected argument at index "+index);359}360index++;361if(arg39 != const_arg39) {362throw new IllegalArgumentException("Unexpected argument at index "+index);363}364index++;365if(arg40 != const_arg40) {366throw new IllegalArgumentException("Unexpected argument at index "+index);367}368index++;369if(arg41 != const_arg41) {370throw new IllegalArgumentException("Unexpected argument at index "+index);371}372index++;373if(arg42 != const_arg42) {374throw new IllegalArgumentException("Unexpected argument at index "+index);375}376index++;377if(arg43 != const_arg43) {378throw new IllegalArgumentException("Unexpected argument at index "+index);379}380index++;381if(arg44 != const_arg44) {382throw new IllegalArgumentException("Unexpected argument at index "+index);383}384index++;385if(arg45 != const_arg45) {386throw new IllegalArgumentException("Unexpected argument at index "+index);387}388index++;389if(arg46 != const_arg46) {390throw new IllegalArgumentException("Unexpected argument at index "+index);391}392index++;393if(arg47 != const_arg47) {394throw new IllegalArgumentException("Unexpected argument at index "+index);395}396index++;397if(arg48 != const_arg48) {398throw new IllegalArgumentException("Unexpected argument at index "+index);399}400index++;401if(arg49 != const_arg49) {402throw new IllegalArgumentException("Unexpected argument at index "+index);403}404index++;405if(arg50 != const_arg50) {406throw new IllegalArgumentException("Unexpected argument at index "+index);407}408index++;409if(arg51 != const_arg51) {410throw new IllegalArgumentException("Unexpected argument at index "+index);411}412index++;413if(arg52 != const_arg52) {414throw new IllegalArgumentException("Unexpected argument at index "+index);415}416index++;417if(arg53 != const_arg53) {418throw new IllegalArgumentException("Unexpected argument at index "+index);419}420index++;421if(arg54 != const_arg54) {422throw new IllegalArgumentException("Unexpected argument at index "+index);423}424index++;425if(arg55 != const_arg55) {426throw new IllegalArgumentException("Unexpected argument at index "+index);427}428index++;429if(arg56 != const_arg56) {430throw new IllegalArgumentException("Unexpected argument at index "+index);431}432index++;433if(arg57 != const_arg57) {434throw new IllegalArgumentException("Unexpected argument at index "+index);435}436index++;437if(arg58 != const_arg58) {438throw new IllegalArgumentException("Unexpected argument at index "+index);439}440index++;441if(arg59 != const_arg59) {442throw new IllegalArgumentException("Unexpected argument at index "+index);443}444index++;445if(arg60 != const_arg60) {446throw new IllegalArgumentException("Unexpected argument at index "+index);447}448index++;449if(arg61 != const_arg61) {450throw new IllegalArgumentException("Unexpected argument at index "+index);451}452index++;453if(arg62 != const_arg62) {454throw new IllegalArgumentException("Unexpected argument at index "+index);455}456index++;457if(arg63 != const_arg63) {458throw new IllegalArgumentException("Unexpected argument at index "+index);459}460index++;461if(arg64 != const_arg64) {462throw new IllegalArgumentException("Unexpected argument at index "+index);463}464index++;465if(arg65 != const_arg65) {466throw new IllegalArgumentException("Unexpected argument at index "+index);467}468index++;469if(arg66 != const_arg66) {470throw new IllegalArgumentException("Unexpected argument at index "+index);471}472index++;473if(arg67 != const_arg67) {474throw new IllegalArgumentException("Unexpected argument at index "+index);475}476index++;477if(arg68 != const_arg68) {478throw new IllegalArgumentException("Unexpected argument at index "+index);479}480index++;481if(arg69 != const_arg69) {482throw new IllegalArgumentException("Unexpected argument at index "+index);483}484index++;485if(arg70 != const_arg70) {486throw new IllegalArgumentException("Unexpected argument at index "+index);487}488index++;489if(arg71 != const_arg71) {490throw new IllegalArgumentException("Unexpected argument at index "+index);491}492index++;493if(arg72 != const_arg72) {494throw new IllegalArgumentException("Unexpected argument at index "+index);495}496index++;497if(arg73 != const_arg73) {498throw new IllegalArgumentException("Unexpected argument at index "+index);499}500index++;501if(arg74 != const_arg74) {502throw new IllegalArgumentException("Unexpected argument at index "+index);503}504index++;505if(arg75 != const_arg75) {506throw new IllegalArgumentException("Unexpected argument at index "+index);507}508index++;509if(arg76 != const_arg76) {510throw new IllegalArgumentException("Unexpected argument at index "+index);511}512index++;513if(arg77 != const_arg77) {514throw new IllegalArgumentException("Unexpected argument at index "+index);515}516index++;517if(arg78 != const_arg78) {518throw new IllegalArgumentException("Unexpected argument at index "+index);519}520index++;521if(arg79 != const_arg79) {522throw new IllegalArgumentException("Unexpected argument at index "+index);523}524index++;525if(arg80 != const_arg80) {526throw new IllegalArgumentException("Unexpected argument at index "+index);527}528index++;529if(arg81 != const_arg81) {530throw new IllegalArgumentException("Unexpected argument at index "+index);531}532index++;533if(arg82 != const_arg82) {534throw new IllegalArgumentException("Unexpected argument at index "+index);535}536index++;537if(arg83 != const_arg83) {538throw new IllegalArgumentException("Unexpected argument at index "+index);539}540index++;541if(arg84 != const_arg84) {542throw new IllegalArgumentException("Unexpected argument at index "+index);543}544index++;545if(arg85 != const_arg85) {546throw new IllegalArgumentException("Unexpected argument at index "+index);547}548index++;549if(arg86 != const_arg86) {550throw new IllegalArgumentException("Unexpected argument at index "+index);551}552index++;553if(arg87 != const_arg87) {554throw new IllegalArgumentException("Unexpected argument at index "+index);555}556index++;557if(arg88 != const_arg88) {558throw new IllegalArgumentException("Unexpected argument at index "+index);559}560index++;561if(arg89 != const_arg89) {562throw new IllegalArgumentException("Unexpected argument at index "+index);563}564index++;565if(arg90 != const_arg90) {566throw new IllegalArgumentException("Unexpected argument at index "+index);567}568index++;569if(arg91 != const_arg91) {570throw new IllegalArgumentException("Unexpected argument at index "+index);571}572index++;573if(arg92 != const_arg92) {574throw new IllegalArgumentException("Unexpected argument at index "+index);575}576index++;577if(arg93 != const_arg93) {578throw new IllegalArgumentException("Unexpected argument at index "+index);579}580index++;581if(arg94 != const_arg94) {582throw new IllegalArgumentException("Unexpected argument at index "+index);583}584index++;585if(arg95 != const_arg95) {586throw new IllegalArgumentException("Unexpected argument at index "+index);587}588index++;589if(arg96 != const_arg96) {590throw new IllegalArgumentException("Unexpected argument at index "+index);591}592index++;593if(arg97 != const_arg97) {594throw new IllegalArgumentException("Unexpected argument at index "+index);595}596index++;597if(arg98 != const_arg98) {598throw new IllegalArgumentException("Unexpected argument at index "+index);599}600index++;601if(arg99 != const_arg99) {602throw new IllegalArgumentException("Unexpected argument at index "+index);603}604index++;605if(arg100 != const_arg100) {606throw new IllegalArgumentException("Unexpected argument at index "+index);607}608index++;609if(arg101 != const_arg101) {610throw new IllegalArgumentException("Unexpected argument at index "+index);611}612index++;613if(arg102 != const_arg102) {614throw new IllegalArgumentException("Unexpected argument at index "+index);615}616index++;617if(arg103 != const_arg103) {618throw new IllegalArgumentException("Unexpected argument at index "+index);619}620index++;621if(arg104 != const_arg104) {622throw new IllegalArgumentException("Unexpected argument at index "+index);623}624index++;625if(arg105 != const_arg105) {626throw new IllegalArgumentException("Unexpected argument at index "+index);627}628index++;629if(arg106 != const_arg106) {630throw new IllegalArgumentException("Unexpected argument at index "+index);631}632index++;633if(arg107 != const_arg107) {634throw new IllegalArgumentException("Unexpected argument at index "+index);635}636index++;637if(arg108 != const_arg108) {638throw new IllegalArgumentException("Unexpected argument at index "+index);639}640index++;641if(arg109 != const_arg109) {642throw new IllegalArgumentException("Unexpected argument at index "+index);643}644index++;645if(arg110 != const_arg110) {646throw new IllegalArgumentException("Unexpected argument at index "+index);647}648index++;649if(arg111 != const_arg111) {650throw new IllegalArgumentException("Unexpected argument at index "+index);651}652index++;653if(arg112 != const_arg112) {654throw new IllegalArgumentException("Unexpected argument at index "+index);655}656index++;657if(arg113 != const_arg113) {658throw new IllegalArgumentException("Unexpected argument at index "+index);659}660index++;661if(arg114 != const_arg114) {662throw new IllegalArgumentException("Unexpected argument at index "+index);663}664index++;665if(arg115 != const_arg115) {666throw new IllegalArgumentException("Unexpected argument at index "+index);667}668index++;669if(arg116 != const_arg116) {670throw new IllegalArgumentException("Unexpected argument at index "+index);671}672index++;673if(arg117 != const_arg117) {674throw new IllegalArgumentException("Unexpected argument at index "+index);675}676index++;677if(arg118 != const_arg118) {678throw new IllegalArgumentException("Unexpected argument at index "+index);679}680index++;681if(arg119 != const_arg119) {682throw new IllegalArgumentException("Unexpected argument at index "+index);683}684index++;685if(arg120 != const_arg120) {686throw new IllegalArgumentException("Unexpected argument at index "+index);687}688index++;689if(arg121 != const_arg121) {690throw new IllegalArgumentException("Unexpected argument at index "+index);691}692index++;693if(arg122 != const_arg122) {694throw new IllegalArgumentException("Unexpected argument at index "+index);695}696index++;697if(arg123 != const_arg123) {698throw new IllegalArgumentException("Unexpected argument at index "+index);699}700index++;701if(arg124 != const_arg124) {702throw new IllegalArgumentException("Unexpected argument at index "+index);703}704index++;705if(arg125 != const_arg125) {706throw new IllegalArgumentException("Unexpected argument at index "+index);707}708index++;709if(arg126 != const_arg126) {710throw new IllegalArgumentException("Unexpected argument at index "+index);711}712index++;713if(arg127 != const_arg127) {714throw new IllegalArgumentException("Unexpected argument at index "+index);715}716index++;717if(arg128 != const_arg128) {718throw new IllegalArgumentException("Unexpected argument at index "+index);719}720index++;721if(arg129 != const_arg129) {722throw new IllegalArgumentException("Unexpected argument at index "+index);723}724index++;725if(arg130 != const_arg130) {726throw new IllegalArgumentException("Unexpected argument at index "+index);727}728index++;729if(arg131 != const_arg131) {730throw new IllegalArgumentException("Unexpected argument at index "+index);731}732index++;733if(arg132 != const_arg132) {734throw new IllegalArgumentException("Unexpected argument at index "+index);735}736index++;737if(arg133 != const_arg133) {738throw new IllegalArgumentException("Unexpected argument at index "+index);739}740index++;741if(arg134 != const_arg134) {742throw new IllegalArgumentException("Unexpected argument at index "+index);743}744index++;745if(arg135 != const_arg135) {746throw new IllegalArgumentException("Unexpected argument at index "+index);747}748index++;749if(arg136 != const_arg136) {750throw new IllegalArgumentException("Unexpected argument at index "+index);751}752index++;753if(arg137 != const_arg137) {754throw new IllegalArgumentException("Unexpected argument at index "+index);755}756index++;757if(arg138 != const_arg138) {758throw new IllegalArgumentException("Unexpected argument at index "+index);759}760index++;761if(arg139 != const_arg139) {762throw new IllegalArgumentException("Unexpected argument at index "+index);763}764index++;765if(arg140 != const_arg140) {766throw new IllegalArgumentException("Unexpected argument at index "+index);767}768index++;769if(arg141 != const_arg141) {770throw new IllegalArgumentException("Unexpected argument at index "+index);771}772index++;773if(arg142 != const_arg142) {774throw new IllegalArgumentException("Unexpected argument at index "+index);775}776index++;777if(arg143 != const_arg143) {778throw new IllegalArgumentException("Unexpected argument at index "+index);779}780index++;781if(arg144 != const_arg144) {782throw new IllegalArgumentException("Unexpected argument at index "+index);783}784index++;785if(arg145 != const_arg145) {786throw new IllegalArgumentException("Unexpected argument at index "+index);787}788index++;789if(arg146 != const_arg146) {790throw new IllegalArgumentException("Unexpected argument at index "+index);791}792index++;793if(arg147 != const_arg147) {794throw new IllegalArgumentException("Unexpected argument at index "+index);795}796index++;797if(arg148 != const_arg148) {798throw new IllegalArgumentException("Unexpected argument at index "+index);799}800index++;801if(arg149 != const_arg149) {802throw new IllegalArgumentException("Unexpected argument at index "+index);803}804index++;805if(arg150 != const_arg150) {806throw new IllegalArgumentException("Unexpected argument at index "+index);807}808index++;809if(arg151 != const_arg151) {810throw new IllegalArgumentException("Unexpected argument at index "+index);811}812index++;813if(arg152 != const_arg152) {814throw new IllegalArgumentException("Unexpected argument at index "+index);815}816index++;817if(arg153 != const_arg153) {818throw new IllegalArgumentException("Unexpected argument at index "+index);819}820index++;821if(arg154 != const_arg154) {822throw new IllegalArgumentException("Unexpected argument at index "+index);823}824index++;825if(arg155 != const_arg155) {826throw new IllegalArgumentException("Unexpected argument at index "+index);827}828index++;829if(arg156 != const_arg156) {830throw new IllegalArgumentException("Unexpected argument at index "+index);831}832index++;833if(arg157 != const_arg157) {834throw new IllegalArgumentException("Unexpected argument at index "+index);835}836index++;837if(arg158 != const_arg158) {838throw new IllegalArgumentException("Unexpected argument at index "+index);839}840index++;841if(arg159 != const_arg159) {842throw new IllegalArgumentException("Unexpected argument at index "+index);843}844index++;845if(arg160 != const_arg160) {846throw new IllegalArgumentException("Unexpected argument at index "+index);847}848index++;849if(arg161 != const_arg161) {850throw new IllegalArgumentException("Unexpected argument at index "+index);851}852index++;853if(arg162 != const_arg162) {854throw new IllegalArgumentException("Unexpected argument at index "+index);855}856index++;857if(arg163 != const_arg163) {858throw new IllegalArgumentException("Unexpected argument at index "+index);859}860index++;861if(arg164 != const_arg164) {862throw new IllegalArgumentException("Unexpected argument at index "+index);863}864index++;865if(arg165 != const_arg165) {866throw new IllegalArgumentException("Unexpected argument at index "+index);867}868index++;869if(arg166 != const_arg166) {870throw new IllegalArgumentException("Unexpected argument at index "+index);871}872index++;873if(arg167 != const_arg167) {874throw new IllegalArgumentException("Unexpected argument at index "+index);875}876index++;877if(arg168 != const_arg168) {878throw new IllegalArgumentException("Unexpected argument at index "+index);879}880index++;881if(arg169 != const_arg169) {882throw new IllegalArgumentException("Unexpected argument at index "+index);883}884}885886/**887* Stress test permuteArguments by making call using the maximum number of stack slots (255). Keep in mind888* that the receiver consumes a single stack slot so only 254 slots are available. The method test889* (found within this class) compares each argument with an expected value. In essence, this test890* reverses the argument order and verifies the results.891* @throws Throwable892*/893@Test(groups = { "level.extended" })894public void testPermuteHandleMaximumArguments() throws Throwable {895// Describe the test function896MethodType mt = methodType(void.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class, double.class, double.class, long.class, byte.class, char.class, long.class, long.class, int.class, long.class, float.class, long.class, double.class, int.class, short.class, byte.class, int.class);897898// Describe the test function899MethodType rmt = methodType(void.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class, long.class, char.class, byte.class, long.class, double.class, double.class, int.class, byte.class, short.class, int.class, double.class, long.class, float.class, long.class, int.class, long.class);900901// Lookup and create the destination function MethodHandle902MethodHandle mh = MethodHandles.publicLookup().findStatic(PermuteTest.class, "test", mt);903904// Permute the arguments905mh = MethodHandles.permuteArguments(mh, rmt, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);906907boolean exceptionThrown = false;908909try {910// Invoke the method handle, which returns the argument index which didn't match what it expected, or -1 on success911mh.invoke(const_arg169, const_arg168, const_arg167, const_arg166, const_arg165, const_arg164, const_arg163, const_arg162, const_arg161, const_arg160, const_arg159, const_arg158, const_arg157, const_arg156, const_arg155, const_arg154, const_arg153, const_arg152, const_arg151, const_arg150, const_arg149, const_arg148, const_arg147, const_arg146, const_arg145, const_arg144, const_arg143, const_arg142, const_arg141, const_arg140, const_arg139, const_arg138, const_arg137, const_arg136, const_arg135, const_arg134, const_arg133, const_arg132, const_arg131, const_arg130, const_arg129, const_arg128, const_arg127, const_arg126, const_arg125, const_arg124, const_arg123, const_arg122, const_arg121, const_arg120, const_arg119, const_arg118, const_arg117, const_arg116, const_arg115, const_arg114, const_arg113, const_arg112, const_arg111, const_arg110, const_arg109, const_arg108, const_arg107, const_arg106, const_arg105, const_arg104, const_arg103, const_arg102, const_arg101, const_arg100, const_arg99, const_arg98, const_arg97, const_arg96, const_arg95, const_arg94, const_arg93, const_arg92, const_arg91, const_arg90, const_arg89, const_arg88, const_arg87, const_arg86, const_arg85, const_arg84, const_arg83, const_arg82, const_arg81, const_arg80, const_arg79, const_arg78, const_arg77, const_arg76, const_arg75, const_arg74, const_arg73, const_arg72, const_arg71, const_arg70, const_arg69, const_arg68, const_arg67, const_arg66, const_arg65, const_arg64, const_arg63, const_arg62, const_arg61, const_arg60, const_arg59, const_arg58, const_arg57, const_arg56, const_arg55, const_arg54, const_arg53, const_arg52, const_arg51, const_arg50, const_arg49, const_arg48, const_arg47, const_arg46, const_arg45, const_arg44, const_arg43, const_arg42, const_arg41, const_arg40, const_arg39, const_arg38, const_arg37, const_arg36, const_arg35, const_arg34, const_arg33, const_arg32, const_arg31, const_arg30, const_arg29, const_arg28, const_arg27, const_arg26, const_arg25, const_arg24, const_arg23, const_arg22, const_arg21, const_arg20, const_arg19, const_arg18, const_arg17, const_arg16, const_arg15, const_arg14, const_arg13, const_arg12, const_arg11, const_arg10, const_arg9, const_arg8, const_arg7, const_arg6, const_arg5, const_arg4, const_arg3, const_arg2, const_arg1, const_arg0);912} catch (Exception e) {913e.printStackTrace();914exceptionThrown = true;915}916917AssertJUnit.assertFalse(exceptionThrown);918}919920/**921* Do a series of simple tests to permute arguments in various ways. The test builds on top of each other922* and does a series of drops and duplications, intending to stress test argument permutation. Double923* slot and single slot arguments are mixed in an attempt to find any possible issues.924* @throws Throwable925*/926@Test(groups = { "level.extended" })927public void testPermuteArguments() throws Throwable {928MethodType I_I_type = methodType(int.class, int.class);929MethodType II_I_type = methodType(int.class, int.class, int.class);930931MethodHandle sub = MethodHandles.publicLookup().findStatic(AdaptorTests.class, "subtract", II_I_type);932AssertJUnit.assertTrue(sub.type().equals(II_I_type));933934MethodHandle rsub = MethodHandles.permuteArguments(sub, II_I_type, 1, 0);935AssertJUnit.assertEquals(4, (int)rsub.invokeExact(1, 5));936937MethodHandle add = MethodHandles.publicLookup().findStatic(AdaptorTests.class, "add", II_I_type);938AssertJUnit.assertEquals(II_I_type, add.type());939940MethodHandle twice = MethodHandles.permuteArguments(add, I_I_type, 0, 0);941AssertJUnit.assertEquals(I_I_type, twice.type());942AssertJUnit.assertEquals(14, (int)twice.invokeExact(7));943944// Create an identity handle945MethodHandle iIdent = MethodHandles.identity(int.class);946MethodHandle dIdent = MethodHandles.identity(double.class);947948// Create permute handle that takes a double and an int, and drops the double949MethodType DI_I_type = methodType(int.class, double.class, int.class);950MethodHandle diiHandle = MethodHandles.permuteArguments(iIdent, DI_I_type, 1);951AssertJUnit.assertEquals(1, diiHandle.invoke(1.2,1));952953// Create a permute handle that takes a double and an int, and drops the int954MethodType DI_D_type = methodType(double.class, double.class, int.class);955MethodHandle didHandle = MethodHandles.permuteArguments(dIdent, DI_D_type, 0);956AssertJUnit.assertEquals(1.2, didHandle.invoke(1.2,1));957958// Permutes IDI to DI959MethodType IDI_D_type = methodType(double.class, int.class, double.class, int.class);960MethodHandle idid = MethodHandles.permuteArguments(didHandle, IDI_D_type, 1,0);961AssertJUnit.assertEquals(1.2, idid.invoke(Integer.MAX_VALUE,1.2,1));962963// Permute DID to IDI964MethodType DID_D_type = methodType(double.class, double.class, int.class, double.class);965MethodHandle didd = MethodHandles.permuteArguments(idid, DID_D_type, 1,0,1);966AssertJUnit.assertEquals(1.2, didd.invoke(1.2,1,1.9));967968// Permutes IDDDD to DID969MethodType IDDDD_D_type = methodType(double.class, int.class, double.class,double.class,double.class,double.class);970MethodHandle iddddd = MethodHandles.permuteArguments(didd, IDDDD_D_type, 3,0,2);971AssertJUnit.assertEquals(1.9, iddddd.invoke(9,1.2,88.5,1.9,23.1));972973}974975/* Used in testFirstArgument, testMiddleArgument, testLastArgument */976private static MethodType getMethodType() {977return MethodType.methodType(double.class, long.class,978float.class,979long.class,980double.class,981int.class,982short.class,983byte.class,984int.class,985double.class,986double.class,987long.class,988byte.class,989char.class,990long.class,991long.class,992int.class,993long.class,994float.class,995long.class,996double.class,997int.class,998short.class,999byte.class,1000int.class,1001double.class,1002double.class,1003long.class,1004byte.class,1005char.class,1006long.class,1007long.class,1008int.class,1009long.class,1010float.class,1011long.class,1012double.class,1013int.class,1014short.class,1015byte.class,1016int.class,1017double.class,1018double.class,1019long.class,1020byte.class,1021char.class,1022long.class,1023long.class,1024int.class,1025long.class,1026float.class,1027long.class,1028double.class,1029int.class,1030short.class,1031byte.class,1032int.class,1033double.class,1034double.class,1035long.class,1036byte.class,1037char.class,1038long.class,1039long.class,1040int.class,1041long.class,1042float.class,1043long.class,1044double.class,1045int.class,1046short.class,1047byte.class,1048int.class,1049double.class,1050double.class,1051long.class,1052byte.class,1053char.class,1054long.class,1055long.class,1056int.class,1057long.class,1058float.class,1059long.class,1060double.class,1061int.class,1062short.class,1063byte.class,1064int.class,1065double.class,1066double.class,1067long.class,1068byte.class,1069char.class,1070long.class,1071long.class,1072int.class,1073long.class,1074float.class,1075long.class,1076double.class,1077int.class,1078short.class,1079byte.class,1080int.class,1081double.class,1082double.class,1083long.class,1084byte.class,1085char.class,1086long.class,1087long.class,1088int.class,1089long.class,1090float.class,1091long.class,1092double.class,1093int.class,1094short.class,1095byte.class,1096int.class,1097double.class,1098double.class,1099long.class,1100byte.class,1101char.class,1102long.class,1103long.class,1104int.class,1105long.class,1106float.class,1107long.class,1108double.class,1109int.class,1110short.class,1111byte.class,1112int.class,1113double.class,1114double.class,1115long.class,1116byte.class,1117char.class,1118long.class,1119long.class,1120int.class,1121long.class,1122float.class,1123long.class,1124double.class,1125int.class,1126short.class,1127byte.class,1128int.class,1129double.class,1130double.class,1131long.class,1132byte.class,1133char.class,1134long.class,1135long.class,1136int.class,1137long.class,1138float.class,1139long.class,1140double.class,1141int.class,1142short.class,1143byte.class,1144int.class,1145double.class);1146}11471148/**1149* Use permuteArguments to drop all arguments except for an arbitrary double argument in1150* the missing of the call and use MethodHandles.identity to return that value.1151* Compare it to an expected value. The actual argument picked is the 8th double to1152* be called.1153*1154* There are a series of comments next to each argument. This is the number of slots that1155* argument occupies, and the total consumed slots thus far. The maximum number of slots1156* per function call is 255. Remember, receiver consumes one slot, so the maximum allowed1157* in this test is 254.1158* @throws Throwable1159*/1160@Test(groups = { "level.extended" })1161public void testMiddleArgument() throws Throwable{11621163MethodType mt = getMethodType();11641165MethodHandle ident = MethodHandles.identity(double.class);11661167MethodHandle mh = MethodHandles.permuteArguments(ident, mt, 41);11681169AssertJUnit.assertEquals(1.8, mh.invoke((long)-3203180362171660288L, // num: 2 total: 21170(float)7.171048E7f, // num: 1 total: 31171(long)5339160688581042176L, // num: 2 total: 51172(double)8.9554576E7, // num: 2 total: 71173(int)1.25104589E9, // num: 1 total: 81174(short)7843.807, // num: 1 total: 91175(byte)33.169678, // num: 1 total: 101176(int)-1.55029389E9, // num: 1 total: 111177(double)5.503734E7, // num: 2 total: 131178(double)8.9038912E7, // num: 2 total: 151179(long)-5169201657267570688L, // num: 2 total: 171180(byte)54.93014, // num: 1 total: 181181(char)7055.623, // num: 1 total: 191182(long)-3497224257527621632L, // num: 2 total: 211183(long)5878185161578051584L, // num: 2 total: 231184(int)1.50359232E9, // num: 1 total: 241185(long)3380793726609856512L, // num: 2 total: 261186(float)4.168188E7f, // num: 1 total: 271187(long)-3993298687727976448L, // num: 2 total: 291188(double)7.2788312E7, // num: 2 total: 311189(int)-1.77448294E9, // num: 1 total: 321190(short)-9754.77, // num: 1 total: 331191(byte)9.254554, // num: 1 total: 341192(int)-3.70784224E8, // num: 1 total: 351193(double)6.2799244E7, // num: 2 total: 371194(double)4.2424844E7, // num: 2 total: 391195(long)-3893495019984762880L, // num: 2 total: 411196(byte)33.833794, // num: 1 total: 421197(char)52790.406, // num: 1 total: 431198(long)-7255662582137067520L, // num: 2 total: 451199(long)-985054663470168064L, // num: 2 total: 471200(int)3.6900096E8, // num: 1 total: 481201(long)2209057434292498432L, // num: 2 total: 501202(float)4.2143004E7f, // num: 1 total: 511203(long)-4993207563018072064L, // num: 2 total: 531204(double)1.482387E7, // num: 2 total: 551205(int)-6.0968768E7, // num: 1 total: 561206(short)-15536.124, // num: 1 total: 571207(byte)111.127, // num: 1 total: 581208(int)2.08704154E9, // num: 1 total: 591209(double)8.9123904E7, // num: 2 total: 6112101.8, // num: 2 total: 631211(long)9142906052754137088L, // num: 2 total: 651212(byte)115.29249, // num: 1 total: 661213(char)54774.516, // num: 1 total: 671214(long)-6693027720563402752L, // num: 2 total: 691215(long)5457968159355297792L, // num: 2 total: 711216(int)4.338736E8, // num: 1 total: 721217(long)7821156722567321600L, // num: 2 total: 741218(float)7.2992296E7f, // num: 1 total: 751219(long)1704228185344000000L, // num: 2 total: 771220(double)1.1575101E7, // num: 2 total: 791221(int)1.52252186E9, // num: 1 total: 801222(short)-16456.012, // num: 1 total: 811223(byte)-93.99391, // num: 1 total: 821224(int)-1.53191872E9, // num: 1 total: 831225(double)5.0222204E7, // num: 2 total: 851226(double)8.0645312E7, // num: 2 total: 871227(long)2995670601650804736L, // num: 2 total: 891228(byte)84.732414, // num: 1 total: 901229(char)27034.49, // num: 1 total: 911230(long)676881792554905600L, // num: 2 total: 931231(long)7764068144727302144L, // num: 2 total: 951232(int)1.47474957E9, // num: 1 total: 961233(long)8494457029451546624L, // num: 2 total: 981234(float)9.0300152E7f, // num: 1 total: 991235(long)3891569714658539520L, // num: 2 total: 1011236(double)2.70031E7, // num: 2 total: 1031237(int)-1.90898163E9, // num: 1 total: 1041238(short)32598.158, // num: 1 total: 1051239(byte)-114.99583, // num: 1 total: 1061240(int)1.52044352E9, // num: 1 total: 1071241(double)4.9004188E7, // num: 2 total: 1091242(double)4.2048228E7, // num: 2 total: 1111243(long)-8579726908909932544L, // num: 2 total: 1131244(byte)11.572607, // num: 1 total: 1141245(char)8244.297, // num: 1 total: 1151246(long)5092247331817613312L, // num: 2 total: 1171247(long)6760240151782103040L, // num: 2 total: 1191248(int)1.80054746E9, // num: 1 total: 1201249(long)8997645018063001600L, // num: 2 total: 1221250(float)2.935457E7f, // num: 1 total: 1231251(long)-5863345824712359936L, // num: 2 total: 1251252(double)7.1900248E7, // num: 2 total: 1271253(int)2.11336026E9, // num: 1 total: 1281254(short)6451.464, // num: 1 total: 1291255(byte)49.917686, // num: 1 total: 1301256(int)-7.6394688E8, // num: 1 total: 1311257(double)4.7346408E7, // num: 2 total: 1331258(double)1.92255E7, // num: 2 total: 1351259(long)-1487336717242705920L, // num: 2 total: 1371260(byte)54.120953, // num: 1 total: 1381261(char)58817.887, // num: 1 total: 1391262(long)5057081444118452224L, // num: 2 total: 1411263(long)-6562681839230472192L, // num: 2 total: 1431264(int)-1.58745318E9, // num: 1 total: 1441265(long)-6584736502456768512L, // num: 2 total: 1461266(float)1.3935081E7f, // num: 1 total: 1471267(long)4472217696850677760L, // num: 2 total: 1491268(double)4.6066192E7, // num: 2 total: 1511269(int)1.01984912E8, // num: 1 total: 1521270(short)-31271.809, // num: 1 total: 1531271(byte)65.936165, // num: 1 total: 1541272(int)-1.90919245E9, // num: 1 total: 1551273(double)2.8007106E7, // num: 2 total: 1571274(double)9.2201056E7, // num: 2 total: 1591275(long)-5253666077784686592L, // num: 2 total: 1611276(byte)30.762087, // num: 1 total: 1621277(char)40515.258, // num: 1 total: 1631278(long)2372213227409434624L, // num: 2 total: 1651279(long)-8181293946630713344L, // num: 2 total: 1671280(int)-3.3647364E7, // num: 1 total: 1681281(long)-27132565736196096L, // num: 2 total: 1701282(float)9.2700896E7f, // num: 1 total: 1711283(long)3164464155936280576L, // num: 2 total: 1731284(double)6.458284E7, // num: 2 total: 1751285(int)-9.3258112E8, // num: 1 total: 1761286(short)11517.835, // num: 1 total: 1771287(byte)119.96983, // num: 1 total: 1781288(int)2.346968E8, // num: 1 total: 1791289(double)3927204.0, // num: 2 total: 1811290(double)2.7818502E7, // num: 2 total: 1831291(long)-8005666839323181056L, // num: 2 total: 1851292(byte)-114.85905, // num: 1 total: 1861293(char)50565.82, // num: 1 total: 1871294(long)-2394771929317384192L, // num: 2 total: 1891295(long)-4814531126618560512L, // num: 2 total: 1911296(int)-1.39272538E9, // num: 1 total: 1921297(long)-7508656545357506560L, // num: 2 total: 1941298(float)4.0512312E7f, // num: 1 total: 1951299(long)-9075974017665474560L, // num: 2 total: 1971300(double)1.6997122E7, // num: 2 total: 1991301(int)1.69337165E9, // num: 1 total: 2001302(short)13108.793, // num: 1 total: 2011303(byte)-56.074783, // num: 1 total: 2021304(int)3.6717792E8, // num: 1 total: 2031305(double)3.7203064E7, // num: 2 total: 2051306(double)4.2195324E7, // num: 2 total: 2071307(long)-4338933738822316032L, // num: 2 total: 2091308(byte)64.68621, // num: 1 total: 2101309(char)24572.482, // num: 1 total: 2111310(long)8114436875812677632L, // num: 2 total: 2131311(long)1524724838129885184L, // num: 2 total: 2151312(int)1.01250253E9, // num: 1 total: 2161313(long)-1761847386827798528L, // num: 2 total: 2181314(float)9.4517736E7f, // num: 1 total: 2191315(long)-4268109591618652160L, // num: 2 total: 2211316(double)1.7519344E7, // num: 2 total: 2231317(int)1.12439603E9, // num: 1 total: 2241318(short)16512.586, // num: 1 total: 2251319(byte)38.35186, // num: 1 total: 2261320(int)-5.6585916E7, // num: 1 total: 2271321(double)2.7199912E7, // num: 2 total: 2291322(double)2.2942766E7, // num: 2 total: 2311323(long)7614703348831082496L, // num: 2 total: 2331324(byte)-100.02652, // num: 1 total: 2341325(char)48268.863, // num: 1 total: 2351326(long)7169779744517623808L, // num: 2 total: 2371327(long)-8595974293885444096L, // num: 2 total: 2391328(int)5.2847568E8, // num: 1 total: 2401329(long)4890038659257524224L, // num: 2 total: 2421330(float)7.5006352E7f, // num: 1 total: 2431331(long)-6049589841802512384L, // num: 2 total: 2451332(double)9.6237176E7, // num: 2 total: 2471333(int)1.80856384E9, // num: 1 total: 2481334(short)16381.117, // num: 1 total: 2491335(byte)123.96007, // num: 1 total: 2501336(int)-2.09081229E9, // num: 1 total: 2511337(double)1.780585E7)); // num: 2 total: 25313381339}13401341/**1342* Use permuteArguments to drop all arguments except for the first double argument and use1343* MethodHandles.identity to return that value. Compare it to an expected value.1344*1345* There are a series of comments next to each argument. This is the number of slots that1346* argument occupies, and the total consumed slots thus far. The maximum number of slots1347* per function call is 255. Remember, receiver consumes one slot, so the maximum allowed1348* in this test is 254.1349* @throws Throwable1350*/1351@Test(groups = { "level.extended" })1352public void testFirstArgument() throws Throwable {1353MethodType mt = getMethodType();13541355MethodHandle ident = MethodHandles.identity(double.class);13561357MethodHandle mh = MethodHandles.permuteArguments(ident, mt, 3);13581359AssertJUnit.assertEquals(1.99, mh.invoke((long)2057049365891047424L, // num: 2 total: 21360(float)3.3248204E7f, // num: 1 total: 31361(long)-1596658795522656256L, // num: 2 total: 513621.99, // num: 2 total: 71363(int)1.2417568E8, // num: 1 total: 81364(short)-13116.136, // num: 1 total: 91365(byte)69.57229, // num: 1 total: 101366(int)-7.4886736E7, // num: 1 total: 111367(double)2.162346E7, // num: 2 total: 131368(double)4.1026428E7, // num: 2 total: 151369(long)6750435188124798976L, // num: 2 total: 171370(byte)79.430435, // num: 1 total: 181371(char)30069.264, // num: 1 total: 191372(long)-7457808532033626112L, // num: 2 total: 211373(long)3545381522114433024L, // num: 2 total: 231374(int)-1.23332186E9, // num: 1 total: 241375(long)4395216543246026752L, // num: 2 total: 261376(float)4.3141664E7f, // num: 1 total: 271377(long)-4902263574143195136L, // num: 2 total: 291378(double)3.5635228E7, // num: 2 total: 311379(int)7.6856237E8, // num: 1 total: 321380(short)-4313.166, // num: 1 total: 331381(byte)-56.533463, // num: 1 total: 341382(int)1.01504282E9, // num: 1 total: 351383(double)3.0608242E7, // num: 2 total: 371384(double)3.076918E7, // num: 2 total: 391385(long)-6303678274520227840L, // num: 2 total: 411386(byte)-70.90424, // num: 1 total: 421387(char)65425.832, // num: 1 total: 431388(long)6789869740212318208L, // num: 2 total: 451389(long)-2743799026798000128L, // num: 2 total: 471390(int)1.46388173E9, // num: 1 total: 481391(long)4892142575604934656L, // num: 2 total: 501392(float)5.1981712E7f, // num: 1 total: 511393(long)-6693873758359072768L, // num: 2 total: 531394(double)1.4271397E7, // num: 2 total: 551395(int)3.18325536E8, // num: 1 total: 561396(short)6388.5635, // num: 1 total: 571397(byte)64.90687, // num: 1 total: 581398(int)1.94001677E9, // num: 1 total: 591399(double)3.2802208E7, // num: 2 total: 611400(double)3.6718356E7, // num: 2 total: 631401(long)-4565957498366681088L, // num: 2 total: 651402(byte)-116.441345, // num: 1 total: 661403(char)49257.3, // num: 1 total: 671404(long)-190734580375732224L, // num: 2 total: 691405(long)-8308012861219088384L, // num: 2 total: 711406(int)1.31992819E9, // num: 1 total: 721407(long)7060407783806167040L, // num: 2 total: 741408(float)2.8768634E7f, // num: 1 total: 751409(long)800076918289551360L, // num: 2 total: 771410(double)7.7681576E7, // num: 2 total: 791411(int)-1.78129728E9, // num: 1 total: 801412(short)15143.424, // num: 1 total: 811413(byte)-11.566322, // num: 1 total: 821414(int)-2.2967126E7, // num: 1 total: 831415(double)5.0063668E7, // num: 2 total: 851416(double)6.5565364E7, // num: 2 total: 871417(long)-249808883378114560L, // num: 2 total: 891418(byte)-118.25458, // num: 1 total: 901419(char)41799.008, // num: 1 total: 911420(long)-2472853930697168896L, // num: 2 total: 931421(long)5766316152834109440L, // num: 2 total: 951422(int)-1.45615667E9, // num: 1 total: 961423(long)-2504792983542507520L, // num: 2 total: 981424(float)4.3677008E7f, // num: 1 total: 991425(long)-2453858987052083200L, // num: 2 total: 1011426(double)828030.25, // num: 2 total: 1031427(int)1.74248653E9, // num: 1 total: 1041428(short)-18037.021, // num: 1 total: 1051429(byte)-32.173225, // num: 1 total: 1061430(int)2.0116425E9, // num: 1 total: 1071431(double)5.890718E7, // num: 2 total: 1091432(double)3.2890086E7, // num: 2 total: 1111433(long)1393861424270131200L, // num: 2 total: 1131434(byte)-42.60434, // num: 1 total: 1141435(char)63438.91, // num: 1 total: 1151436(long)9171394038351972352L, // num: 2 total: 1171437(long)3292422773839065088L, // num: 2 total: 1191438(int)-1.68562867E9, // num: 1 total: 1201439(long)2987634792627372032L, // num: 2 total: 1221440(float)2.6772356E7f, // num: 1 total: 1231441(long)-7082658629598701568L, // num: 2 total: 1251442(double)4.3756608E7, // num: 2 total: 1271443(int)8.8829542E8, // num: 1 total: 1281444(short)-3108.5532, // num: 1 total: 1291445(byte)82.47665, // num: 1 total: 1301446(int)1.87625677E9, // num: 1 total: 1311447(double)4.6780996E7, // num: 2 total: 1331448(double)4.260726E7, // num: 2 total: 1351449(long)6630347734336305152L, // num: 2 total: 1371450(byte)-48.303013, // num: 1 total: 1381451(char)12880.834, // num: 1 total: 1391452(long)-8063673605991550976L, // num: 2 total: 1411453(long)7370691734393360384L, // num: 2 total: 1431454(int)2.73375264E8, // num: 1 total: 1441455(long)-6856089306008756224L, // num: 2 total: 1461456(float)8590396.0f, // num: 1 total: 1471457(long)-3151823057703292928L, // num: 2 total: 1491458(double)2.816233E7, // num: 2 total: 1511459(int)4.72372608E8, // num: 1 total: 1521460(short)2027.9454, // num: 1 total: 1531461(byte)-29.623098, // num: 1 total: 1541462(int)-2.84620288E8, // num: 1 total: 1551463(double)1.248518E7, // num: 2 total: 1571464(double)1178537.6, // num: 2 total: 1591465(long)-8249954297444534272L, // num: 2 total: 1611466(byte)-31.99032, // num: 1 total: 1621467(char)15637.167, // num: 1 total: 1631468(long)8834424337385818112L, // num: 2 total: 1651469(long)5016490523928459264L, // num: 2 total: 1671470(int)1.05513254E9, // num: 1 total: 1681471(long)-1327013163988903936L, // num: 2 total: 1701472(float)2.0481882E7f, // num: 1 total: 1711473(long)4896746503026331648L, // num: 2 total: 1731474(double)2.9970542E7, // num: 2 total: 1751475(int)-1.0775028E8, // num: 1 total: 1761476(short)19653.012, // num: 1 total: 1771477(byte)60.237724, // num: 1 total: 1781478(int)1.10074086E9, // num: 1 total: 1791479(double)6.0730316E7, // num: 2 total: 1811480(double)1.6590137E7, // num: 2 total: 1831481(long)9223361597289562112L, // num: 2 total: 1851482(byte)-88.818985, // num: 1 total: 1861483(char)55988.465, // num: 1 total: 1871484(long)-1337964432311511040L, // num: 2 total: 1891485(long)1739855928065984512L, // num: 2 total: 1911486(int)-8.8588979E8, // num: 1 total: 1921487(long)-6602693899564214272L, // num: 2 total: 1941488(float)4723068.5f, // num: 1 total: 1951489(long)6437359138031542272L, // num: 2 total: 1971490(double)3.7933724E7, // num: 2 total: 1991491(int)1.9166856E7, // num: 1 total: 2001492(short)1736.8943, // num: 1 total: 2011493(byte)95.22048, // num: 1 total: 2021494(int)-1.95618778E9, // num: 1 total: 2031495(double)4.0836832E7, // num: 2 total: 2051496(double)3.2096132E7, // num: 2 total: 2071497(long)8003145997316270080L, // num: 2 total: 2091498(byte)23.949598, // num: 1 total: 2101499(char)39272.504, // num: 1 total: 2111500(long)-2594099861682894848L, // num: 2 total: 2131501(long)-4507267283947671552L, // num: 2 total: 2151502(int)-2.96264608E8, // num: 1 total: 2161503(long)-8068065524624621568L, // num: 2 total: 2181504(float)8.4391816E7f, // num: 1 total: 2191505(long)6760260154867468288L, // num: 2 total: 2211506(double)2.8243924E7, // num: 2 total: 2231507(int)7.120311E8, // num: 1 total: 2241508(short)-11052.873, // num: 1 total: 2251509(byte)-79.20657, // num: 1 total: 2261510(int)-1.52229798E9, // num: 1 total: 2271511(double)7.9574984E7, // num: 2 total: 2291512(double)4.4727352E7, // num: 2 total: 2311513(long)4387323700686755840L, // num: 2 total: 2331514(byte)-2.0605624, // num: 1 total: 2341515(char)55130.258, // num: 1 total: 2351516(long)8657139882764234752L, // num: 2 total: 2371517(long)8334347915311243264L, // num: 2 total: 2391518(int)6.7880627E8, // num: 1 total: 2401519(long)3320568648412581888L, // num: 2 total: 2421520(float)4.3009324E7f, // num: 1 total: 2431521(long)-1485130604004706304L, // num: 2 total: 2451522(double)5160794.0, // num: 2 total: 2471523(int)-3.09672768E8, // num: 1 total: 2481524(short)22107.887, // num: 1 total: 2491525(byte)114.208435, // num: 1 total: 2501526(int)-1.01827258E9, // num: 1 total: 2511527(double)5.8145452E7)); // num: 2 total: 25315281529}15301531/**1532* Use permuteArguments to drop all arguments except for the last double argument and use1533* MethodHandles.identity to return that value. Compare it to an expected value.1534*1535* There are a series of comments next to each argument. This is the number of slots that1536* argument occupies, and the total consumed slots thus far. The maximum number of slots1537* per function call is 255. Remember, receiver consumes one slot, so the maximum allowed1538* in this test is 254.1539* @throws Throwable1540*/1541@Test(groups = { "level.extended" })1542public void testLastArgument() throws Throwable {1543MethodType mt = getMethodType();15441545MethodHandle ident = MethodHandles.identity(double.class);15461547MethodHandle mh = MethodHandles.permuteArguments(ident, mt, 168);15481549AssertJUnit.assertEquals((double)5.6475464E7, mh.invoke((long)1580137349297076224L, // num: 2 total: 21550(float)7.1264104E7f, // num: 1 total: 31551(long)7396342793090865152L, // num: 2 total: 51552(double)3.4365352E7, // num: 2 total: 71553(int)-1.53093645E9, // num: 1 total: 81554(short)2026.8043, // num: 1 total: 91555(byte)-5.027892, // num: 1 total: 101556(int)-5.9936819E8, // num: 1 total: 111557(double)6.3947464E7, // num: 2 total: 131558(double)6.3012412E7, // num: 2 total: 151559(long)1412149259284840448L, // num: 2 total: 171560(byte)-47.496567, // num: 1 total: 181561(char)2716.6106, // num: 1 total: 191562(long)2430549790276419584L, // num: 2 total: 211563(long)7217243361956806656L, // num: 2 total: 231564(int)1.43024653E9, // num: 1 total: 241565(long)-5020189348399060992L, // num: 2 total: 261566(float)3.4641264E7f, // num: 1 total: 271567(long)8615685391862054912L, // num: 2 total: 291568(double)9.151796E7, // num: 2 total: 311569(int)1.63405402E9, // num: 1 total: 321570(short)30667.996, // num: 1 total: 331571(byte)46.0659, // num: 1 total: 341572(int)9.2596992E8, // num: 1 total: 351573(double)7.9601752E7, // num: 2 total: 371574(double)6.0080672E7, // num: 2 total: 391575(long)5915669612491364352L, // num: 2 total: 411576(byte)70.98394, // num: 1 total: 421577(char)59562.414, // num: 1 total: 431578(long)2980319651624886272L, // num: 2 total: 451579(long)665152291980931072L, // num: 2 total: 471580(int)-2.03555814E9, // num: 1 total: 481581(long)-8401224491453986816L, // num: 2 total: 501582(float)5.8896824E7f, // num: 1 total: 511583(long)3374656510558181376L, // num: 2 total: 531584(double)6.2582536E7, // num: 2 total: 551585(int)-1.35926554E9, // num: 1 total: 561586(short)-2105.1165, // num: 1 total: 571587(byte)27.437984, // num: 1 total: 581588(int)7.0141069E8, // num: 1 total: 591589(double)8.0329976E7, // num: 2 total: 611590(double)6.2795276E7, // num: 2 total: 631591(long)-5388525404138135552L, // num: 2 total: 651592(byte)97.925674, // num: 1 total: 661593(char)45218.766, // num: 1 total: 671594(long)-8993171974615707648L, // num: 2 total: 691595(long)4032542554917154816L, // num: 2 total: 711596(int)-1.55290995E9, // num: 1 total: 721597(long)-715813854417897472L, // num: 2 total: 741598(float)1.2989713E7f, // num: 1 total: 751599(long)-8586904235718418432L, // num: 2 total: 771600(double)8945824.0, // num: 2 total: 791601(int)1.83456627E9, // num: 1 total: 801602(short)12968.975, // num: 1 total: 811603(byte)-122.92477, // num: 1 total: 821604(int)7.7270784E8, // num: 1 total: 831605(double)3.3156372E7, // num: 2 total: 851606(double)6.6951748E7, // num: 2 total: 871607(long)3124492593914419200L, // num: 2 total: 891608(byte)-48.155846, // num: 1 total: 901609(char)30147.95, // num: 1 total: 911610(long)-5705794949374410752L, // num: 2 total: 931611(long)4906390903829786624L, // num: 2 total: 951612(int)-1.35060237E9, // num: 1 total: 961613(long)1497651512901687296L, // num: 2 total: 981614(float)1.8057464E7f, // num: 1 total: 991615(long)-7982580409056735232L, // num: 2 total: 1011616(double)3.1270692E7, // num: 2 total: 1031617(int)-1.30979392E9, // num: 1 total: 1041618(short)9738.722, // num: 1 total: 1051619(byte)113.48444, // num: 1 total: 1061620(int)1.04707821E9, // num: 1 total: 1071621(double)6.024152E7, // num: 2 total: 1091622(double)5.6646336E7, // num: 2 total: 1111623(long)6471443577216692224L, // num: 2 total: 1131624(byte)-82.59888, // num: 1 total: 1141625(char)24979.805, // num: 1 total: 1151626(long)-7408455901547454464L, // num: 2 total: 1171627(long)7126289057206708224L, // num: 2 total: 1191628(int)8.4698758E8, // num: 1 total: 1201629(long)8431654305328836608L, // num: 2 total: 1221630(float)2.6008108E7f, // num: 1 total: 1231631(long)-2564050472775606272L, // num: 2 total: 1251632(double)6.1027544E7, // num: 2 total: 1271633(int)3.92163328E8, // num: 1 total: 1281634(short)8125.5303, // num: 1 total: 1291635(byte)-100.95522, // num: 1 total: 1301636(int)-1.26804584E8, // num: 1 total: 1311637(double)2.7117782E7, // num: 2 total: 1331638(double)5.1813268E7, // num: 2 total: 1351639(long)8845165412070383616L, // num: 2 total: 1371640(byte)-84.91118, // num: 1 total: 1381641(char)12289.232, // num: 1 total: 1391642(long)-4136493182664636416L, // num: 2 total: 1411643(long)-8684539089388810240L, // num: 2 total: 1431644(int)5.8385504E8, // num: 1 total: 1441645(long)3858631105457483776L, // num: 2 total: 1461646(float)4.8502756E7f, // num: 1 total: 1471647(long)-1576107826588055552L, // num: 2 total: 1491648(double)8666295.0, // num: 2 total: 1511649(int)-2.04377997E9, // num: 1 total: 1521650(short)23615.137, // num: 1 total: 1531651(byte)-42.674793, // num: 1 total: 1541652(int)1.88571763E9, // num: 1 total: 1551653(double)9.0690432E7, // num: 2 total: 1571654(double)3.1152562E7, // num: 2 total: 1591655(long)7226090936388399104L, // num: 2 total: 1611656(byte)-0.9020691, // num: 1 total: 1621657(char)25733.008, // num: 1 total: 1631658(long)-8820063058680072192L, // num: 2 total: 1651659(long)-8647554445748639744L, // num: 2 total: 1671660(int)-1.04553037E9, // num: 1 total: 1681661(long)-149729089984290816L, // num: 2 total: 1701662(float)8.6328736E7f, // num: 1 total: 1711663(long)-1092376797389668352L, // num: 2 total: 1731664(double)1.8428998E7, // num: 2 total: 1751665(int)-1.6221176E8, // num: 1 total: 1761666(short)-14803.136, // num: 1 total: 1771667(byte)16.866615, // num: 1 total: 1781668(int)9.0209581E8, // num: 1 total: 1791669(double)5.700434E7, // num: 2 total: 1811670(double)8.044856E7, // num: 2 total: 1831671(long)4064947388223490048L, // num: 2 total: 1851672(byte)-84.131, // num: 1 total: 1861673(char)47173.324, // num: 1 total: 1871674(long)7275523320706107392L, // num: 2 total: 1891675(long)858920513111713792L, // num: 2 total: 1911676(int)-3.9816672E8, // num: 1 total: 1921677(long)5676218303433138176L, // num: 2 total: 1941678(float)9163403.0f, // num: 1 total: 1951679(long)-7901843307575439360L, // num: 2 total: 1971680(double)7.9803088E7, // num: 2 total: 1991681(int)-1.44413222E9, // num: 1 total: 2001682(short)22193.244, // num: 1 total: 2011683(byte)88.92891, // num: 1 total: 2021684(int)1.48687088E8, // num: 1 total: 2031685(double)9.8776368E7, // num: 2 total: 2051686(double)1.6278985E7, // num: 2 total: 2071687(long)4473073241770209280L, // num: 2 total: 2091688(byte)-109.172424, // num: 1 total: 2101689(char)16695.662, // num: 1 total: 2111690(long)-7591762704550205440L, // num: 2 total: 2131691(long)-4371812780410517504L, // num: 2 total: 2151692(int)1.16891238E9, // num: 1 total: 2161693(long)-6107467503477600256L, // num: 2 total: 2181694(float)3.5728552E7f, // num: 1 total: 2191695(long)-489103829752930304L, // num: 2 total: 2211696(double)4.5615268E7, // num: 2 total: 2231697(int)1.62407117E9, // num: 1 total: 2241698(short)-26882.488, // num: 1 total: 2251699(byte)96.702866, // num: 1 total: 2261700(int)-1.0507863E9, // num: 1 total: 2271701(double)8.2693296E7, // num: 2 total: 2291702(double)3.5114712E7, // num: 2 total: 2311703(long)7143725174889668608L, // num: 2 total: 2331704(byte)-34.197193, // num: 1 total: 2341705(char)53823.4, // num: 1 total: 2351706(long)-5644737223091402752L, // num: 2 total: 2371707(long)7430726967597205504L, // num: 2 total: 2391708(int)2.3583056E8, // num: 1 total: 2401709(long)1970478522488750080L, // num: 2 total: 2421710(float)6.4335468E7f, // num: 1 total: 2431711(long)-2352404489188362240L, // num: 2 total: 2451712(double)6765977.5, // num: 2 total: 2471713(int)8.71842E7, // num: 1 total: 2481714(short)-15693.532, // num: 1 total: 2491715(byte)23.486866, // num: 1 total: 2501716(int)-4.37342048E8, // num: 1 total: 2511717(double)5.6475464E7)); // num: 2 total: 25317181719}17201721}1722172317241725