docs: @Override
      public void trsm(char Order, char Side, char Uplo, char TransA, char Diag, double alpha, INDArray A, INDArray B) {
          if (Nd4j.getExecutioner().getProfilingMode() == OpExecutioner.ProfilingMode.ALL)
              OpProfiler.getInstance().processBlasCall(false, A, B);
  
          // FIXME: int cast
  
          if (A.data().dataType() == DataType.DOUBLE) {
              DefaultOpExecutioner.validateDataType(DataType.DOUBLE, A, B);
              dtrsm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), alpha, A, (int) A.size(0), B, (int) B.size(0));
          } else {
              DefaultOpExecutioner.validateDataType(DataType.FLOAT, A, B);
              strsm(Order, Side, Uplo, TransA, Diag, (int) A.rows(), (int) A.columns(), (float) alpha, A, (int) A.size(0), B, (int) B.size(0));
          }
  
          OpExecutionerUtil.checkForAny(B);
      }