Search in sources :

Example 46 with DoubleBuffer

use of java.nio.DoubleBuffer in project angel by Tencent.

the class RandomNormal method doUpdate.

@Override
protected void doUpdate(ServerDenseDoubleRow[] rows, double[] scalars) {
    Random rand = new Random(System.currentTimeMillis());
    try {
        rows[0].getLock().writeLock().lock();
        double mean = scalars[0];
        double stdDev = scalars[1];
        DoubleBuffer data = rows[0].getData();
        int size = rows[0].size();
        for (int i = 0; i < size; i++) {
            data.put(i, stdDev * rand.nextGaussian() + mean);
        }
    } finally {
        rows[0].getLock().writeLock().unlock();
    }
}
Also used : DoubleBuffer(java.nio.DoubleBuffer) Random(java.util.Random)

Example 47 with DoubleBuffer

use of java.nio.DoubleBuffer in project angel by Tencent.

the class Round method doUpdate.

@Override
protected void doUpdate(ServerDenseDoubleRow[] rows) {
    try {
        rows[1].getLock().writeLock().lock();
        DoubleBuffer from = rows[0].getData();
        DoubleBuffer to = rows[1].getData();
        int size = rows[0].size();
        for (int i = 0; i < size; i++) {
            to.put(i, Math.round(from.get(i)));
        }
    } finally {
        rows[1].getLock().writeLock().unlock();
    }
}
Also used : DoubleBuffer(java.nio.DoubleBuffer)

Example 48 with DoubleBuffer

use of java.nio.DoubleBuffer in project angel by Tencent.

the class Sqrt method doUpdate.

@Override
protected void doUpdate(ServerDenseDoubleRow[] rows) {
    try {
        rows[1].getLock().writeLock().lock();
        DoubleBuffer from = rows[0].getData();
        DoubleBuffer to = rows[1].getData();
        int size = rows[0].size();
        for (int i = 0; i < size; i++) {
            to.put(i, Math.sqrt(from.get(i)));
        }
    } finally {
        rows[1].getLock().writeLock().unlock();
    }
}
Also used : DoubleBuffer(java.nio.DoubleBuffer)

Example 49 with DoubleBuffer

use of java.nio.DoubleBuffer in project angel by Tencent.

the class SubS method doUpdate.

@Override
protected void doUpdate(ServerDenseDoubleRow[] rows, double[] values) {
    try {
        rows[1].getLock().writeLock().lock();
        DoubleBuffer from = rows[0].getData();
        DoubleBuffer to = rows[1].getData();
        double value = values[0];
        int size = rows[0].size();
        for (int i = 0; i < size; i++) {
            to.put(i, from.get(i) - value);
        }
    } finally {
        rows[1].getLock().writeLock().unlock();
    }
}
Also used : DoubleBuffer(java.nio.DoubleBuffer)

Example 50 with DoubleBuffer

use of java.nio.DoubleBuffer in project angel by Tencent.

the class Map method doUpdate.

@Override
protected void doUpdate(ServerDenseDoubleRow[] rows, Serialize func) {
    MapFunc mapper = (MapFunc) func;
    DoubleBuffer from = rows[0].getData();
    DoubleBuffer to = rows[1].getData();
    int size = rows[0].size();
    for (int i = 0; i < size; i++) {
        to.put(i, mapper.call(from.get(i)));
    }
}
Also used : DoubleBuffer(java.nio.DoubleBuffer)

Aggregations

DoubleBuffer (java.nio.DoubleBuffer)162 ByteBuffer (java.nio.ByteBuffer)39 FloatBuffer (java.nio.FloatBuffer)26 IntBuffer (java.nio.IntBuffer)25 ShortBuffer (java.nio.ShortBuffer)22 LongBuffer (java.nio.LongBuffer)14 CharBuffer (java.nio.CharBuffer)11 BufferOverflowException (java.nio.BufferOverflowException)8 IOException (java.io.IOException)5 BufferUnderflowException (java.nio.BufferUnderflowException)5 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)4 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)4 ServerDenseDoubleRow (com.tencent.angel.ps.impl.matrix.ServerDenseDoubleRow)4 Test (org.junit.Test)4 InvalidMarkException (java.nio.InvalidMarkException)3 Random (java.util.Random)3 BytePointer (org.bytedeco.javacpp.BytePointer)3 DoublePointer (org.bytedeco.javacpp.DoublePointer)3 FloatPointer (org.bytedeco.javacpp.FloatPointer)3 IntPointer (org.bytedeco.javacpp.IntPointer)3