Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
science
openfst
i586-80bitfp.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File i586-80bitfp.patch of Package openfst
From: Jan Engelhardt <jengelh@inai.de> Date: 2022-04-14 16:00:12.633272404 +0200 Modeled upon a similar patch for opensuse's ICU package. --- configure.ac | 4 ++-- src/include/fst/float-weight.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) Index: openfst-1.8.3/configure.ac =================================================================== --- openfst-1.8.3.orig/configure.ac +++ openfst-1.8.3/configure.ac @@ -160,10 +160,10 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([ #include <cstdio> template <typename T> - bool FloatEqIsReflexive(T m) { + bool FloatEqIsReflexive(volatile T m) { volatile T x = 1.111; x *= m; - T y = 1.111; + volatile T y = 1.111; y *= m; return x == y; } Index: openfst-1.8.3/src/include/fst/float-weight.h =================================================================== --- openfst-1.8.3.orig/src/include/fst/float-weight.h +++ openfst-1.8.3/src/include/fst/float-weight.h @@ -121,7 +121,9 @@ constexpr bool operator==(const FloatWei // register may cause it to compare unequal to that same weight when // stored to memory. This breaks =='s reflexivity, in turn breaking // NaturalLess. -#error "Please compile with -msse -mfpmath=sse, or equivalent." +// So, store it in memory. + volatile T a = w1.Value(), b = w2.Value(); + return a == b; #endif return w1.Value() == w2.Value(); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor