| 18 | { |
| 19 | |
| 20 | class TensorShape |
| 21 | { |
| 22 | public: |
| 23 | /// Empty (invalid) constructor. |
| 24 | TensorShape(); |
| 25 | |
| 26 | /// Constructor for TensorShape |
| 27 | /// @param numDimensions - Tensor rank. |
| 28 | /// @param initDimensionsSpecificity (optional) - value to initialize the specificity of each dimension size. |
| 29 | explicit TensorShape(unsigned int numDimensions, bool initDimensionsSpecificity = true); |
| 30 | |
| 31 | /// Constructor for TensorShape |
| 32 | /// @param numDimensions - Tensor rank. |
| 33 | /// @param dimensionSizes - Size of each of dimension. |
| 34 | TensorShape(unsigned int numDimensions, const unsigned int* dimensionSizes); |
| 35 | |
| 36 | /// Constructor for TensorShape |
| 37 | /// @param dimensionSizeList - Size of each of dimension. |
| 38 | TensorShape(std::initializer_list<unsigned int> dimensionSizeList); |
| 39 | |
| 40 | /// Copy Constructor for TensorShape |
| 41 | /// @param other - TensorShape to copy from. |
| 42 | TensorShape(const TensorShape& other); |
| 43 | |
| 44 | /// Constructor for TensorShape |
| 45 | /// @param numDimensions - Tensor rank. |
| 46 | /// @param dimensionSizes - Size of each of dimension. |
| 47 | /// @param dimensionsSpecificity - Flags to indicate which dimension has its size specified. |
| 48 | TensorShape(unsigned int numDimensions, const unsigned int* dimensionSizes, const bool* dimensionsSpecificity); |
| 49 | |
| 50 | /// Constructor for TensorShape |
| 51 | /// @param dimensionSizeList - Size of each of dimension. |
| 52 | /// @param dimensionsSpecificityList - Flags to indicate which dimension size is specified. |
| 53 | TensorShape(std::initializer_list<unsigned int> dimensionSizeList, |
| 54 | std::initializer_list<bool> dimensionsSpecificityList); |
| 55 | |
| 56 | /// Constructor for TensorShape |
| 57 | /// @param dimensionality - Parameter to indicate if the Tensor is a Scalar, a Tensor of known dimensionality |
| 58 | /// or a Tensor of unknown dimensionality. |
| 59 | explicit TensorShape(Dimensionality dimensionality); |
| 60 | |
| 61 | /// Assignation function |
| 62 | /// @param other - TensorShape to copy from. |
| 63 | TensorShape& operator=(const TensorShape& other); |
| 64 | |
| 65 | /// Read only operator |
| 66 | /// @param i - Dimension index. |
| 67 | unsigned int operator[](unsigned int i) const; |
| 68 | |
| 69 | /// Read and write operator |
| 70 | /// @param i - Dimension index. |
| 71 | unsigned int& operator[](unsigned int i); |
| 72 | |
| 73 | /// Equality comparison operator |
| 74 | /// @param other - TensorShape to compare with. |
| 75 | bool operator==(const TensorShape& other) const; |
| 76 | |
| 77 | /// Inequality comparison operator |
no outgoing calls
no test coverage detected