modification of PR2808

It seems more appropriate to check for complex arguments before creating arrays to handle negative orders.

Otherwise, the changes in SHA:  6456e83 seem consistent with my comment https://github.com/scipy/scipy/issues/2396#issuecomment-23469671 written before looking at the new code in SHA: 6456e83.