Class ByteArrayBuf_1
- Version:
- 25-Oct-2007
- Author:
- Alan Kaminsky
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionByteArrayBuf_1(byte[] theArray, Range theRange) Construct a new byte array buffer. -
Method Summary
Modifier and TypeMethodDescriptionbyteget(int i) Obtain the given item from this buffer.getReductionBuf(Op op) Create a buffer for performing parallel reduction using the given binary operation.voidput(int i, byte item) Store the given item in this buffer.protected intreceiveItems(int i, int num, ByteBuffer buffer) Receive as many items as possible from the given byte buffer to this buffer.protected intsendItems(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.buf.ByteArrayBuf
copyMethods inherited from class edu.rit.mp.ByteBuf
buffer, buffer, buffer, buffer, buffer, buffer, colSliceBuffer, colSliceBuffers, defaultCopy, emptyBuffer, fill, getTemporaryBuf, patchBuffer, patchBuffers, rowSliceBuffer, rowSliceBuffers, sliceBuffer, sliceBuffer, sliceBuffers, sliceBuffers
-
Constructor Details
-
ByteArrayBuf_1
Construct a new byte array buffer.- Parameters:
theArray- Array.theRange- Range of array elements to include in the buffer. The stride is assumed to be 1.
-
-
Method Details
-
get
public byte 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:
getin classByteArrayBuf- Parameters:
i- Item index in the range 0 ..length()-1.- Returns:
- Item at index
i.
-
put
public void put(int i, byte 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:
putin classByteArrayBuf- Parameters:
i- Item index in the range 0 ..length()-1.item- Item to be stored at indexi.
-
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. Create a buffer for performing parallel reduction using the given binary operation. The results of the reduction are placed into this buffer.
- Overrides:
getReductionBufin classByteArrayBuf- Parameters:
op- Binary operation.- Returns:
- a
Bufobject. - 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. 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:
sendItemsin classByteArrayBuf- Parameters:
i- Index of first item to send, in the range 0 ..length-1.buffer- Byte buffer.- Returns:
- Number of items sent.
-
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. 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:
receiveItemsin classByteArrayBuf- 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.
-