File indexing completed on 2026-08-16 09:21:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef ROOT_INTERNAL_ML_RFLAT2DMATRIXOPERATORS
0012 #define ROOT_INTERNAL_ML_RFLAT2DMATRIXOPERATORS
0013
0014 #include <vector>
0015
0016
0017 namespace ROOT::Experimental::Internal::ML {
0018 struct RFlat2DMatrix;
0019 }
0020
0021 namespace ROOT::Experimental::Internal::ML {
0022
0023
0024
0025
0026
0027
0028 class RFlat2DMatrixOperators {
0029 private:
0030 bool fShuffle;
0031 std::size_t fSetSeed;
0032
0033 public:
0034 RFlat2DMatrixOperators(bool shuffle = true, const std::size_t setSeed = 0) : fShuffle(shuffle), fSetSeed(setSeed) {}
0035
0036 ~RFlat2DMatrixOperators();
0037
0038 void ShuffleTensor(RFlat2DMatrix &ShuffledTensor, RFlat2DMatrix &Tensor);
0039
0040 void
0041 SliceTensor(RFlat2DMatrix &SlicedTensor, RFlat2DMatrix &Tensor, const std::vector<std::vector<std::size_t>> &slice);
0042
0043 void ConcatenateTensors(RFlat2DMatrix &ConcatTensor, const std::vector<RFlat2DMatrix> &Tensors);
0044 };
0045
0046 }
0047 #endif