code: def ensure_float_vector(F, require_order = False):
      
      if is_float_vector(F):
          return F
      elif is_float(F):
          return np.array([F])
      elif is_iterable_of_float(F):
          return np.array(F)
      elif isinstance(F, set):
          if require_order:
              raise TypeError('Argument is an unordered set, but I require an ordered array of floats')
          else:
              lF = list(F)
              if is_list_of_float(lF):
                  return np.array(lF)
      else:
          raise TypeError('Argument is not of a type that is convertible to an array of floats.')
docs: Ensures that F is a numpy array of floats
  
      If F is already a numpy array of floats, F is returned (no copied!)
      Otherwise, checks if the argument can be converted to an array of floats and does that.
  
      Parameters
      ----------
      F: float, or iterable of float
      require_order : bool
          If False (default), an unordered set is accepted. If True, a set is not accepted.
  
      Returns
      -------
      arr : ndarray(n)
          numpy array with the floats contained in the argument