public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 @ 2022-11-16 14:10 urbanjost at comcast dot net 2022-11-16 14:11 ` [Bug fortran/107716] " urbanjost at comcast dot net ` (6 more replies) 0 siblings, 7 replies; 8+ messages in thread From: urbanjost at comcast dot net @ 2022-11-16 14:10 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 Bug ID: 107716 Summary: Getting negative values with NINT when using doubleprecision values in range on i386 Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: urbanjost at comcast dot net Target Milestone: --- ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net @ 2022-11-16 14:11 ` urbanjost at comcast dot net 2022-11-16 16:12 ` kargl at gcc dot gnu.org ` (5 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: urbanjost at comcast dot net @ 2022-11-16 14:11 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 --- Comment #1 from urbanjost at comcast dot net --- I am on a Linux mint box using KVM and running a virtual box that is OpenBSD mo.my.domain 7.2 GENERIC#381 i386 using GNU Fortran (GCC) 11.2.0 and am getting negative values from NINT() on doubleprecision values when I do not expect them. I thought NINT() took any KIND of REAL so I did not expect that; but it has been a while since I ran on i386, and I am on a virtual box. If I do a NINT(REAL(value)) instead of NINT(value) I get the expected INTEGER value. Any reason I should expect NINT() to not work with values still within the range of the default INTEGER kind? Anyone have a 32-bit box with gfortran on it that could see if they start getting negative values with doubleprecision input values below HUGE(0)? > program testit > use,intrinsic :: iso_fortran_env, only : int8, int16, int32, int64 > use,intrinsic :: iso_fortran_env, only : real32, real64, real128 > implicit none > doubleprecision :: value > integer :: i > do i=0,huge(0)-1 > value=i > if(nint(value).lt.0)then > write(*,*)'VALUE:',value > write(*,*)'REAL(VALUE):',real(value) > write(*,*)'NINT(REAL(VALUE)):',nint(real(value)) > write(*,*)'NINT(VALUE):',nint(value-1) > write(*,*)'NINT(VALUE):',nint(value) > write(*,*)'NINT(VALUE):',nint(value+1) > write(*,*)'INT:',int(value-1) > write(*,*)'INT:',int(value) > write(*,*)'INT:',int(value+1) > exit > endif > enddo > write(*,*)'value:',value > write(*,*)'huge(0):',huge(0) > write(*,*)'huge(0_int64):',huge(0_int64) > write(*,*)'huge(0_int32):',huge(0_int32) > write(*,*)'huge(0_int16):',huge(0_int16) > write(*,*)'huge(0_int8):',huge(0_int8) > end program testit > > VALUE: 2097153.0000000000 > REAL(VALUE): 2097153.00 > NINT(REAL(VALUE)): 2097153 > NINT(VALUE): 2097152 > NINT(VALUE): -1 > NINT(VALUE): 2097154 > INT: 2097152 > INT: 2097153 > INT: 2097154 > value: 2097153.0000000000 > huge(0): 2147483647 > huge(0_int64): 9223372036854775807 > huge(0_int32): 2147483647 > huge(0_int16): 32767 > huge(0_int8): 127 It starts off with just odd numbers getting a -1 return ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net 2022-11-16 14:11 ` [Bug fortran/107716] " urbanjost at comcast dot net @ 2022-11-16 16:12 ` kargl at gcc dot gnu.org 2023-09-19 19:45 ` anlauf at gcc dot gnu.org ` (4 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: kargl at gcc dot gnu.org @ 2022-11-16 16:12 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Priority|P3 |P4 CC| |kargl at gcc dot gnu.org Status|UNCONFIRMED |WAITING Last reconfirmed| |2022-11-16 --- Comment #2 from kargl at gcc dot gnu.org --- (In reply to urbanjost from comment #1) > I am on a Linux mint box using KVM and > running a virtual box that is > OpenBSD mo.my.domain 7.2 GENERIC#381 i386 > It seems that you may have discovered a bug in OpenBSD. % cat a.f90 function ibar(x) result(r) integer r real x r = nint(x) end function % cat a.f90.005t.original __attribute__((fn spec (". w "))) integer(kind=4) ibar (real(kind=4) & restrict x) { integer(kind=4) r; r = __builtin_iroundf (*x); return r; } % grep call a.s call lroundf So, at least on FreeBSD, nint() is mapped to lroundf() from libm. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net 2022-11-16 14:11 ` [Bug fortran/107716] " urbanjost at comcast dot net 2022-11-16 16:12 ` kargl at gcc dot gnu.org @ 2023-09-19 19:45 ` anlauf at gcc dot gnu.org 2023-09-20 5:56 ` xry111 at gcc dot gnu.org ` (3 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: anlauf at gcc dot gnu.org @ 2023-09-19 19:45 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|WAITING |RESOLVED --- Comment #3 from anlauf at gcc dot gnu.org --- Not a gcc bug. Please report to OpenBSD. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net ` (2 preceding siblings ...) 2023-09-19 19:45 ` anlauf at gcc dot gnu.org @ 2023-09-20 5:56 ` xry111 at gcc dot gnu.org 2023-09-20 18:15 ` kargl at gcc dot gnu.org ` (2 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: xry111 at gcc dot gnu.org @ 2023-09-20 5:56 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 Xi Ruoyao <xry111 at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |MOVED CC| |xry111 at gcc dot gnu.org ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net ` (3 preceding siblings ...) 2023-09-20 5:56 ` xry111 at gcc dot gnu.org @ 2023-09-20 18:15 ` kargl at gcc dot gnu.org 2023-09-20 19:07 ` mikael at gcc dot gnu.org 2023-09-20 19:48 ` sgk at troutmask dot apl.washington.edu 6 siblings, 0 replies; 8+ messages in thread From: kargl at gcc dot gnu.org @ 2023-09-20 18:15 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 --- Comment #4 from kargl at gcc dot gnu.org --- What the heck does "RESOLVED MOVED"? ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net ` (4 preceding siblings ...) 2023-09-20 18:15 ` kargl at gcc dot gnu.org @ 2023-09-20 19:07 ` mikael at gcc dot gnu.org 2023-09-20 19:48 ` sgk at troutmask dot apl.washington.edu 6 siblings, 0 replies; 8+ messages in thread From: mikael at gcc dot gnu.org @ 2023-09-20 19:07 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 Mikael Morin <mikael at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikael at gcc dot gnu.org --- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> --- (In reply to kargl from comment #4) > What the heck does "RESOLVED MOVED"? I think it means this PR is not a gcc bug and the problem is tracked on some other project's bug tracker (it is "moved" there). Not sure where else the problem is tracked in this case. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug fortran/107716] Getting negative values with NINT when using doubleprecision values in range on i386 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net ` (5 preceding siblings ...) 2023-09-20 19:07 ` mikael at gcc dot gnu.org @ 2023-09-20 19:48 ` sgk at troutmask dot apl.washington.edu 6 siblings, 0 replies; 8+ messages in thread From: sgk at troutmask dot apl.washington.edu @ 2023-09-20 19:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 --- Comment #6 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Wed, Sep 20, 2023 at 07:07:37PM +0000, mikael at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107716 > > --- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> --- > (In reply to kargl from comment #4) > > What the heck does "RESOLVED MOVED"? > > I think it means this PR is not a gcc bug and the problem is tracked on some > other project's bug tracker (it is "moved" there). > > Not sure where else the problem is tracked in this case. > Thanks, Mikael. After a bit of duck-duck-go, I've come to a similar conclusion. <$0.02> If a url/pointer to where the bug is actually tracked is not available, this status should not be used. It is useless. I'll also note that if one clicks on the 'status:' label a list of stati (statuses?) and their meaining can be found. MOVED is not among the list. </$0.02> ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-09-20 19:48 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-16 14:10 [Bug fortran/107716] New: Getting negative values with NINT when using doubleprecision values in range on i386 urbanjost at comcast dot net 2022-11-16 14:11 ` [Bug fortran/107716] " urbanjost at comcast dot net 2022-11-16 16:12 ` kargl at gcc dot gnu.org 2023-09-19 19:45 ` anlauf at gcc dot gnu.org 2023-09-20 5:56 ` xry111 at gcc dot gnu.org 2023-09-20 18:15 ` kargl at gcc dot gnu.org 2023-09-20 19:07 ` mikael at gcc dot gnu.org 2023-09-20 19:48 ` sgk at troutmask dot apl.washington.edu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).