code: def as_XYZ100_w(whitepoint):
      
      if isinstance(whitepoint, str):
          return standard_illuminant_XYZ100(whitepoint)
      else:
          whitepoint = np.asarray(whitepoint, dtype=float)
          if whitepoint.shape[-1] != 3:
              raise ValueError("Bad whitepoint shape")
          return whitepoint
docs: A convenience function for getting whitepoints.
  
      ``whitepoint`` can be either a string naming a standard illuminant (see
      :func:`standard_illuminant_XYZ100`), or else a whitepoint given explicitly
      as an array-like of XYZ values.
  
      We internally call this function anywhere you have to specify a whitepoint
      (e.g. for CIECAM02 or CIELAB conversions).
  
      Always uses the "standard" 2 degree observer.