Hi there, I’m wondering if we can @generate_jit on @jitclass types (in a Julia’s “multiple dispatch” style). The following example
@jitclass([])
class A(object):
def __init__(self):
pass
@jitclass([])
class B(object):
def __init__(self):
pass
@njit
def fa(state):
print("Found an A")
@njit
def fb(state):
print("Found a B")
@njit
def fc(state):
print("Found an unknown")
@generated_jit(nopython=True)
def func(state):
if isinstance(state, A):
return fa
elif isinstance(state, B):
return fb
else:
return fc
func(A())
func(B())
just prints
Found an unknown
Found an unknown
I’ve tried also to use
A.class_type.instance_type
in the isinstance calls but it doesn’t help.
Cheers !