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

📄 header.java

📁 fortran并行计算包
💻 JAVA
字号:
/* *  (C) 2001 by Argonne National Laboratory *      See COPYRIGHT in top-level directory. *//* *  @author  Anthony Chan */package logformat.slog2;import base.io.MixedDataInput;import base.io.MixedDataOutput;import base.io.MixedDataIO;import base.io.MixedRandomAccessFile;public class Header implements MixedDataIO{    public static final int        BYTESIZE = MixedRandomAccessFile.getStringByteSize( Const.version_ID )                 + 2  /* num_children_per_node */                 + 4  /* treeleaf_bytesize */                 + 2  /* max_treedepth */                 + 4  /* max_buffer_bytesize */                 + 7 * FileBlockPtr.BYTESIZE ;    private String          version_ID;    private short           num_children_per_node;    private int             treeleaf_bytesize;    private short           max_treedepth;    private int             max_buffer_bytesize;    // leave FileBlockPtr type public to allow easy access    public  FileBlockPtr    blockptr2categories;    public  FileBlockPtr    blockptr2methoddefs;    public  FileBlockPtr    blockptr2lineIDmaps;    public  FileBlockPtr    blockptr2treeroot;    public  FileBlockPtr    blockptr2treedir;    public  FileBlockPtr    blockptr2annotations;    public  FileBlockPtr    blockptr2postamble;    public Header()    {        // version_ID assignment of Const.version_ID is for SLOG-2 Output API.        // But it should NOT affect the Input API, because version_ID is        // updated by readObject() later.        version_ID              = Const.version_ID;        num_children_per_node   = Const.NUM_LEAFS;        treeleaf_bytesize       = Const.LEAF_BYTESIZE;        max_treedepth           = 0;        max_buffer_bytesize     = 0;        // Initialize all the FileBlockPtrs so FileBlockPtr.isNULL() == true        blockptr2categories     = new FileBlockPtr();        blockptr2methoddefs     = new FileBlockPtr();        blockptr2lineIDmaps     = new FileBlockPtr();        blockptr2treeroot       = new FileBlockPtr();        blockptr2treedir        = new FileBlockPtr();        blockptr2annotations    = new FileBlockPtr();        blockptr2postamble      = new FileBlockPtr();	// System.out.println( "SLOG version = " + version_ID );    }    public void writeObject( MixedDataOutput outs )    throws java.io.IOException    {        outs.writeString( version_ID );        outs.writeShort( num_children_per_node );        outs.writeInt( treeleaf_bytesize );        outs.writeShort( max_treedepth );        outs.writeInt( max_buffer_bytesize );        blockptr2categories.writeObject( outs );        blockptr2methoddefs.writeObject( outs );        blockptr2lineIDmaps.writeObject( outs );        blockptr2treeroot.writeObject( outs );        blockptr2treedir.writeObject( outs );        blockptr2annotations.writeObject( outs );        blockptr2postamble.writeObject( outs );    }    public Header( MixedDataInput ins )    throws java.io.IOException    {        this();        this.readObject( ins );    }    public void readObject( MixedDataInput ins )    throws java.io.IOException    {        short  max_str_length;        max_str_length          = (short) Const.version_ID.length();        version_ID              = ins.readStringWithLimit( max_str_length );        num_children_per_node   = ins.readShort();        treeleaf_bytesize       = ins.readInt();        max_treedepth           = ins.readShort();        max_buffer_bytesize     = ins.readInt();        blockptr2categories.readObject( ins );        blockptr2methoddefs.readObject( ins );        blockptr2lineIDmaps.readObject( ins );        blockptr2treeroot.readObject( ins );        blockptr2treedir.readObject( ins );        blockptr2annotations.readObject( ins );        blockptr2postamble.readObject( ins );    }    // For SLOG-2 Input API    public boolean isSLOG2()    {        return version_ID != null && version_ID.startsWith( Const.SLOG2_ID );    }    // For SLOG-2 Input API    public String getCompatibleVersionMessage()    {        if (    version_ID != null             && version_ID.compareTo( Const.version_ID ) == 0 )             return null;        else            return ( "Incompatible Version IDs detected! \n"                   + "The logfile's version ID is "                   + version_ID + ",\n"                   + "but this input program reads logfile of version "                   + Const.version_ID + ".\n" );    }    public void setTreeLeafByteSize( int in_bytesize )    {        treeleaf_bytesize   = in_bytesize;    }    public int getTreeLeafByteSize()    {       	return treeleaf_bytesize;    }    public void setNumChildrenPerNode( short num_leafs )    {        num_children_per_node = num_leafs;    }    public short getNumChildrenPerNode()    {        return num_children_per_node;    }    public void setMaxTreeDepth( short in_depth )    {        max_treedepth = in_depth;    }    public short getMaxTreeDepth()    {        return max_treedepth;    }    public void setMaxBufferByteSize( int bufsize )    {        max_buffer_bytesize = bufsize;    }    public int  getMaxBufferByteSize()    {        return max_buffer_bytesize;    }    public String toString()    {        StringBuffer rep = new StringBuffer( "\t SLOG-2 Header:\n" );        rep.append( "version = " + version_ID + "\n" );        rep.append( "NumOfChildrenPerNode = " + num_children_per_node + "\n" );        rep.append( "TreeLeafByteSize = " + treeleaf_bytesize + "\n" );        rep.append( "MaxTreeDepth = " + max_treedepth + "\n" );        rep.append( "MaxBufferByteSize = " + max_buffer_bytesize + "\n" );        rep.append( "Categories  is " + blockptr2categories  + "\n" );        rep.append( "MethodDefs  is " + blockptr2methoddefs  + "\n" );        rep.append( "LineIDMaps  is " + blockptr2lineIDmaps  + "\n" );        rep.append( "TreeRoot    is " + blockptr2treeroot    + "\n" );        rep.append( "TreeDir     is " + blockptr2treedir     + "\n" );        rep.append( "Annotations is " + blockptr2annotations + "\n" );        rep.append( "Postamble   is " + blockptr2postamble   + "\n" );        return rep.toString();    }}

⌨️ 快捷键说明

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