use npy_intp for sizes
replace deprecated PyArray_DOUBLE type number
shorter macro name
replace deprecated PyArray_ContiguousFromObject with PyArray_ContiguousFromAny
use array objects
remove unsafe range function
use safe _range function
use safe _range function
don't make a copy unless needed
use the numpy api instead of grabbing internals of hitten structs