Class MaterializeAtomic
- java.lang.Object
-
- akka.stream.impl.MaterializeAtomic
-
- All Implemented Interfaces:
Traversal
,java.io.Serializable
,scala.Equals
,scala.Product
,scala.Serializable
public final class MaterializeAtomic extends java.lang.Object implements Traversal, scala.Product, scala.Serializable
INTERNAL APIArriving at this step means that an atomic module needs to be materialized (or any other activity which assigns something to wired output-input port pairs).
The traversing party must assign port numbers in the following way: - input ports are implicitly assigned to numbers. Every module's input ports are assigned to consecutive numbers according to their order in the shape. In other words, the materializer only needs to keep a counter and increment it for every visited input port. - the assigned number of the first input port for every module should be saved while materializing the module. every output port should be assigned to (base + outToSlots(out.id)) where base is the number of the first input port of the module (or the last unused input number if it has no input ports) and outToSlots is the array provided by the traversal step.
Since the above two rules always require local only computations (except a counter) this achieves positional independence of materializations.
See the
TraversalTestUtils
class and thetestMaterialize
method for a simple example.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MaterializeAtomic(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MaterializeAtomic
apply(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
static double
apply$mcDDD$sp(double v1, double v2)
static double
apply$mcDDI$sp(double v1, int v2)
static double
apply$mcDDJ$sp(double v1, long v2)
static double
apply$mcDID$sp(int v1, double v2)
static double
apply$mcDII$sp(int v1, int v2)
static double
apply$mcDIJ$sp(int v1, long v2)
static double
apply$mcDJD$sp(long v1, double v2)
static double
apply$mcDJI$sp(long v1, int v2)
static double
apply$mcDJJ$sp(long v1, long v2)
static float
apply$mcFDD$sp(double v1, double v2)
static float
apply$mcFDI$sp(double v1, int v2)
static float
apply$mcFDJ$sp(double v1, long v2)
static float
apply$mcFID$sp(int v1, double v2)
static float
apply$mcFII$sp(int v1, int v2)
static float
apply$mcFIJ$sp(int v1, long v2)
static float
apply$mcFJD$sp(long v1, double v2)
static float
apply$mcFJI$sp(long v1, int v2)
static float
apply$mcFJJ$sp(long v1, long v2)
static int
apply$mcIDD$sp(double v1, double v2)
static int
apply$mcIDI$sp(double v1, int v2)
static int
apply$mcIDJ$sp(double v1, long v2)
static int
apply$mcIID$sp(int v1, double v2)
static int
apply$mcIII$sp(int v1, int v2)
static int
apply$mcIIJ$sp(int v1, long v2)
static int
apply$mcIJD$sp(long v1, double v2)
static int
apply$mcIJI$sp(long v1, int v2)
static int
apply$mcIJJ$sp(long v1, long v2)
static long
apply$mcJDD$sp(double v1, double v2)
static long
apply$mcJDI$sp(double v1, int v2)
static long
apply$mcJDJ$sp(double v1, long v2)
static long
apply$mcJID$sp(int v1, double v2)
static long
apply$mcJII$sp(int v1, int v2)
static long
apply$mcJIJ$sp(int v1, long v2)
static long
apply$mcJJD$sp(long v1, double v2)
static long
apply$mcJJI$sp(long v1, int v2)
static long
apply$mcJJJ$sp(long v1, long v2)
static void
apply$mcVDD$sp(double v1, double v2)
static void
apply$mcVDI$sp(double v1, int v2)
static void
apply$mcVDJ$sp(double v1, long v2)
static void
apply$mcVID$sp(int v1, double v2)
static void
apply$mcVII$sp(int v1, int v2)
static void
apply$mcVIJ$sp(int v1, long v2)
static void
apply$mcVJD$sp(long v1, double v2)
static void
apply$mcVJI$sp(long v1, int v2)
static void
apply$mcVJJ$sp(long v1, long v2)
static boolean
apply$mcZDD$sp(double v1, double v2)
static boolean
apply$mcZDI$sp(double v1, int v2)
static boolean
apply$mcZDJ$sp(double v1, long v2)
static boolean
apply$mcZID$sp(int v1, double v2)
static boolean
apply$mcZII$sp(int v1, int v2)
static boolean
apply$mcZIJ$sp(int v1, long v2)
static boolean
apply$mcZJD$sp(long v1, double v2)
static boolean
apply$mcZJI$sp(long v1, int v2)
static boolean
apply$mcZJJ$sp(long v1, long v2)
boolean
canEqual(java.lang.Object x$1)
MaterializeAtomic
copy(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
StreamLayout.AtomicModule<Shape,java.lang.Object>
copy$default$1()
int[]
copy$default$2()
boolean
equals(java.lang.Object x$1)
int
hashCode()
StreamLayout.AtomicModule<Shape,java.lang.Object>
module()
int[]
outToSlots()
int
productArity()
java.lang.Object
productElement(int x$1)
scala.collection.Iterator<java.lang.Object>
productIterator()
java.lang.String
productPrefix()
Traversal
rewireFirstTo(int relativeOffset)
java.lang.String
toString()
static scala.Option<scala.Tuple2<StreamLayout.AtomicModule<Shape,java.lang.Object>,int[]>>
unapply(MaterializeAtomic x$0)
-
-
-
Constructor Detail
-
MaterializeAtomic
public MaterializeAtomic(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
-
-
Method Detail
-
apply
public static MaterializeAtomic apply(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
-
unapply
public static scala.Option<scala.Tuple2<StreamLayout.AtomicModule<Shape,java.lang.Object>,int[]>> unapply(MaterializeAtomic x$0)
-
apply$mcZDD$sp
public static boolean apply$mcZDD$sp(double v1, double v2)
-
apply$mcDDD$sp
public static double apply$mcDDD$sp(double v1, double v2)
-
apply$mcFDD$sp
public static float apply$mcFDD$sp(double v1, double v2)
-
apply$mcIDD$sp
public static int apply$mcIDD$sp(double v1, double v2)
-
apply$mcJDD$sp
public static long apply$mcJDD$sp(double v1, double v2)
-
apply$mcVDD$sp
public static void apply$mcVDD$sp(double v1, double v2)
-
apply$mcZDI$sp
public static boolean apply$mcZDI$sp(double v1, int v2)
-
apply$mcDDI$sp
public static double apply$mcDDI$sp(double v1, int v2)
-
apply$mcFDI$sp
public static float apply$mcFDI$sp(double v1, int v2)
-
apply$mcIDI$sp
public static int apply$mcIDI$sp(double v1, int v2)
-
apply$mcJDI$sp
public static long apply$mcJDI$sp(double v1, int v2)
-
apply$mcVDI$sp
public static void apply$mcVDI$sp(double v1, int v2)
-
apply$mcZDJ$sp
public static boolean apply$mcZDJ$sp(double v1, long v2)
-
apply$mcDDJ$sp
public static double apply$mcDDJ$sp(double v1, long v2)
-
apply$mcFDJ$sp
public static float apply$mcFDJ$sp(double v1, long v2)
-
apply$mcIDJ$sp
public static int apply$mcIDJ$sp(double v1, long v2)
-
apply$mcJDJ$sp
public static long apply$mcJDJ$sp(double v1, long v2)
-
apply$mcVDJ$sp
public static void apply$mcVDJ$sp(double v1, long v2)
-
apply$mcZID$sp
public static boolean apply$mcZID$sp(int v1, double v2)
-
apply$mcDID$sp
public static double apply$mcDID$sp(int v1, double v2)
-
apply$mcFID$sp
public static float apply$mcFID$sp(int v1, double v2)
-
apply$mcIID$sp
public static int apply$mcIID$sp(int v1, double v2)
-
apply$mcJID$sp
public static long apply$mcJID$sp(int v1, double v2)
-
apply$mcVID$sp
public static void apply$mcVID$sp(int v1, double v2)
-
apply$mcZII$sp
public static boolean apply$mcZII$sp(int v1, int v2)
-
apply$mcDII$sp
public static double apply$mcDII$sp(int v1, int v2)
-
apply$mcFII$sp
public static float apply$mcFII$sp(int v1, int v2)
-
apply$mcIII$sp
public static int apply$mcIII$sp(int v1, int v2)
-
apply$mcJII$sp
public static long apply$mcJII$sp(int v1, int v2)
-
apply$mcVII$sp
public static void apply$mcVII$sp(int v1, int v2)
-
apply$mcZIJ$sp
public static boolean apply$mcZIJ$sp(int v1, long v2)
-
apply$mcDIJ$sp
public static double apply$mcDIJ$sp(int v1, long v2)
-
apply$mcFIJ$sp
public static float apply$mcFIJ$sp(int v1, long v2)
-
apply$mcIIJ$sp
public static int apply$mcIIJ$sp(int v1, long v2)
-
apply$mcJIJ$sp
public static long apply$mcJIJ$sp(int v1, long v2)
-
apply$mcVIJ$sp
public static void apply$mcVIJ$sp(int v1, long v2)
-
apply$mcZJD$sp
public static boolean apply$mcZJD$sp(long v1, double v2)
-
apply$mcDJD$sp
public static double apply$mcDJD$sp(long v1, double v2)
-
apply$mcFJD$sp
public static float apply$mcFJD$sp(long v1, double v2)
-
apply$mcIJD$sp
public static int apply$mcIJD$sp(long v1, double v2)
-
apply$mcJJD$sp
public static long apply$mcJJD$sp(long v1, double v2)
-
apply$mcVJD$sp
public static void apply$mcVJD$sp(long v1, double v2)
-
apply$mcZJI$sp
public static boolean apply$mcZJI$sp(long v1, int v2)
-
apply$mcDJI$sp
public static double apply$mcDJI$sp(long v1, int v2)
-
apply$mcFJI$sp
public static float apply$mcFJI$sp(long v1, int v2)
-
apply$mcIJI$sp
public static int apply$mcIJI$sp(long v1, int v2)
-
apply$mcJJI$sp
public static long apply$mcJJI$sp(long v1, int v2)
-
apply$mcVJI$sp
public static void apply$mcVJI$sp(long v1, int v2)
-
apply$mcZJJ$sp
public static boolean apply$mcZJJ$sp(long v1, long v2)
-
apply$mcDJJ$sp
public static double apply$mcDJJ$sp(long v1, long v2)
-
apply$mcFJJ$sp
public static float apply$mcFJJ$sp(long v1, long v2)
-
apply$mcIJJ$sp
public static int apply$mcIJJ$sp(long v1, long v2)
-
apply$mcJJJ$sp
public static long apply$mcJJJ$sp(long v1, long v2)
-
apply$mcVJJ$sp
public static void apply$mcVJJ$sp(long v1, long v2)
-
module
public StreamLayout.AtomicModule<Shape,java.lang.Object> module()
-
outToSlots
public int[] outToSlots()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
rewireFirstTo
public Traversal rewireFirstTo(int relativeOffset)
- Specified by:
rewireFirstTo
in interfaceTraversal
-
copy
public MaterializeAtomic copy(StreamLayout.AtomicModule<Shape,java.lang.Object> module, int[] outToSlots)
-
copy$default$1
public StreamLayout.AtomicModule<Shape,java.lang.Object> copy$default$1()
-
copy$default$2
public int[] copy$default$2()
-
productPrefix
public java.lang.String productPrefix()
- Specified by:
productPrefix
in interfacescala.Product
-
productArity
public int productArity()
- Specified by:
productArity
in interfacescala.Product
-
productElement
public java.lang.Object productElement(int x$1)
- Specified by:
productElement
in interfacescala.Product
-
productIterator
public scala.collection.Iterator<java.lang.Object> productIterator()
- Specified by:
productIterator
in interfacescala.Product
-
canEqual
public boolean canEqual(java.lang.Object x$1)
- Specified by:
canEqual
in interfacescala.Equals
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object x$1)
- Specified by:
equals
in interfacescala.Equals
- Overrides:
equals
in classjava.lang.Object
-
-