code: def _enforceDataType(self, data):
          
          value = float(data)
          if math.isnan(value):
              raise ValueError("FloatCti can't store NaNs")
  
          if math.isinf(value):
              if value > 0:
                  logger.warn("Replacing inf by the largest representable float")
                  value = sys.float_info.max
              else:
                  logger.warn("Replacing -inf by the smallest representable float")
                  value = -sys.float_info.max
  
          return value
docs: Converts to float so that this CTI always stores that type.
  
              Replaces infinite with the maximum respresentable float.
              Raises a ValueError if data is a NaN.