Add negative and positive without zero (not breaking the api), adjust odd method

In first commit I break the api and solve a odd method, in the second I adjusted the tests, and the third I restore the original the behaviour of the api. Sorry by the inconvenience :)