public abstract class VectorBinaryAssign extends Object
Modifier and Type | Class and Description |
---|---|
static class |
VectorBinaryAssign.AssignAllIterateSequentialInplaceUpdates |
static class |
VectorBinaryAssign.AssignAllIterateSequentialMergeUpdates |
static class |
VectorBinaryAssign.AssignAllIterateThatLookupThisInplaceUpdates |
static class |
VectorBinaryAssign.AssignAllIterateThatLookupThisMergeUpdates |
static class |
VectorBinaryAssign.AssignAllIterateThisLookupThatInplaceUpdates |
static class |
VectorBinaryAssign.AssignAllIterateThisLookupThatMergeUpdates |
static class |
VectorBinaryAssign.AssignAllLoopInplaceUpdates |
static class |
VectorBinaryAssign.AssignAllLoopMergeUpdates |
static class |
VectorBinaryAssign.AssignIterateIntersection
If f(x, 0) = x and f(0, y) = 0 the zeros in x and y don't matter and we can iterate through the nonzeros
in both x and y.
|
static class |
VectorBinaryAssign.AssignIterateUnionRandomInplaceUpdates
If f(0, 0) = 0 we can iterate through the nonzeros in either x or y.
|
static class |
VectorBinaryAssign.AssignIterateUnionRandomMergeUpdates
If f(0, 0) = 0 we can iterate through the nonzeros in either x or y.
|
static class |
VectorBinaryAssign.AssignIterateUnionSequentialInplaceUpdates
If f(0, 0) = 0 we can iterate through the nonzeros in either x or y.
|
static class |
VectorBinaryAssign.AssignIterateUnionSequentialMergeUpdates
If f(0, 0) = 0 we can iterate through the nonzeros in either x or y.
|
static class |
VectorBinaryAssign.AssignNonzerosIterateThatLookupThisInplaceUpdates
If f(x, 0) = x, the zeros in y don't matter and we can simply iterate through the nonzeros of y.
|
static class |
VectorBinaryAssign.AssignNonzerosIterateThatLookupThisMergeUpdates
If f(x, 0) = x, the zeros in y don't matter and we can simply iterate through the nonzeros of y.
|
static class |
VectorBinaryAssign.AssignNonzerosIterateThisLookupThat
If f(0, y) = 0, the zeros in x don't matter and we can simply iterate through the nonzeros of x.
|
Modifier and Type | Field and Description |
---|---|
static VectorBinaryAssign[] |
OPERATIONS |
Constructor and Description |
---|
VectorBinaryAssign() |
Modifier and Type | Method and Description |
---|---|
abstract Vector |
assign(Vector x,
Vector y,
DoubleDoubleFunction f)
Main method that applies f to x and y component-wise assigning the results to x.
|
static Vector |
assignBest(Vector x,
Vector y,
DoubleDoubleFunction f)
This is the method that should be used when assigning.
|
abstract double |
estimateCost(Vector x,
Vector y,
DoubleDoubleFunction f)
Estimates the cost of using this algorithm to compute the assignment.
|
static VectorBinaryAssign |
getBestOperation(Vector x,
Vector y,
DoubleDoubleFunction f)
The best operation is the least expensive valid one.
|
abstract boolean |
isValid(Vector x,
Vector y,
DoubleDoubleFunction f)
Returns true iff we can use this algorithm to apply f to x and y component-wise and assign the result to x.
|
public static final VectorBinaryAssign[] OPERATIONS
public abstract boolean isValid(Vector x, Vector y, DoubleDoubleFunction f)
public abstract double estimateCost(Vector x, Vector y, DoubleDoubleFunction f)
public abstract Vector assign(Vector x, Vector y, DoubleDoubleFunction f)
public static VectorBinaryAssign getBestOperation(Vector x, Vector y, DoubleDoubleFunction f)
public static Vector assignBest(Vector x, Vector y, DoubleDoubleFunction f)
Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.