public class ShapeUtils extends Object
Modifier and Type | Method and Description |
---|---|
static boolean |
areShapesBroadcastCompatible(int[] ashape,
int[] bshape)
Check if shapes are broadcast compatible
|
static boolean |
areShapesCompatible(int[] ashape,
int[] bshape)
Check if shapes are compatible, ignoring extra axes of length 1
|
static boolean |
areShapesCompatible(int[] ashape,
int[] bshape,
int axis)
Check if shapes are compatible but skip axis
|
static long |
calcLongSize(int[] shape)
Calculate total number of items in given shape
|
static int[] |
calcShapePadding(int[] aShape,
int[] bShape)
Calculate the padding difference between two shapes.
|
static int |
calcSize(int[] shape)
Calculate total number of items in given shape
|
static int[] |
checkAxes(int rank,
int... axes)
Check that all axes are in range [-rank,rank)
|
static int |
checkAxis(int rank,
int axis)
Check that axis is in range [-rank,rank)
|
static void |
checkCompatibility(ILazyDataset g,
ILazyDataset h)
This function takes a dataset and checks its shape against another dataset.
|
static boolean |
differsByOnes(int[] a,
int[] b) |
static int |
getFlat1DIndex(int[] shape,
int[] pos)
Get flattened view index of given position
|
static int[] |
getNDPositionFromShape(int n,
int[] shape)
Get n-D position from given index
|
static int[] |
getReducedShapeKeepRank(int[] shape,
int... axes)
Set reduced axes to 1
|
static int[] |
getRemainingAxes(int rank,
int... axes) |
static int[] |
getShapeFromObject(Object obj)
Get shape from object (array or list supported)
|
static int[] |
reduceShape(int[] shape,
int... axes)
Remove axes from shape
|
static int[] |
squeezeShape(int[] oshape,
boolean onlyFromEnds)
Remove dimensions of 1 in given shape - from both ends only, if true
|
static int[] |
squeezeShape(int[] oshape,
int axis)
Remove dimension of 1 in given shape
|
public static long calcLongSize(int[] shape)
shape
- public static int calcSize(int[] shape)
shape
- public static boolean areShapesBroadcastCompatible(int[] ashape, int[] bshape)
ashape
- bshape
- public static boolean areShapesCompatible(int[] ashape, int[] bshape)
ashape
- bshape
- public static boolean areShapesCompatible(int[] ashape, int[] bshape, int axis)
ashape
- bshape
- axis
- public static int[] squeezeShape(int[] oshape, boolean onlyFromEnds)
oshape
- onlyFromEnds
- public static int[] squeezeShape(int[] oshape, int axis)
oshape
- axis
- public static int[] getShapeFromObject(Object obj)
obj
- public static int[] getNDPositionFromShape(int n, int[] shape)
n
- indexshape
- public static int getFlat1DIndex(int[] shape, int[] pos)
shape
- pos
- the integer array specifying the n-D positionpublic static void checkCompatibility(ILazyDataset g, ILazyDataset h) throws IllegalArgumentException
g
- The first dataset to be comparedh
- The second dataset to be comparedIllegalArgumentException
- This will be thrown if there is a problem with the compatibilitypublic static int checkAxis(int rank, int axis)
rank
- axis
- public static int[] checkAxes(int rank, int... axes)
rank
- axes
- public static int[] getRemainingAxes(int rank, int... axes)
rank
- axes
- public static int[] reduceShape(int[] shape, int... axes)
shape
- axes
- public static int[] getReducedShapeKeepRank(int[] shape, int... axes)
shape
- axes
- public static boolean differsByOnes(int[] a, int[] b)
a
- b
- public static int[] calcShapePadding(int[] aShape, int[] bShape)
aShape
- bShape
- IllegalArgumentException
- if one shape is null but not the other, or if shapes do
not possess common non-unit lengthsCopyright © 2014–2019 Eclipse Foundation. All rights reserved.