Руководство по программированию содержит инструкции для двойных (% ld) и векторных типов (например,% v4f), но не для операций с плавающей запятой с половиной точности.
Обычно в C аргументы varargs автоматически переводятся в более крупные типы данных, такие как float для удвоения. OpenCL документация , по-видимому, подразумевает, что подобное продвижение применяется там.
Поэтому простой %f должен работать и для поплавков половинной длины.
%f