Created
September 15, 2013 23:57
-
-
Save ChadSki/6575365 to your computer and use it in GitHub Desktop.
Cython and dispatch tables part II
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| primitive_getter = { | |
| 'float32' : lambda int address: (<float*>address)[0], | |
| 'float64' : lambda int address: (<double*>address)[0], | |
| 'int8' : lambda int address: (<int8_t*>address)[0], | |
| 'int16' : lambda int address: (<int16_t*>address)[0], | |
| 'int32' : lambda int address: (<int32_t*>address)[0], | |
| 'int64' : lambda int address: (<int64_t*>address)[0], | |
| 'uint8' : lambda int address: (<uint8_t*>address)[0], | |
| 'uint16' : lambda int address: (<uint16_t*>address)[0], | |
| 'uint32' : lambda int address: (<uint32_t*>address)[0], | |
| 'uint64' : lambda int address: (<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_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