⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatetolatest.java

📁 fortran并行计算包
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                }                treetrunk.addDrawable( cmplx_obj );            }            else {                System.err.println( "Slog2ToSlog2: Unrecognized return "                                  + "from peekNextKind() = " + next_kind );            }        }   // Endof while ( dobj_ins.peekNextKind() )        treetrunk.flushToFile();        objdefs.removeUnusedCategories();        slog_outs.writeCategoryMap( objdefs );        // treetrunk's IdentityLineIDMap could be duplicate of the one        // in the logfile        // lineIDmaps.add( treetrunk.getIdentityLineIDMap() );        slog_outs.writeLineIDMapList( lineIDmaps );        slog_outs.close();        dobj_ins.close();        /* */    Date time3 = new Date();        System.out.println( "\n" );        System.out.println( "Number of Drawables = " + Nobjs );        // System.out.println( "time1 = " + time1 + ", " + time1.getTime() );        // System.out.println( "time2 = " + time2 + ", " + time2.getTime() );        // System.out.println( "time3 = " + time3 + ", " + time3.getTime() );        System.out.println( "timeElapsed between 1 & 2 = "                          + ( time2.getTime() - time1.getTime() ) + " msec" );        System.out.println( "timeElapsed between 2 & 3 = "                          + ( time3.getTime() - time2.getTime() ) + " msec" );    }    private static int parseByteSize( String size_str )    {        int idxOfKilo = Math.max( size_str.indexOf( 'k' ),                                  size_str.indexOf( 'K' ) );        int idxOfMega = Math.max( size_str.indexOf( 'm' ),                                  size_str.indexOf( 'M' ) );        if ( idxOfKilo > 0 )            return Integer.parseInt( size_str.substring( 0, idxOfKilo ) )                   * 1024;        else if ( idxOfMega > 0 )            return Integer.parseInt( size_str.substring( 0, idxOfMega ) )                   * 1024 * 1024;        else            return Integer.parseInt( size_str );    }    private static String help_msg = "Usage: java slog2.output.Slog2ToSlog2 "                                   + "[options] slog2_filename.\n"                                   + " options: \n"                                   + "\t [-h|--h|-help|--help]             "                                   + "\t Display HELP message.\n"                                   + "\t [-tc]                             "                                   + "\t Check increasing endtime order,\n"                                   + "\t                                   "                                   + "\t exit when 1st violation occurs.\n"                                   + "\t [-tcc]                            "                                   + "\t Check increasing endtime order,\n"                                   + "\t                                   "                                   + "\t continue when violations occur.\n"                                   + "\t [-nc number_of_children_per_node] "                                   + "\t Default value is taken from the\n"                                   + "\t                                   "                                   + "\t input slog2 file.\n"                                   + "\t [-ls max_byte_size_of_leaf_node]  "                                   + "\t Default value is taken from the\n"                                   + "\t                                   "                                   + "\t input slog2 file.\n"                                   + "\t [-r id1,id2,...,idN]              "                                   + "\t Remove drawable categories of  \n"                                   + "\t                                   "                                   + "\t indexes, id1,id2,...,idN.\n"                                   + "\t [-o output_filename_with_slog2_suffix]"                                   + "\n\n"                                   + " note: \"max_byte_size_of_leaf_node\" "                                   + "can be specified with suffix "                                   + "k, K, m or M,\n"                                   + "       where k or K stands for kilobyte,"                                   + " m or M stands for megabyte.\n"                                   + "       e.g. 64k means 65536 bytes.\n";    private static void parseCmdLineArgs( String argv[] )    {        String        arg_str;        int           idx;        StringBuffer  err_msg    = new StringBuffer();        in_filename              = null;        enable_endtime_check     = false;        continue_when_violation  = false;        idx = 0;        try {            while ( idx < argv.length ) {                if ( argv[ idx ].startsWith( "-" ) ) {                    if (  argv[ idx ].equals( "-h" )                        || argv[ idx ].equals( "--h" )                       || argv[ idx ].equals( "-help" )                       || argv[ idx ].equals( "--help" ) ) {                        System.out.println( help_msg );                        System.out.flush();                        System.exit( 0 );                    }                    else if ( argv[ idx ].equals( "-tc" ) ) {                        enable_endtime_check     = true;                        continue_when_violation  = false;                        err_msg.append( "\n endtime_order_check_exit = true" );                        idx++;                    }                    else if ( argv[ idx ].equals( "-tcc" ) ) {                        enable_endtime_check     = true;                        continue_when_violation  = true;                        err_msg.append( "\n endtime_order_check_stay = true" );                        idx++;                    }                    else if ( argv[ idx ].equals( "-nc" ) ) {                        arg_str = argv[ ++idx ];                         num_children_per_node = Short.parseShort( arg_str );                        err_msg.append( "\n number_of_children_per_node = "                                      + arg_str );                        idx++;                    }                    else if ( argv[ idx ].equals( "-ls" ) ) {                        arg_str = argv[ ++idx ];                        leaf_bytesize = parseByteSize( arg_str );                        err_msg.append( "\n max_byte_size_of_leaf_node = "                                      + arg_str );                        idx++;                    }                    else if ( argv[ idx ].equals( "-r" ) ) {                        arg_str = argv[ ++idx ];                        parseRemovalCategoryIndexes( arg_str );                        idx++;                    }                    else if ( argv[ idx ].equals( "-o" ) ) {                        out_filename = argv[ ++idx ].trim();                        err_msg.append( "\n output_filename = "                                      + out_filename );                        idx++;                        if ( ! out_filename.endsWith( ".slog2" ) )                            System.err.println( "Warning: The suffix of the "                                              + "output filename is NOT "                                              + "\".slog2\"." );                    }                    else {                        System.err.println( "Unrecognized option, "                                          + argv[ idx ] + ", at "                                          + indexOrderStr( idx+1 )                                          + " command line argument" );                        System.out.flush();                        System.exit( 1 );                    }                }                else {                    in_filename   = argv[ idx ];                    idx++;                }            }        } catch ( ArrayIndexOutOfBoundsException idxerr ) {            if ( err_msg.length() > 0 )                System.err.println( err_msg.toString() );            System.err.println( "Error occurs after option "                              + argv[ idx-1 ] + ", " + indexOrderStr( idx )                              + " command line argument." );            // System.err.println( help_msg );            idxerr.printStackTrace();        } catch ( NumberFormatException numerr ) {            if ( err_msg.length() > 0 )                System.err.println( err_msg.toString() );            String idx_order_str = indexOrderStr( idx );            System.err.println( "Error occurs after option "                              + argv[ idx-1 ] + ", " + indexOrderStr( idx )                              + " command line argument.  It needs a number." );            // System.err.println( help_msg );            numerr.printStackTrace();        }                if ( in_filename == null ) {            System.err.println( "This program needs a SLOG2 filename "                              + "as part of the command line arguments." );            System.err.println( help_msg );            System.exit( 1 );        }    }    private static String indexOrderStr( int idx )    {        switch (idx) {            case 1  : return Integer.toString( idx ) + "st";            case 2  : return Integer.toString( idx ) + "nd";            case 3  : return Integer.toString( idx ) + "rd";            default : return Integer.toString( idx ) + "th";        }    }    private static void parseRemovalCategoryIndexes( String arg_str )    {        StringTokenizer idxs_itr;        int             ii;        idxs_itr = new StringTokenizer( arg_str.trim(), "," );        del_iobjdefs = new int[ idxs_itr.countTokens() ];        for ( ii = 0; idxs_itr.hasMoreTokens(); ii++ )            del_iobjdefs[ ii ] = Integer.parseInt( idxs_itr.nextToken() );        // Sort del_iobjdefs[] into ascending order        Arrays.sort( del_iobjdefs );    }    private static boolean isCategoryToBeRemoved( int iobjdef )    {        if ( del_iobjdefs != null ) {            if ( Arrays.binarySearch( del_iobjdefs, iobjdef ) >= 0 )                return true;        }        return false;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -