Plan 9 from Bell Labs’s /usr/web/sources/contrib/fgb/root/sys/src/cmd/4th/lib/zenround.4th

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


\ 4tH library - FROUND ZEN - Copyright 2009 J.L. Bezemer
\ You can redistribute this file and/or modify it under
\ the terms of the GNU General Public License
\ include lib/zenfloat.4th

[UNDEFINED] FROUND [IF]
[UNDEFINED] FTRUNC [IF] include lib/zentrunc.4th [THEN]
: fround                               ( f1 -- f2)
  2dup 2dup f>s dup 1 and 0= >r s>f f- fabs 5 -1 f= r> and 0=
  if over 0< 5 -1 rot if fnegate then f+ then ftrunc
;
[THEN]

false [IF]
  1  0 fround f. cr                    \ =>  1 0
 14 -1 fround f. cr                    \ =>  1 0
 17 -1 fround f. cr                    \ =>  2 0
-14 -1 fround f. cr                    \ => -1 0
-17 -1 fround f. cr                    \ => -2 0
  5 -1 fround f. cr                    \ =>  0 0
 15 -1 fround f. cr                    \ =>  2 0
 25 -1 fround f. cr                    \ =>  2 0
 35 -1 fround f. cr                    \ =>  4 0
 -5 -1 fround f. cr                    \ => -0 0
-15 -1 fround f. cr                    \ => -2 0
-25 -1 fround f. cr                    \ => -2 0
-35 -1 fround f. cr                    \ => -4 0
-40 -1 fround f. cr                    \ => -4 0
 40 -1 fround f. cr                    \ =>  4 0
 28 -1 fround f. cr                    \ =>  3 0
 4 7   5 -1 f+ fround f>s . cr         \ =>  400000000
 4 7  15 -1 f+ fround f>s . cr         \ =>  400000002
-4 7  -5 -1 f+ fround f>s . cr         \ => -400000000
-4 7 -15 -1 f+ fround f>s . cr         \ => -400000002
[THEN]

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].