add unit/integrted tests for dpc

I was more asking _why_ it gets negated at all.  Also, I would not have called this 'inversion' which I would take to mean `x -> 1/x` for floats and `x -> MAX_INT - x` for for integers. 

If you are worried about performance I would do `gx *= -1` so the operation is in-place