# Simplified from
# https://github.com/google/neural-tangents/blob/main/tests/empirical_test.py.
# pylint: skip-file

_functions = {
    'k0': lambda x: x,
    'k1': lambda x, y: (x, y),
    'k2': lambda x, y, z: (x, y, z),
    'k3': lambda x: x,
    'k4': lambda x, y: (x, y),
    'k5': lambda x, y, z: (x, y, z),
    'k6': lambda x: x,
    'k7': lambda x, y: (x, y),
    'k8': lambda x, y, z: (x, y, z),
    'k9': lambda x: x,
    'k10': lambda x, y: (x, y),
    'k11': lambda x, y, z: (x, y, z),
    'k12': lambda x: x,
    'k13': lambda x, y: (x, y),
    'k14': lambda x, y, z: (x, y, z),
    'k15': lambda x: x,
    'k16': lambda x, y: (x, y),
    'k17': lambda x, y, z: (x, y, z),
    'k18': lambda x: x,
    'k19': lambda x, y: (x, y),
    'k20': lambda x, y, z: (x, y, z),
    'k21': lambda x: x,
    'k22': lambda x, y: (x, y),
    'k23': lambda x, y, z: (x, y, z),
    'k24': lambda x: x,
    'k25': lambda x, y: (x, y),
    'k26': lambda x, y, z: (x, y, z),
    'k27': lambda x: x,
    'k28': lambda x, y: (x, y),
    'k29': lambda x, y, z: (x, y, z),
    'k30': lambda x: x,
    'k31': lambda x, y: (x, y),
    'k32': lambda x, y, z: (x, y, z),
    'k33': lambda x: x,
    'k34': lambda x, y: (x, y),
    'k35': lambda x, y, z: (x, y, z),
    'k36': lambda x: x,
    'k37': lambda x, y: (x, y),
    'k38': lambda x, y, z: (x, y, z),
    'k39': lambda x: x,
    'k40': lambda x, y: (x, y),
    'k41': lambda x, y, z: (x, y, z),
    'k42': lambda x: x,
    'k43': lambda x, y: (x, y),
    'k44': lambda x, y, z: (x, y, z),
    'k45': lambda x: x,
    'k46': lambda x, y: (x, y),
    'k47': lambda x, y, z: (x, y, z),
    'k48': lambda x: x,
    'k49': lambda x, y: (x, y),
    'k50': lambda x, y, z: (x, y, z),
    'k51': lambda x: x,
    'k52': lambda x, y: (x, y),
    'k53': lambda x, y, z: (x, y, z),
    'k54': lambda x: x,
    'k55': lambda x, y: (x, y),
    'k56': lambda x, y, z: (x, y, z),
    'k57': lambda x: x,
    'k58': lambda x, y: (x, y),
    'k59': lambda x, y, z: (x, y, z),
    'k60': lambda x: x,
    'k61': lambda x, y: (x, y),
    'k62': lambda x, y, z: (x, y, z),
    'k63': lambda x: x,
    'k64': lambda x, y: (x, y),
    'k65': lambda x, y, z: (x, y, z),
    'k66': lambda x: x,
    'k67': lambda x, y: (x, y),
    'k68': lambda x, y, z: (x, y, z),
    'k69': lambda x: x,
    'k70': lambda x, y: (x, y),
    'k71': lambda x, y, z: (x, y, z),
    'k72': lambda x: x,
    'k73': lambda x, y: (x, y),
    'k74': lambda x, y, z: (x, y, z),
    'k75': lambda x: x,
    'k76': lambda x, y: (x, y),
    'k77': lambda x, y, z: (x, y, z),
    'k78': lambda x: x,
    'k79': lambda x, y: (x, y),
}


def f1(func):
  return {i: __any_object__(func=func) for i in range(42)}

def f2(funcname):
  return f1(func=_functions[funcname])
