Changed the name of the second macro
Improved precision of the macro
Improved the way it works with other non-double types