(context, builder, ty_arg, val)
return (key_val, lir_key_type)
This function should adjust key to satisfy argument type of native function to
    which it will be passed later
This function should adjust key to satisfy argument type of native function to
    which it will be passed later
This function should adjust key to satisfy argument type of native function to which it will be passed later
def transform_input_arg(context, builder, ty_arg, val):
    """ This function should adjust key to satisfy argument type of native function to
    which it will be passed later """

    if isinstance(ty_arg, types.Number):
        arg_native_type = reduced_type_map.get(ty_arg, ty_arg)
        key_val = val
        if ty_arg is not arg_native_type:
            key_val = context.cast(builder, key_val, ty_arg, arg_native_type)
        lir_key_type = context.get_value_type(arg_native_type)
    else:
        key_val = codegen_get_voidptr(context, builder, ty_arg, val)
        lir_key_type = context.get_value_type(types.voidptr)

    return (key_val, lir_key_type)
def transform_input_arg ( context , builder , ty_arg , val ) : if isinstance ( ty_arg , types . Number ) : arg_native_type = reduced_type_map . get ( ty_arg , ty_arg ) key_val = val if ty_arg is not arg_native_type : key_val = context . cast ( builder , key_val , ty_arg , arg_native_type ) lir_key_type = context . get_value_type ( arg_native_type ) else : key_val = codegen_get_voidptr ( context , builder , ty_arg , val ) lir_key_type = context . get_value_type ( types . voidptr ) return ( key_val , lir_key_type )