On segunda-feira, 20 de fevereiro de 2012 14.34.57, andre.poen...@nokia.com wrote: > Thiago Macieira [thiago.macie...@intel.com] > > > [...] How about we leave it defined to double in all platforms and > > deprecate it?
> Replacing all 'qreal' occurrences with 'double' would be a significant > performance hit for some embedded people. Replacing all 'qreal' > occurrences with 'float' spoils the fun for some desktop people. [Replacing > it with anything else would not help at all,] so (a) leaving qreal in the > code _or_ (b) immediately add QRectD/QPolygonD/... substitutes are the only > ways I see to deliver on the "you don't have to completely rewrite your > code" promise for both sides. We can't "fix" it unless we keep the current detection logic. Since it would be a deprecated type anyway, we could keep the logic anyway -- minus the presence of QT_COORD_TYPE. I also thought we had agreed that QRectF should be float on all platforms and we don't need double-precision geometric classes anyway. > I have no strong opinion on which of (a) or (b) to choose, all I want to > make sure is that we will neither force people to use doubles on ARM, even > if they don't need it, nor force people currently relying on precise > coordinates to use floats. I don't think we can achieve that. > As both (a) and (b) are both feasible approaches to solve the issue I don't > see a reason to go for an approach that leaves either user group out in the > rain. My proposal is (in-order): 1) replace qreal with double where it should have been double all along (interfacing with system APIs that have double) 2) replace qreal everywhere else with float 3) remove the #ifdef QT_COORD_TYPE check in qglobal.h 4) add Q_DECL_DEPRECATED to the two typedef definitions of qreal and wrap them in QT_DEPRECATED_SINCE(5,0): #if QT_DEPRECATED_SINCE(5, 0) # if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE) Q_DECL_DEPRECATED typedef float qreal; # else Q_DECL_DEPRECATED typedef double qreal; # endif #endif 5) (optional) add QRectD & family -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center Intel Sweden AB - Registration Number: 556189-6027 Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development