Skip to content

Instantly share code, notes, and snippets.

@ChadSki
Last active December 23, 2015 03:48
Show Gist options
  • Select an option

  • Save ChadSki/6575441 to your computer and use it in GitHub Desktop.

Select an option

Save ChadSki/6575441 to your computer and use it in GitHub Desktop.
Cython and dispatch tables part III
def g_float32(int address): return (<float*>address)[0]
def g_float64(int address): return (<double*>address)[0]
def g_int8(int address): return (<int8_t*>address)[0]
def g_int16(int address): return (<int16_t*>address)[0]
def g_int32(int address): return (<int32_t*>address)[0]
def g_int64(int address): return (<int64_t*>address)[0]
def g_uint8(int address): return (<uint8_t*>address)[0]
def g_uint16(int address): return (<uint16_t*>address)[0]
def g_uint32(int address): return (<uint32_t*>address)[0]
def g_uint64(int address): return (<uint64_t*>address)[0]
def s_float32(int address, float value): (<float*>address)[0] = value
def s_float64(int address, float value): (<double*>address)[0] = value
def s_int8(int address, int value): (<int8_t*>address)[0] = value
def s_int16(int address, int value): (<int16_t*>address)[0] = value
def s_int32(int address, int value): (<int32_t*>address)[0] = value
def s_int64(int address, int value): (<int64_t*>address)[0] = value
def s_uint8(int address, int value): (<uint8_t*>address)[0] = value
def s_uint16(int address, int value): (<uint16_t*>address)[0] = value
def s_uint32(int address, int value): (<uint32_t*>address)[0] = value
def s_uint64(int address, int value): (<uint64_t*>address)[0] = value
primitive_getter = {
'float32': g_float32,
'float64': g_float64,
'int8': g_int8,
'int16': g_int16,
'int32': g_int32,
'int64': g_int64,
'uint8': g_uint8,
'uint16': g_uint16,
'uint32': g_uint32,
'uint64': g_uint64,
}
primitive_setter = {
'float32': s_float32,
'float64': s_float64,
'int8': s_int8,
'int16': s_int16,
'int32': s_int32,
'int64': s_int64,
'uint8': s_uint8,
'uint16': s_uint16,
'uint32': s_uint32,
'uint64': s_uint64,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment