pub fn signed<I, F, Conv>(i: I, conv: Conv) -> Fwhere F: Float, I: Int, F::Int: CastFrom<I>, Conv: Fn(I::UnsignedInt) -> F::Int,
Perform a signed operation as unsigned, then add the sign back.