def _initialize():
    """
    Construct the vector types, populate `vector_types` dictionary, and
    enable the constructors.
    """
    vector_type_attribute_names = ("x", "y", "z", "w")
    for stub in stubs._vector_type_stubs:
        type_name = stub.__name__
        base_type = getattr(types, type_name[:-2])
        num_elements = int(type_name[-1])
        attributes = vector_type_attribute_names[:num_elements]
        vector_type = make_vector_type(type_name, base_type, attributes, stub)
        vector_types[type_name] = vector_type

    for vty in vector_types.values():
        arglists, l = [], []
        build_constructor_overloads(
            vty.base_type, vty.name, vty.num_elements, arglists, l
        )
        enable_vector_type_ctor(vty, arglists)

    Construct the vector types, populate `vector_types` dictionary, and
    enable the constructors.
    
numba/cuda/vector_types.py