s-arit64.adb: (Le3): New function, used by Scaled_Divide
authorRobert Dewar <dewar@gnat.com>
Wed, 27 Oct 2004 13:39:21 +0000 (15:39 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 27 Oct 2004 13:39:21 +0000 (15:39 +0200)
commit04b633a8c872b91fdb78a8adf30ba922bc4f4157
tree7ea13d10c80a2d0637721168e92bd18c827a37c8
parent1ae44ba2e358541d7d22f99c1ae370b78cbb289d
s-arit64.adb: (Le3): New function, used by Scaled_Divide

2004-10-26  Robert Dewar  <dewar@gnat.com>

* s-arit64.adb: (Le3): New function, used by Scaled_Divide
(Sub3): New procedure, used by Scaled_Divide
(Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
correct more than one instance of failure to propagate carries
correctly.
(Double_Divide): Handle overflow case of largest negative number
divided by minus one.

* s-arit64.ads (Double_Divide): Document that overflow can occur in
the case of a quotient value out of range.
Fix comments.

From-SVN: r89663
gcc/ada/s-arit64.adb
gcc/ada/s-arit64.ads