docs: def create_buffer(params, value):
      '''
      If the value is a float, create a numpy array of the required length, filled with value
      If the value is a numpy array, check its length
      Otherwise throw a type error
      '''
      try:
          fv = float(value)
          return np.full(params.length, fv, np.float)
      except TypeError:
          if isinstance(value, np.ndarray):
              if (len(value)>=params.length):
                  return value
          raise TypeError('Value must be a float or a numpy array ofthe required length')