Pretty sure the cast to float is not needed and if `sdata` is a bumpy array wouldn't shape be better? or maybe even faster?