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

📄 preamble.java

📁 fortran并行计算包
💻 JAVA
字号:
/* *  (C) 2001 by Argonne National Laboratory *      See COPYRIGHT in top-level directory. *//* *  @author  Anthony Chan */package logformat.clog2;import java.util.StringTokenizer;import java.util.NoSuchElementException;import java.io.DataInputStream;import java.io.IOException;// Class corresponds to CLOG_Premable_tpublic class Preamble{    // BYTESIZE corresponds to CLOG_PREAMBLE_SIZE    private final static int      BYTESIZE     = 1024;    // VERSIONSIZE corresponds to CLOG_VERSION_STRLEN;    private final static int      VERSIONSIZE  = 12;    private              String   version;    //  this correspond to CLOG_Premable_t.is_big_endian    private              String   is_big_endian_title;    private              boolean  is_big_endian;    //  this correspond to CLOG_Premable_t.is_finalized_    private              String   is_finalized_title;    private              boolean  is_finalized;    //  this correspond to CLOG_Premable_t.block_size    private              String   block_size_title;    private              int      block_size;    //  this correspond to CLOG_Premable_t.num_buffered_blocks    private              String   num_blocks_title;    private              int      num_blocks;    //  this correspond to CLOG_Premable_t.max_comm_world_size    private              String   max_world_size_title;    private              int      max_world_size;    //  this correspond to CLOG_Premable_t.max_thread_count    private              String   max_thread_count_title;    private              int      max_thread_count;    //  this correspond to CLOG_Premable_t.known_eventID_start    private              String   known_eventID_start_title;    private              int      known_eventID_start;    //  this correspond to CLOG_Premable_t.user_eventID_start    private              String   user_eventID_start_title;    private              int      user_eventID_start;    //  this correspond to CLOG_Premable_t.known_solo_eventID_start    private              String   known_solo_eventID_start_title;    private              int      known_solo_eventID_start;    //  this correspond to CLOG_Premable_t.user_solo_eventID_start    private              String   user_solo_eventID_start_title;    private              int      user_solo_eventID_start;    //  this correspond to CLOG_Premable_t.known_stateID_count    private              String   known_stateID_count_title;    private              int      known_stateID_count;    //  this correspond to CLOG_Premable_t.user_stateID_count    private              String   user_stateID_count_title;    private              int      user_stateID_count;    //  this correspond to CLOG_Premable_t.known_solo_eventID_count    private              String   known_solo_eventID_count_title;    private              int      known_solo_eventID_count;    //  this correspond to CLOG_Premable_t.user_solo_eventID_count    private              String   user_solo_eventID_count_title;    private              int      user_solo_eventID_count;    //  this correspond to CLOG_Premable_t.commtable_fptr    private              String   commtable_fptr_title;    private              long     commtable_fptr;    public boolean readFromDataStream( DataInputStream in )    {        byte[]           buffer;        StringTokenizer  tokens;        String           str;        buffer = new byte[ BYTESIZE ];        try {            in.readFully( buffer );        } catch ( IOException ioerr ) {            ioerr.printStackTrace();            return false;        }        tokens  = new StringTokenizer( new String( buffer ), "\0" );        try {            version = tokens.nextToken().trim();            is_big_endian_title = tokens.nextToken().trim();            str                 = tokens.nextToken().trim();            is_big_endian       =  str.equalsIgnoreCase( "true" )                                || str.equalsIgnoreCase( "yes" );            is_finalized_title  = tokens.nextToken().trim();            str                 = tokens.nextToken().trim();            is_finalized        =  str.equalsIgnoreCase( "true" )                                || str.equalsIgnoreCase( "yes" );            block_size_title    = tokens.nextToken().trim();            block_size          = Integer.parseInt( tokens.nextToken().trim() );            num_blocks_title    = tokens.nextToken().trim();            num_blocks          = Integer.parseInt( tokens.nextToken().trim() );            max_world_size_title            = tokens.nextToken().trim();            max_world_size                  = Integer.parseInt(                                              tokens.nextToken().trim() );            max_thread_count_title          = tokens.nextToken().trim();            max_thread_count                = Integer.parseInt(                                              tokens.nextToken().trim() );            known_eventID_start_title       = tokens.nextToken().trim();            known_eventID_start             = Integer.parseInt(                                              tokens.nextToken().trim() );            user_eventID_start_title        = tokens.nextToken().trim();            user_eventID_start              = Integer.parseInt(                                              tokens.nextToken().trim() );            known_solo_eventID_start_title  = tokens.nextToken().trim();            known_solo_eventID_start        = Integer.parseInt(                                              tokens.nextToken().trim() );            user_solo_eventID_start_title   = tokens.nextToken().trim();            user_solo_eventID_start         = Integer.parseInt(                                              tokens.nextToken().trim() );            known_stateID_count_title       = tokens.nextToken().trim();            known_stateID_count             = Integer.parseInt(                                              tokens.nextToken().trim() );            user_stateID_count_title        = tokens.nextToken().trim();            user_stateID_count              = Integer.parseInt(                                              tokens.nextToken().trim() );            known_solo_eventID_count_title  = tokens.nextToken().trim();            known_solo_eventID_count        = Integer.parseInt(                                              tokens.nextToken().trim() );            user_solo_eventID_count_title   = tokens.nextToken().trim();            user_solo_eventID_count         = Integer.parseInt(                                              tokens.nextToken().trim() );            commtable_fptr_title            = tokens.nextToken().trim();            commtable_fptr                  = Long.parseLong(                                              tokens.nextToken().trim() )                                            * Long.parseLong(                                              tokens.nextToken().trim() )                                            + Long.parseLong(                                              tokens.nextToken().trim() );        } catch ( NoSuchElementException err ) {            err.printStackTrace();            return false;        } catch ( NumberFormatException err ) {            err.printStackTrace();            return false;        }        /* Set the constants in (icomm,rank,thread) -> lineID transformation */        LineID.setCommRank2LineIDxForm( max_world_size, max_thread_count );        return true;    }    public String  getVersionString()    { return version; }    public boolean isVersionMatched()    { return version.equalsIgnoreCase( Const.VERSION ); }    public boolean isVersionCompatible()    {        String   old_version;        boolean  isCompatible;        int      idx;        isCompatible = false;        for ( idx = 0;              idx < Const.COMPAT_VERSIONS.length && !isCompatible;              idx++ ) {            old_version   = Const.COMPAT_VERSIONS[ idx ];            isCompatible  = version.equalsIgnoreCase( old_version );        }        return isCompatible;    }    public boolean isBigEndian()    { return is_big_endian; }    public boolean isFinalized()    { return is_finalized; }    public int getBlockSize()    { return block_size; }    public int getMaxCommWorldSize()    { return max_world_size; }    public int getMaxThreadCount()    { return max_thread_count; }    public int getKnownEventIDStart()    { return known_eventID_start; }    public int getUserEventIDStart()    { return user_eventID_start; }    public int getKnownSoloEventIDStart()    { return known_solo_eventID_start; }    public int getUserSoloEventIDStart()    { return user_solo_eventID_start; }    public int getKnownStateIDCount()    { return known_stateID_count; }    public int getUserStateIDCount()    { return user_stateID_count; }    public int getKnownSoloEventIDCount()    { return known_solo_eventID_count; }    public int getUserSoloEventIDCount()    { return user_solo_eventID_count; }    public long getCommTableFptr()    { return commtable_fptr; }    public String toString()    {         return ( version + "\n"                + is_big_endian_title + is_big_endian + "\n"                + is_finalized_title + is_finalized + "\n"                + block_size_title + block_size + "\n"                + num_blocks_title + num_blocks + "\n"                + max_world_size_title + max_world_size + "\n"                + max_thread_count_title + max_thread_count + "\n"                + known_eventID_start_title + known_eventID_start + "\n"                + user_eventID_start_title + user_eventID_start + "\n"                + known_solo_eventID_start_title + known_solo_eventID_start+"\n"                + user_solo_eventID_start_title + user_solo_eventID_start + "\n"                + known_stateID_count_title + known_stateID_count + "\n"                + user_stateID_count_title + user_stateID_count + "\n"                + known_solo_eventID_count_title + known_solo_eventID_count+"\n"                + user_solo_eventID_count_title + user_solo_eventID_count + "\n"                + commtable_fptr_title + commtable_fptr + "\n"                );    }}

⌨️ 快捷键说明

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