Se nella console di debug del Xcode digitoIn Objective-C, fabsf() ha il torto tipo di risultato
(lldb) p (float)fabsf(-5.0f)
(float) $22 = 0
(lldb) p (double)fabsf(-5.0f)
(double) $23 = 5
in cui il primo risultato colata a galleggiare (senza fusione , il comando p
non può riconoscere il tipo di ritorno fabsf
) è errato a prescindere dal parametro.
Ma nelle intestazioni di libreria il tipo di ritorno di fabs
è chiaramente un float. Qualcuno può spiegarmi questo?
ios9.2: math.h
...
extern float fabsf(float);
extern double fabs(double);
extern long double fabsl(long double);
...
C'è qualche meccanismo lldb o un problema che io non sono a conoscenza, o realmente un problema di implementazione del linguaggio (indovinate no ...)?
Non riesco a riprodurre i risultati, correndo contro il simulatore. – Avi
Ho effettivamente riprodotto su iPhone 6s, Xcode 7.2. In attesa di risposta)) – sage444
Riproducibile in lldb sotto OS X direttamente. Lo stesso accade con altre funzioni di ritorno 'float' (ad es.' Fmaxf') e cast. Suggerirei un bug e dovresti segnalare ad Apple (bugreport.apple.com) – CRD