ICAMAX/IZAMAX tests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
blas (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: blas
On architectures with internel floating point precision higher than that of the varibles (such as 68000, x86) files src/icamax.f and src/izamax.f must necessarily be compiled with -ffloat-store option. Otherwise the corresponding functions do not perform to their specification and the corresponding blas level 1 tests fail. This, in particular, prevents atlas-3.
It is, of course, an overkill to enable -ffloat-store for the whole BLAS, but enabling it only for two said files works well and the impact on performance is negligible.
This can be acomplished by the following changes to debian/rules
BOBJ:=$(BSRC:.f=.o)
+BOBJ1:
+BOBJ2:
....
debian/shared_dir debian/static_dir debian/test_dir:
mkdir -p $(subst _dir,,$(@))
touch $@
!$(subst src/,debian/
$(F77) $(F77FLAGS) -c $< -o $@
+$(subst src/,debian/
+ debian/static/%.o : src/%.f debian/static_dir +debian/
+
+ $(F77) $(F77FLAGS) -ffloat-store -c $< -o $@
The resulting library passes all of the BLAS test suite. This also fixes atlas-3.