code: def valid_ranges(*types):
      # given a sequence of numeric types, collect their _type_
      # attribute, which is a single format character compatible with
      # the struct module, use the struct module to calculate the
      # minimum and maximum value allowed for this format.
      # Returns a list of (min, max) values.
      result = []
      for t in types:
          fmt = t._type_
          size = struct.calcsize(fmt)
          a = struct.unpack(fmt, (b"\x00" * 32)[:size])[0]
          b = struct.unpack(fmt, (b"\xFF" * 32)[:size])[0]
          c = struct.unpack(fmt, (b"\x7F" + b"\x00" * 32)[:size])[0]
          d = struct.unpack(fmt, (b"\x80" + b"\xFF" * 32)[:size])[0]
          result.append((min(a, b, c, d), max(a, b, c, d)))
      return result
  
imports: import array
  import struct
  import sys
  import unittest
  from operator import truth
  from ctypes import byref, sizeof, alignment, c_char, c_byte, c_ubyte, c_short, c_ushort, c_int, c_uint, c_long, c_ulong, c_longlong, c_ulonglong, c_float, c_double, c_longdouble, c_bool
label_desc: Use image node_id 1 for calling a global function with example usage: valid_ranges() and returns: result