Class CharacterMatrixBuf_1


public class CharacterMatrixBuf_1 extends CharacterMatrixBuf
Class CharacterMatrixBuf_1 provides a buffer for a matrix of character items sent or received using the Message Protocol (MP). The matrix row and column strides must both be 1. While an instance of class CharacterMatrixBuf_1 may be constructed directly, normally you will use a factory method in class CharacterBuf. See that class for further information.
Version:
05-Apr-2009
Author:
Alan Kaminsky
  • Constructor Details

    • CharacterMatrixBuf_1

      public CharacterMatrixBuf_1(char[][] theMatrix, Range theRowRange, Range theColRange)
      Construct a new character matrix buffer. It is assumed that the rows and columns of theMatrix are allocated and that each row of theMatrix has the same number of columns.
      Parameters:
      theMatrix - Matrix.
      theRowRange - Range of rows to include. The stride is assumed to be 1.
      theColRange - Range of columns to include. The stride is assumed to be 1.
  • Method Details

    • get

      public char get(int i)
      Obtain the given item from this buffer.

      The get() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Obtain the given item from this buffer.

      The get() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Obtain the given item from this buffer.

      The get() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

      Overrides:
      get in class CharacterMatrixBuf
      Parameters:
      i - Item index in the range 0 .. length()-1.
      Returns:
      Item at index i.
    • put

      public void put(int i, char item)
      Store the given item in this buffer.

      The put() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Store the given item in this buffer.

      The put() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Store the given item in this buffer.

      The put() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

      Overrides:
      put in class CharacterMatrixBuf
      Parameters:
      i - Item index in the range 0 .. length()-1.
      item - Item to be stored at index i.
    • getReductionBuf

      public Buf getReductionBuf(Op op)
      Create a buffer for performing parallel reduction using the given binary operation. The results of the reduction are placed into this buffer.

      Operations performed on the returned reduction buffer have the same effect as operations performed on this buffer, except whenever a source item S is put into a destination item D in this buffer, D is set to D op S, that is, the reduction of D and S using the given binary operation (rather than just setting D to S). Create a buffer for performing parallel reduction using the given binary operation. The results of the reduction are placed into this buffer. Create a buffer for performing parallel reduction using the given binary operation. The results of the reduction are placed into this buffer.

      Overrides:
      getReductionBuf in class CharacterMatrixBuf
      Parameters:
      op - Binary operation.
      Returns:
      a Buf object.
      Throws:
      ClassCastException - (unchecked exception) Thrown if this buffer's element data type and the given binary operation's argument data type are not the same.
    • sendItems

      protected int sendItems(int i, ByteBuffer buffer)
      Send as many items as possible from this buffer to the given byte buffer.

      The sendItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Send as many items as possible from this buffer to the given byte buffer.

      The sendItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Send as many items as possible from this buffer to the given byte buffer.

      The sendItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

      Overrides:
      sendItems in class CharacterMatrixBuf
      Parameters:
      i - Index of first item to send, in the range 0 .. length-1.
      buffer - Byte buffer.
      Returns:
      Number of items sent.
    • receiveItems

      protected int receiveItems(int i, int num, ByteBuffer buffer)
      Receive as many items as possible from the given byte buffer to this buffer.

      The receiveItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Receive as many items as possible from the given byte buffer to this buffer.

      The receiveItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked. Receive as many items as possible from the given byte buffer to this buffer.

      The receiveItems() method must not block the calling thread; if it does, all message I/O in MP will be blocked.

      Overrides:
      receiveItems in class CharacterMatrixBuf
      Parameters:
      i - Index of first item to receive, in the range 0 .. length-1.
      num - Maximum number of items to receive.
      buffer - Byte buffer.
      Returns:
      Number of items received.