Class EmptySigned8BitIntegerBuf
int
and the message length is 0. When a message is
received into an EmptySigned8BitIntegerBuf, the message item type must be
signed 8-bit int
, but all items in the message are discarded.- Version:
- 19-Nov-2007
- Author:
- Alan Kaminsky
-
Field Summary
-
Constructor Summary
ConstructorDescriptionConstruct a new empty signed 8-bit integer buffer. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Copy items from the given buffer to this buffer.int
get
(int i) Obtain the given item from this buffer.getReductionBuf
(Op op) Create a buffer for performing parallel reduction using the given binary operation.void
put
(int i, int item) Store the given item in this buffer.protected int
receiveItems
(int i, int num, ByteBuffer buffer) Receive as many items as possible from the given byte buffer to this buffer.protected int
sendItems
(int i, ByteBuffer buffer) Send as many items as possible from this buffer to the given byte buffer.Methods inherited from class edu.rit.mp.Signed8BitIntegerBuf
buffer, buffer, buffer, buffer, buffer, buffer, colSliceBuffer, colSliceBuffers, defaultCopy, emptyBuffer, fill, getTemporaryBuf, patchBuffer, patchBuffers, rowSliceBuffer, rowSliceBuffers, sliceBuffer, sliceBuffer, sliceBuffers, sliceBuffers
-
Constructor Details
-
EmptySigned8BitIntegerBuf
public EmptySigned8BitIntegerBuf()Construct a new empty signed 8-bit integer buffer.
-
-
Method Details
-
get
public int 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.- Specified by:
get
in classSigned8BitIntegerBuf
- Parameters:
i
- Item index in the range 0 ..length()
-1.- Returns:
- Item at index
i
.
-
put
public void put(int i, int 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.- Specified by:
put
in classSigned8BitIntegerBuf
- Parameters:
i
- Item index in the range 0 ..length()
-1.item
- Item to be stored at indexi
.
-
copy
Copy items from the given buffer to this buffer. The number of items copied is this buffer's length ortheSrc
's length, whichever is smaller. IftheSrc
is this buffer, thecopy()
method does nothing. Copy items from the given buffer to this buffer. The number of items copied is this buffer's length ortheSrc
's length, whichever is smaller. IftheSrc
is this buffer, thecopy()
method does nothing.The default implementation of the
copy()
method calls thedefaultCopy()
method. A subclass can override thecopy()
method to use a more efficient algorithm. Copy items from the given buffer to this buffer. The number of items copied is this buffer's length ortheSrc
's length, whichever is smaller. IftheSrc
is this buffer, thecopy()
method does nothing.- Overrides:
copy
in classSigned8BitIntegerBuf
- Parameters:
theSrc
- Source of items to copy into this buffer.- Throws:
ClassCastException
- (unchecked exception) Thrown iftheSrc
's item data type is not the same as this buffer's item data type.
-
getReductionBuf
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.
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).
- Specified by:
getReductionBuf
in classBuf
- 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
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. -
receiveItems
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.- Specified by:
receiveItems
in classBuf
- 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.
-