CMS 3D CMS Logo

ArrayShape.h
Go to the documentation of this file.
1 #ifndef NPSTAT_ARRAYSHAPE_HH_
2 #define NPSTAT_ARRAYSHAPE_HH_
3 
14 #include <vector>
15 
16 namespace npstat {
21  typedef std::vector<unsigned> ArrayShape;
22 
24 
28  ArrayShape makeShape();
29  ArrayShape makeShape(unsigned i0);
30  ArrayShape makeShape(unsigned i0, unsigned i1);
31  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2);
32  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3);
33  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
34  unsigned i4);
35  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
36  unsigned i4, unsigned i5);
37  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
38  unsigned i4, unsigned i5, unsigned i6);
39  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
40  unsigned i4, unsigned i5, unsigned i6, unsigned i7);
41  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
42  unsigned i4, unsigned i5, unsigned i6, unsigned i7,
43  unsigned i8);
44  ArrayShape makeShape(unsigned i0, unsigned i1, unsigned i2, unsigned i3,
45  unsigned i4, unsigned i5, unsigned i6, unsigned i7,
46  unsigned i8, unsigned i9);
47  ArrayShape makeShape(const unsigned* indices, unsigned nIndices);
49 
51  ArrayShape doubleShape(const ArrayShape& inputShape);
52 
54  ArrayShape halfShape(const ArrayShape& inputShape);
55 
61  bool isSubShape(const ArrayShape& sh1, const ArrayShape& sh2);
62 }
63 
64 #endif // NPSTAT_ARRAYSHAPE_HH_
65 
bool isSubShape(const ArrayShape &sh1, const ArrayShape &sh2)
Definition: ArrayShape.cc:178
std::vector< unsigned > ArrayShape
Definition: ArrayShape.h:21
ArrayShape makeShape()
Definition: ArrayShape.cc:7
ArrayShape doubleShape(const ArrayShape &inputShape)
Definition: ArrayShape.cc:155
ArrayShape halfShape(const ArrayShape &inputShape)
Definition: ArrayShape.cc:164