Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15
aranym
fmovecr-const.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fmovecr-const.patch of Package aranym
From 6b21029312c23c905fcf85551f6face32c6886f0 Mon Sep 17 00:00:00 2001 From: Thorsten Otto <thotto@users.sourceforge.net> Date: Sun, 19 Apr 2015 11:53:18 +0200 Subject: [PATCH] Fix some FPU constants for MPFR --- ChangeLog | 4 ++++ src/uae_cpu/fpu/fpu_mpfr.cpp | 25 +++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) Index: aranym-1.0.2/src/uae_cpu/fpu/fpu_mpfr.cpp =================================================================== --- aranym-1.0.2.orig/src/uae_cpu/fpu/fpu_mpfr.cpp +++ aranym-1.0.2/src/uae_cpu/fpu/fpu_mpfr.cpp @@ -141,28 +141,29 @@ fpu_init (bool integral_68040) mpfr_const_pi (fpu_constant_rom[0], MPFR_RNDN); // 11: log10 (2) mpfr_set_ui (fpu_constant_rom[11], 2, MPFR_RNDN); - mpfr_log10 (fpu_constant_rom[11], fpu_constant_rom[11], MPFR_RNDN); + mpfr_log10 (fpu_constant_rom[11], fpu_constant_rom[11], MPFR_RNDZ); // 12: e mpfr_set_ui (fpu_constant_rom[12], 1, MPFR_RNDN); - mpfr_exp (fpu_constant_rom[12], fpu_constant_rom[12], MPFR_RNDN); + mpfr_exp (fpu_constant_rom[12], fpu_constant_rom[12], MPFR_RNDZ); // 13: log2 (e) - mpfr_log2 (fpu_constant_rom[13], fpu_constant_rom[12], MPFR_RNDN); + mpfr_log2 (fpu_constant_rom[13], fpu_constant_rom[12], MPFR_RNDU); // 14: log10 (e) - mpfr_log10 (fpu_constant_rom[14], fpu_constant_rom[12], MPFR_RNDN); + mpfr_log10 (fpu_constant_rom[14], fpu_constant_rom[12], MPFR_RNDU); // 15: 0 mpfr_set_zero (fpu_constant_rom[15], 0); // 48: ln (2) - mpfr_set_ui (fpu_constant_rom[16], 2, MPFR_RNDN); - mpfr_log (fpu_constant_rom[16], fpu_constant_rom[16], MPFR_RNDN); + mpfr_const_log2 (fpu_constant_rom[16], MPFR_RNDN); // 49: ln (10) - mpfr_set_ui (fpu_constant_rom[17], 2, MPFR_RNDN); - mpfr_log10 (fpu_constant_rom[17], fpu_constant_rom[17], MPFR_RNDN); + mpfr_set_ui (fpu_constant_rom[17], 10, MPFR_RNDN); + mpfr_log (fpu_constant_rom[17], fpu_constant_rom[17], MPFR_RNDN); // 50 to 63: powers of 10 mpfr_set_ui (fpu_constant_rom[18], 1, MPFR_RNDN); - mpfr_set_ui (fpu_constant_rom[19], 10, MPFR_RNDN); - for (int i = 20; i < 31; i++) - mpfr_sqr (fpu_constant_rom[i], fpu_constant_rom[i - 1], MPFR_RNDN); - + for (int i = 19; i < 32; i++) + { + mpfr_set_ui (fpu_constant_rom[i], 1L << (i - 19) , MPFR_RNDN); + mpfr_exp10 (fpu_constant_rom[i], fpu_constant_rom[i], MPFR_RNDN); + } + fpu_inited = true; fpu_reset ();
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