Quartz использует CGFloat
для своей графики. CGFloat
это либо Float
, либо Double
, в зависимости от процессора.
Фреймворк Accelerate имеет разные варианты одной и той же функции. Например, dgetrf_ для Double и sgetrf_ для Float.
Я должен заставить этих двоих работать вместе. Либо я могу использовать Double везде и преобразовывать их в CGFloat каждый раз, когда использую кварц, либо я могу (попытаться) определить фактический тип CGFloat и использовать соответствующую функцию Accelerate.
Смешивание типов CGFloat's
и Double
в моей кодовой базе не очень привлекательно, и преобразование тысяч или миллионов значений в CGFloat каждый раз также не кажется мне очень эффективным.
В данный момент я бы выбрал второй вариант. (Или не должен?)
Мой вопрос: как мне узнать фактический тип CGFloat
?
if ??? //pseudo-code: CGFloat is Double
{
dgetrf_(...)
}
else
{
sgetrf_(...)
}