Functions that were using both doubles and halfs were not
guarded correctly with macros. This broke Clang 3.2 build.
Declare the half float conversion macros in _kernel.h