Por que o CGFloat flutua em 32 bits e o dobro em 64 bits?

Em "CoreGraphics / CGBase.h":

#if defined(__LP64__) && __LP64__
# define CGFLOAT_TYPE double
# define CGFLOAT_IS_DOUBLE 1
# define CGFLOAT_MIN DBL_MIN
# define CGFLOAT_MAX DBL_MAX
#else
# define CGFLOAT_TYPE float
# define CGFLOAT_IS_DOUBLE 0
# define CGFLOAT_MIN FLT_MIN
# define CGFLOAT_MAX FLT_MAX
#endif

Por que a Apple fez isso? Qual a vantagem?

Eu consigo pensar apenas em desvantagens. Por favor me esclareça.

questionAnswers(2)

yourAnswerToTheQuestion