15   for (
size_t i =0; i < shape.size(); i++){
 
 
   25   std::vector<size_t> 
ret_shape(shape.size());
 
   26   for (
size_t i =0; i < shape.size(); i++){
 
   27      if (shape[i].isParam) {
 
 
   39   std::size_t fLength = 1;
 
   40   for (
auto& dim: shape) fLength *= dim;
 
 
   80   if(
type == 
"float32" || 
type == 
"float" || 
type == 
"Float"){
 
   83   else if(
type == 
"int64" || 
type == 
"int64_t"){
 
   86   else if (
type == 
"double" || 
type == 
"float64"){
 
   89   else if (
type == 
"bool" ){
 
 
   98   std::stringstream out;
 
  100   for (
size_t i = 0; i < shape.size(); i++) {
 
  102      if (i < shape.size()-1) out << 
" , ";
 
 
  109   std::stringstream out;
 
  111   for (
size_t i = 0; i < shape.size(); i++) {
 
  112      out << shape[i].GetVal();
 
  113      if (i < shape.size()-1) out << 
" , ";
 
 
  124   for (
size_t i = 0; i < shape.size(); i++) {
 
  125      if (shape[i].isParam) {
 
 
  164   for (
size_t dim = 0; dim < 
shapeA.size(); dim++) {
 
 
  175   for (
size_t dim = 0; dim < 
shapeA.size(); dim++) {
 
  176      if (
shapeB[dim].isParam) 
return false;
 
 
  187   for (
size_t dim = 0; dim < 
shapeA.size(); dim++) {
 
 
  197   if (shape.size() < 2) {
 
  199         std::runtime_error(
"TMVA::SOFIE - MultidirectionalBroadcastShape requires at least 2 input shapes.");
 
  202   size_t n = shape.size();
 
  205   for (
size_t i = 1; i < 
n; i++) {
 
  210   for (
size_t i = 0; i < 
n; i++) {
 
  219      for (
size_t i = 1; i < 
n; i++) {
 
  220         for (
size_t dim = 0; dim < shape[0].size(); dim++) {
 
  221            if (shape[i][dim] != shape[0][dim]) {
 
  235         for (
size_t i = 0; i < 
n; i++) {
 
  236            for (
size_t dim = 0; dim < 
targetSize; dim++) {
 
  242         for (
size_t i = 0; i < 
n; i++) {
 
  243            for (
size_t dim = 0; dim < 
targetSize; dim++) {
 
  257            std::stringstream 
ss;
 
  258            ss << 
"TMVA::SOFIE - Error multidirectional broadcasting shapes ";
 
  259            for (
size_t i = 0; i < 
n; i++) {
 
  261               if (
n > 2 && i < 
n - 2) {
 
  263               } 
else if ( 
n >=2 && i == 
n - 2) {
 
  267            ss << 
" to the same shape.";
 
  269               std::runtime_error(
ss.str());
 
  274   for (
size_t i = 0; i < 
n; i++) {
 
  284   for (
size_t i = 0; i < 
n; i++) {
 
  285      for (
size_t dim = 0; dim < 
targetSize; dim++) {
 
  291   for (
size_t i = 0; i < 
n; i++) {
 
  292      for (
size_t dim = 0; dim < 
targetSize; dim++) {
 
  305      std::stringstream 
ss;
 
  306      ss << 
"TMVA::SOFIE - Error multidirectional broadcasting shapes ";
 
  307      for (
size_t i = 0; i < 
n; i++) {
 
  309         if (
n > 2 && i < 
n - 2) {
 
  311         } 
else if ( 
n >=2 && i == 
n - 2) {
 
  315      ss << 
" to the same shape.";
 
  317         std::runtime_error(
ss.str());
 
 
  344   for (
size_t i = 0; i < 
size; i++) {
 
  353      for (
size_t i = 0; i < 
size; i++) {
 
  359         std::runtime_error(
"TMVA::SOFIE - Error unidirectional broadcasting tensors of shape " 
  361            + 
" to a common shape.");
 
 
  367   s.erase(std::remove_if(s.begin(), s.end(), []( 
char const& 
c ) -> 
bool { return !std::isalnum(c); } ), s.end());
 
 
  373   const auto size = shape.size();
 
  374   std::vector<size_t> strides(
size,1);
 
  375   for (std::size_t i = 1; i < 
size; i++) {
 
  376      strides[
size - 1 - i] = strides[
size - i ] * shape[
size - i];
 
 
  383   const auto size = shape.size();
 
  384   std::vector<Dim> strides(
size);
 
  386   for (std::size_t i = 1; i < 
size; i++) {
 
  387      if (!shape[
size-i].isParam && !strides[
size-i].isParam)
 
  390         strides[
size - 1 - i] = 
Dim{std::string(strides[
size-i].GetVal() + 
"*" + shape[
size-i].GetVal())};
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h length
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
const_iterator begin() const
const_iterator end() const
bool AreSameShape(const std::vector< size_t > &, const std::vector< size_t > &)
std::vector< size_t > UnidirectionalBroadcastShape(std::vector< size_t >, std::vector< size_t >)
std::string Clean_name(std::string input_tensor_name)
std::vector< size_t > MultidirectionalBroadcastShape(std::vector< std::vector< size_t > >)
std::vector< size_t > ComputeStrideFromShape(const std::vector< size_t > &shape)
compute stride of a tensor given its shape (assume layout is row-major)
std::vector< Dim > ConvertShapeToDim(std::vector< size_t > shape)
Convert shape from integer format to dynamic one (based on Dim)
std::string ConvertDynamicShapeToLength(std::vector< Dim > shape)
std::string ConvertShapeToString(std::vector< size_t > shape)
std::string ConvertTypeToString(ETensorType type)
std::string ConvertDynamicShapeToString(std::vector< Dim > shape)
ETensorType ConvertStringToType(std::string type)
std::vector< size_t > ConvertShapeToInt(std::vector< Dim > shape)
Convert shape based on Dim to integer format.
std::size_t ConvertShapeToLength(std::vector< size_t > shape)
create variable transformations