[Digikam-devel] [Bug 296141] Make digikam compile on ARM

Francesco Riosa francesco+kde at pnpitalia.it
Tue Mar 20 13:58:01 GMT 2012


https://bugs.kde.org/show_bug.cgi?id=296141

Francesco Riosa <francesco+kde at pnpitalia.it> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #11 from Francesco Riosa <francesco+kde at pnpitalia.it> ---
(In reply to comment #10)
> After a discussion on #ubuntu-arm it was concluded that 
> a) ARMv7 and above has good double support, hence qreal should typedef to
> double on ARMv7 architectures and above ( Should go into Qt 5 )

sorry, this has already discussed (in a _very_ long thread) and rejected

Decide whether qreal should be double on all platforms.
https://bugreports.qt-project.org/browse/QTBUG-23758
== We'll keep it as it for Qt 5. double on desktop and float on embedded
devices.


[Development] Changing qreal to a float
http://www.mail-archive.com/development@qt-project.org/msg01969.html


> b) For architechtures below v7, only single point precision is available,
> and double precision is not possible.
> 
> Build logs can be found here :
> https://launchpad.net/ubuntu/+source/digikam/4:2.5.0-1ubuntu1/+build/3215911
> https://launchpad.net/ubuntu/+source/digikam/4:2.5.0-1ubuntu1/+build/3215910

thanks,
  I see froom the logs that the problem is at link time, i.e. for example
qBound() accepting only float on ARM and double on "desktop"

Since we are not using these values to do intensive calculations, and since ARM
seem to have a "double" type, just not hardware support for it I would suggest
the following:

- in regionframeitem.cpp use whatever, it's not precision dependant (but check
it compile ;)
- searchxml.* searchfields.* use double
  convert all usage of qBound, qMax, qMin to something like:
  qreal x = qBound(qreal(min), v, qreal(max));
  double x = std::max<double>(min, std::min(value, max))

Rohan Garg, do you feel brave enough to issue another patch following these
guidelines?
It would simplify things a lot.

Thanks in advance

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the Digikam-devel mailing list