|
From: | jpap |
Subject: | [Octave-bug-tracker] [bug #53293] uint64 are truncated |
Date: | Tue, 6 Mar 2018 02:32:54 -0500 (EST) |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 |
URL: <http://savannah.gnu.org/bugs/?53293> Summary: uint64 are truncated Project: GNU Octave Submitted by: jpap Submitted on: Mon 05 Mar 2018 11:32:53 PM PST Category: Interpreter Severity: 3 - Normal Priority: 5 - Normal Item Group: Incorrect Result Status: None Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: 4.2.1 Operating System: Mac OS _______________________________________________________ Details: It looks like Octave is truncating the lower 8-bits of a large uint64 number. As a result I can't do any simple int64 mathematical operations reliably, nor can I even define an accurate uint64 constant using the `uint64(...)` syntax. octave:1> uint64(7189901176607676539) - uint64(7189901176607676416) ans = 0 octave:2> intmax('uint64') ans = 18446744073709551615 octave:3> uint64(18446744073709551615) - uint64(18446744073709551600) ans = 0 octave:4> format hex octave:5> uint64(18446744073709551615) ans = ffffffffffffffff octave:6> uint64(18446744073709551600) ans = ffffffffffffffff octave:7> uint64(0x63c7a906c1dd187b) ans = 63c7a9 6c1dd18 0 octave:8> uint64(0x63c7a906c1dd1800) ans = 63c7a9 6c1dd18 0 octave:9> uint64(0x63c7a906c1dd1000) ans = 63c7a9 6c1dd10 0 _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?53293> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |