docs: def all_finite(self,X):
          """returns true if X is finite, false, otherwise"""
          # Adapted from sklearn utils: _assert_all_finite(X)
          # First try an O(n) time, O(1) space solution for the common case that
          # everything is finite; fall back to O(n) space np.isfinite to prevent
          # false positives from overflow in sum method.
          # Note: this is basically here because sklearn tree.py uses float32 internally,
          # and float64's that are finite are not finite in float32.
          if (X.dtype.char in np.typecodes['AllFloat']
              and not np.isfinite(np.asarray(X,dtype='float32').sum())
              and not np.isfinite(np.asarray(X,dtype='float32')).all()):
              return False
          return True