Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
go
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
go
Commits
41b9617b
Commit
41b9617b
authored
Jul 08, 2008
by
Rob Pike
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix ldexp, frexp, and make math package compile and test correctly
SVN=126423
parent
45288543
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
213 additions
and
214 deletions
+213
-214
src/cmd/gc/sys.go
src/cmd/gc/sys.go
+2
-2
src/cmd/gc/sysimport.c
src/cmd/gc/sysimport.c
+196
-196
src/lib/fmt.go
src/lib/fmt.go
+1
-1
src/lib/math/exp.go
src/lib/math/exp.go
+1
-1
src/lib/math/fmod.go
src/lib/math/fmod.go
+3
-3
src/lib/math/log.go
src/lib/math/log.go
+1
-1
src/lib/math/main.go
src/lib/math/main.go
+2
-3
src/lib/math/sqrt.go
src/lib/math/sqrt.go
+1
-1
src/runtime/runtime.c
src/runtime/runtime.c
+6
-6
No files found.
src/cmd/gc/sys.go
View file @
41b9617b
...
...
@@ -28,8 +28,8 @@ func envc() int32;
func
argv
(
int32
)
string
;
func
envv
(
int32
)
string
;
func
frexp
(
float64
)
(
int32
,
float64
);
// break fp into exp,fract
func
ldexp
(
int32
,
float64
)
float64
;
// make fp from exp,fract
func
frexp
(
float64
)
(
float64
,
int32
);
// break fp into exp,fract
func
ldexp
(
float64
,
int32
)
float64
;
// make fp from exp,fract
func
modf
(
float64
)
(
float64
,
float64
);
// break fp into double.double
func
isInf
(
float64
,
int32
)
bool
;
// test for infinity
func
isNaN
(
float64
)
bool
;
// test for not-a-number
...
...
src/cmd/gc/sysimport.c
View file @
41b9617b
char
*
sysimport
=
"package sys
\n
"
"type sys._e002 {}
\n
"
"type sys._e
sys_
002 {}
\n
"
"type sys.any 24
\n
"
"type sys._e003 *sys.any
\n
"
"type sys._o
262 {_e260 sys._e
003}
\n
"
"type sys._e
sys_
003 *sys.any
\n
"
"type sys._o
sys_262 {_esys_260 sys._esys_
003}
\n
"
"type sys.uint32 6
\n
"
"type sys._i
264 {_e
261 sys.uint32}
\n
"
"type sys._e
001 (sys._e002 sys._o262 sys._i
264)
\n
"
"var !sys.mal sys._e001
\n
"
"type sys._e005 {}
\n
"
"type sys._e006 {}
\n
"
"type sys._e007 {}
\n
"
"type sys._e
004 (sys._e005 sys._e006 sys._e
007)
\n
"
"var !sys.breakpoint sys._e004
\n
"
"type sys._e009 {}
\n
"
"type sys._e010 {}
\n
"
"type sys._i
sys_264 {_esys_
261 sys.uint32}
\n
"
"type sys._e
sys_001 (sys._esys_002 sys._osys_262 sys._isys_
264)
\n
"
"var !sys.mal sys._e
sys_
001
\n
"
"type sys._e
sys_
005 {}
\n
"
"type sys._e
sys_
006 {}
\n
"
"type sys._e
sys_
007 {}
\n
"
"type sys._e
sys_004 (sys._esys_005 sys._esys_006 sys._esys_
007)
\n
"
"var !sys.breakpoint sys._e
sys_
004
\n
"
"type sys._e
sys_
009 {}
\n
"
"type sys._e
sys_
010 {}
\n
"
"type sys.int32 5
\n
"
"type sys._i
270 {_e
269 sys.int32}
\n
"
"type sys._e
008 (sys._e009 sys._e010 sys._i
270)
\n
"
"var !sys.panicl sys._e008
\n
"
"type sys._e012 {}
\n
"
"type sys._e013 {}
\n
"
"type sys._i
sys_270 {_esys_
269 sys.int32}
\n
"
"type sys._e
sys_008 (sys._esys_009 sys._esys_010 sys._isys_
270)
\n
"
"var !sys.panicl sys._e
sys_
008
\n
"
"type sys._e
sys_
012 {}
\n
"
"type sys._e
sys_
013 {}
\n
"
"type sys.bool 12
\n
"
"type sys._i
275 {_e
274 sys.bool}
\n
"
"type sys._e
011 (sys._e012 sys._e013 sys._i
275)
\n
"
"var !sys.printbool sys._e011
\n
"
"type sys._e015 {}
\n
"
"type sys._e016 {}
\n
"
"type sys._i
sys_275 {_esys_
274 sys.bool}
\n
"
"type sys._e
sys_011 (sys._esys_012 sys._esys_013 sys._isys_
275)
\n
"
"var !sys.printbool sys._e
sys_
011
\n
"
"type sys._e
sys_
015 {}
\n
"
"type sys._e
sys_
016 {}
\n
"
"type sys.float64 10
\n
"
"type sys._i
280 {_e
279 sys.float64}
\n
"
"type sys._e
014 (sys._e015 sys._e016 sys._i
280)
\n
"
"var !sys.printfloat sys._e014
\n
"
"type sys._e018 {}
\n
"
"type sys._e019 {}
\n
"
"type sys._i
sys_280 {_esys_
279 sys.float64}
\n
"
"type sys._e
sys_014 (sys._esys_015 sys._esys_016 sys._isys_
280)
\n
"
"var !sys.printfloat sys._e
sys_
014
\n
"
"type sys._e
sys_
018 {}
\n
"
"type sys._e
sys_
019 {}
\n
"
"type sys.int64 7
\n
"
"type sys._i
285 {_e
284 sys.int64}
\n
"
"type sys._e
017 (sys._e018 sys._e019 sys._i
285)
\n
"
"var !sys.printint sys._e017
\n
"
"type sys._e021 {}
\n
"
"type sys._e022 {}
\n
"
"type sys._e023 25
\n
"
"type sys.string *sys._e023
\n
"
"type sys._i
290 {_e
289 sys.string}
\n
"
"type sys._e
020 (sys._e021 sys._e022 sys._i
290)
\n
"
"var !sys.printstring sys._e020
\n
"
"type sys._e025 {}
\n
"
"type sys._e026 {}
\n
"
"type sys._i
sys_285 {_esys_
284 sys.int64}
\n
"
"type sys._e
sys_017 (sys._esys_018 sys._esys_019 sys._isys_
285)
\n
"
"var !sys.printint sys._e
sys_
017
\n
"
"type sys._e
sys_
021 {}
\n
"
"type sys._e
sys_
022 {}
\n
"
"type sys._e
sys_
023 25
\n
"
"type sys.string *sys._e
sys_
023
\n
"
"type sys._i
sys_290 {_esys_
289 sys.string}
\n
"
"type sys._e
sys_020 (sys._esys_021 sys._esys_022 sys._isys_
290)
\n
"
"var !sys.printstring sys._e
sys_
020
\n
"
"type sys._e
sys_
025 {}
\n
"
"type sys._e
sys_
026 {}
\n
"
"type sys.uint8 2
\n
"
"type sys._e027 *sys.uint8
\n
"
"type sys._i
295 {_e294 sys._e
027}
\n
"
"type sys._e
024 (sys._e025 sys._e026 sys._i
295)
\n
"
"var !sys.printpointer sys._e024
\n
"
"type sys._e029 {}
\n
"
"type sys._o
302 {_e
299 sys.string}
\n
"
"type sys._i
304 {_e300 sys.string _e
301 sys.string}
\n
"
"type sys._e
028 (sys._e029 sys._o302 sys._i
304)
\n
"
"var !sys.catstring sys._e028
\n
"
"type sys._e031 {}
\n
"
"type sys._o
312 {_e
309 sys.int32}
\n
"
"type sys._i
314 {_e310 sys.string _e
311 sys.string}
\n
"
"type sys._e
030 (sys._e031 sys._o312 sys._i
314)
\n
"
"var !sys.cmpstring sys._e030
\n
"
"type sys._e033 {}
\n
"
"type sys._o
323 {_e
319 sys.string}
\n
"
"type sys._i
325 {_e320 sys.string _e321 sys.int32 _e
322 sys.int32}
\n
"
"type sys._e
032 (sys._e033 sys._o323 sys._i
325)
\n
"
"var !sys.slicestring sys._e032
\n
"
"type sys._e035 {}
\n
"
"type sys._o
334 {_e
331 sys.uint8}
\n
"
"type sys._i
336 {_e332 sys.string _e
333 sys.int32}
\n
"
"type sys._e
034 (sys._e035 sys._o334 sys._i
336)
\n
"
"var !sys.indexstring sys._e034
\n
"
"type sys._e037 {}
\n
"
"type sys._o
343 {_e
341 sys.string}
\n
"
"type sys._i
345 {_e
342 sys.int64}
\n
"
"type sys._e
036 (sys._e037 sys._o343 sys._i
345)
\n
"
"var !sys.intstring sys._e036
\n
"
"type sys._e039 {}
\n
"
"type sys._o
352 {_e
349 sys.string}
\n
"
"type sys._e040 *sys.uint8
\n
"
"type sys._i
354 {_e350 sys._e040 _e
351 sys.int32}
\n
"
"type sys._e
038 (sys._e039 sys._o352 sys._i
354)
\n
"
"var !sys.byteastring sys._e038
\n
"
"type sys._e042 {}
\n
"
"type sys._e043 <>
\n
"
"type sys._o
363 {_e359 sys._e
043}
\n
"
"type sys._e044 *sys.uint8
\n
"
"type sys._e045 *sys.uint8
\n
"
"type sys._s370 {}
\n
"
"type sys._e
046 *sys._s
370
\n
"
"type sys._i
365 {_e360 sys._e044 _e361 sys._e045 _e362 sys._e
046}
\n
"
"type sys._e
041 (sys._e042 sys._o363 sys._i
365)
\n
"
"var !sys.mkiface sys._e041
\n
"
"type sys._e048 {}
\n
"
"type sys._o
374 {_e
373 sys.int32}
\n
"
"type sys._e049 {}
\n
"
"type sys._e
047 (sys._e048 sys._o374 sys._e
049)
\n
"
"var !sys.argc sys._e047
\n
"
"type sys._e051 {}
\n
"
"type sys._o
378 {_e
377 sys.int32}
\n
"
"type sys._e052 {}
\n
"
"type sys._e
050 (sys._e051 sys._o378 sys._e
052)
\n
"
"var !sys.envc sys._e050
\n
"
"type sys._e054 {}
\n
"
"type sys._o
383 {_e
381 sys.string}
\n
"
"type sys._i
385 {_e
382 sys.int32}
\n
"
"type sys._e
053 (sys._e054 sys._o383 sys._i
385)
\n
"
"var !sys.argv sys._e053
\n
"
"type sys._e056 {}
\n
"
"type sys._o
391 {_e
389 sys.string}
\n
"
"type sys._i
393 {_e
390 sys.int32}
\n
"
"type sys._e
055 (sys._e056 sys._o391 sys._i
393)
\n
"
"var !sys.envv sys._e055
\n
"
"type sys._e058 {}
\n
"
"type sys._o
400 {_e397 sys.int32 _e398 sys.float64
}
\n
"
"type sys._i
402 {_e
399 sys.float64}
\n
"
"type sys._e
057 (sys._e058 sys._o400 sys._i
402)
\n
"
"var !sys.frexp sys._e057
\n
"
"type sys._e060 {}
\n
"
"type sys._o
409 {_e
406 sys.float64}
\n
"
"type sys._i
411 {_e407 sys.int32 _e408 sys.float64
}
\n
"
"type sys._e
059 (sys._e060 sys._o409 sys._i
411)
\n
"
"var !sys.ldexp sys._e059
\n
"
"type sys._e062 {}
\n
"
"type sys._o
419 {_e416 sys.float64 _e
417 sys.float64}
\n
"
"type sys._i
421 {_e
418 sys.float64}
\n
"
"type sys._e
061 (sys._e062 sys._o419 sys._i
421)
\n
"
"var !sys.modf sys._e061
\n
"
"type sys._e064 {}
\n
"
"type sys._o
428 {_e
425 sys.bool}
\n
"
"type sys._i
430 {_e426 sys.float64 _e
427 sys.int32}
\n
"
"type sys._e
063 (sys._e064 sys._o428 sys._i
430)
\n
"
"var !sys.isInf sys._e063
\n
"
"type sys._e066 {}
\n
"
"type sys._o
437 {_e
435 sys.bool}
\n
"
"type sys._i
439 {_e
436 sys.float64}
\n
"
"type sys._e
065 (sys._e066 sys._o437 sys._i
439)
\n
"
"var !sys.isNaN sys._e065
\n
"
"type sys._e068 {}
\n
"
"type sys._o
445 {_e
443 sys.float64}
\n
"
"type sys._i
447 {_e
444 sys.int32}
\n
"
"type sys._e
067 (sys._e068 sys._o445 sys._i
447)
\n
"
"var !sys.Inf sys._e067
\n
"
"type sys._e070 {}
\n
"
"type sys._o
452 {_e
451 sys.float64}
\n
"
"type sys._e071 {}
\n
"
"type sys._e
069 (sys._e070 sys._o452 sys._e
071)
\n
"
"var !sys.NaN sys._e069
\n
"
"type sys._e073 {}
\n
"
"type sys._e075 [sys.any] sys.any
\n
"
"type sys._e
074 *sys._e
075
\n
"
"type sys._o
455 {hmap sys._e
074}
\n
"
"type sys._i457 {keysize sys.uint32 valsize sys.uint32 keyalg sys.uint32 valalg sys.uint32 hint sys.uint32}
\n
"
"type sys._e
072 (sys._e073 sys._o455 sys._i
457)
\n
"
"var !sys.newmap sys._e072
\n
"
"type sys._e077 {}
\n
"
"type sys._o466 {val sys.any}
\n
"
"type sys._e079 [sys.any] sys.any
\n
"
"type sys._e
078 *sys._e
079
\n
"
"type sys._i
468 {hmap sys._e
078 key sys.any}
\n
"
"type sys._e
076 (sys._e077 sys._o466 sys._i
468)
\n
"
"var !sys.mapaccess1 sys._e076
\n
"
"type sys._e081 {}
\n
"
"type sys._o474 {val sys.any pres sys.bool}
\n
"
"type sys._e083 [sys.any] sys.any
\n
"
"type sys._e
082 *sys._e
083
\n
"
"type sys._i
476 {hmap sys._e
082 key sys.any}
\n
"
"type sys._e
080 (sys._e081 sys._o474 sys._i
476)
\n
"
"var !sys.mapaccess2 sys._e080
\n
"
"type sys._e085 {}
\n
"
"type sys._e086 {}
\n
"
"type sys._e088 [sys.any] sys.any
\n
"
"type sys._e
087 *sys._e
088
\n
"
"type sys._i
483 {hmap sys._e
087 key sys.any val sys.any}
\n
"
"type sys._e
084 (sys._e085 sys._e086 sys._i
483)
\n
"
"var !sys.mapassign1 sys._e084
\n
"
"type sys._e090 {}
\n
"
"type sys._e091 {}
\n
"
"type sys._e093 [sys.any] sys.any
\n
"
"type sys._e
092 *sys._e
093
\n
"
"type sys._i
489 {hmap sys._e
092 key sys.any val sys.any pres sys.bool}
\n
"
"type sys._e
089 (sys._e090 sys._e091 sys._i
489)
\n
"
"var !sys.mapassign2 sys._e089
\n
"
"type sys._e095 {}
\n
"
"type sys._o
499 {_e496 sys.string _e
497 sys.bool}
\n
"
"type sys._i
501 {_e
498 sys.string}
\n
"
"type sys._e
094 (sys._e095 sys._o499 sys._i
501)
\n
"
"var !sys.readfile sys._e094
\n
"
"type sys._e097 {}
\n
"
"type sys._o
510 {_e505 sys.int32 _e
506 sys.int32}
\n
"
"type sys._e098 *sys.uint8
\n
"
"type sys._i
512 {_e507 sys._e098 _e508 sys.int32 _e
509 sys.int32}
\n
"
"type sys._e
096 (sys._e097 sys._o510 sys._i
512)
\n
"
"var !sys.bytestorune sys._e096
\n
"
"type sys._e100 {}
\n
"
"type sys._o
523 {_e518 sys.int32 _e
519 sys.int32}
\n
"
"type sys._i
525 {_e520 sys.string _e521 sys.int32 _e
522 sys.int32}
\n
"
"type sys._e
099 (sys._e100 sys._o523 sys._i
525)
\n
"
"var !sys.stringtorune sys._e099
\n
"
"type sys._e102 {}
\n
"
"type sys._e103 {}
\n
"
"type sys._i
532 {_e
531 sys.int32}
\n
"
"type sys._e
101 (sys._e102 sys._e103 sys._i
532)
\n
"
"var !sys.exit sys._e101
\n
"
"type sys._e
sys_
027 *sys.uint8
\n
"
"type sys._i
sys_295 {_esys_294 sys._esys_
027}
\n
"
"type sys._e
sys_024 (sys._esys_025 sys._esys_026 sys._isys_
295)
\n
"
"var !sys.printpointer sys._e
sys_
024
\n
"
"type sys._e
sys_
029 {}
\n
"
"type sys._o
sys_302 {_esys_
299 sys.string}
\n
"
"type sys._i
sys_304 {_esys_300 sys.string _esys_
301 sys.string}
\n
"
"type sys._e
sys_028 (sys._esys_029 sys._osys_302 sys._isys_
304)
\n
"
"var !sys.catstring sys._e
sys_
028
\n
"
"type sys._e
sys_
031 {}
\n
"
"type sys._o
sys_312 {_esys_
309 sys.int32}
\n
"
"type sys._i
sys_314 {_esys_310 sys.string _esys_
311 sys.string}
\n
"
"type sys._e
sys_030 (sys._esys_031 sys._osys_312 sys._isys_
314)
\n
"
"var !sys.cmpstring sys._e
sys_
030
\n
"
"type sys._e
sys_
033 {}
\n
"
"type sys._o
sys_323 {_esys_
319 sys.string}
\n
"
"type sys._i
sys_325 {_esys_320 sys.string _esys_321 sys.int32 _esys_
322 sys.int32}
\n
"
"type sys._e
sys_032 (sys._esys_033 sys._osys_323 sys._isys_
325)
\n
"
"var !sys.slicestring sys._e
sys_
032
\n
"
"type sys._e
sys_
035 {}
\n
"
"type sys._o
sys_334 {_esys_
331 sys.uint8}
\n
"
"type sys._i
sys_336 {_esys_332 sys.string _esys_
333 sys.int32}
\n
"
"type sys._e
sys_034 (sys._esys_035 sys._osys_334 sys._isys_
336)
\n
"
"var !sys.indexstring sys._e
sys_
034
\n
"
"type sys._e
sys_
037 {}
\n
"
"type sys._o
sys_343 {_esys_
341 sys.string}
\n
"
"type sys._i
sys_345 {_esys_
342 sys.int64}
\n
"
"type sys._e
sys_036 (sys._esys_037 sys._osys_343 sys._isys_
345)
\n
"
"var !sys.intstring sys._e
sys_
036
\n
"
"type sys._e
sys_
039 {}
\n
"
"type sys._o
sys_352 {_esys_
349 sys.string}
\n
"
"type sys._e
sys_
040 *sys.uint8
\n
"
"type sys._i
sys_354 {_esys_350 sys._esys_040 _esys_
351 sys.int32}
\n
"
"type sys._e
sys_038 (sys._esys_039 sys._osys_352 sys._isys_
354)
\n
"
"var !sys.byteastring sys._e
sys_
038
\n
"
"type sys._e
sys_
042 {}
\n
"
"type sys._e
sys_
043 <>
\n
"
"type sys._o
sys_363 {_esys_359 sys._esys_
043}
\n
"
"type sys._e
sys_
044 *sys.uint8
\n
"
"type sys._e
sys_
045 *sys.uint8
\n
"
"type sys._s
sys_
370 {}
\n
"
"type sys._e
sys_046 *sys._ssys_
370
\n
"
"type sys._i
sys_365 {_esys_360 sys._esys_044 _esys_361 sys._esys_045 _esys_362 sys._esys_
046}
\n
"
"type sys._e
sys_041 (sys._esys_042 sys._osys_363 sys._isys_
365)
\n
"
"var !sys.mkiface sys._e
sys_
041
\n
"
"type sys._e
sys_
048 {}
\n
"
"type sys._o
sys_374 {_esys_
373 sys.int32}
\n
"
"type sys._e
sys_
049 {}
\n
"
"type sys._e
sys_047 (sys._esys_048 sys._osys_374 sys._esys_
049)
\n
"
"var !sys.argc sys._e
sys_
047
\n
"
"type sys._e
sys_
051 {}
\n
"
"type sys._o
sys_378 {_esys_
377 sys.int32}
\n
"
"type sys._e
sys_
052 {}
\n
"
"type sys._e
sys_050 (sys._esys_051 sys._osys_378 sys._esys_
052)
\n
"
"var !sys.envc sys._e
sys_
050
\n
"
"type sys._e
sys_
054 {}
\n
"
"type sys._o
sys_383 {_esys_
381 sys.string}
\n
"
"type sys._i
sys_385 {_esys_
382 sys.int32}
\n
"
"type sys._e
sys_053 (sys._esys_054 sys._osys_383 sys._isys_
385)
\n
"
"var !sys.argv sys._e
sys_
053
\n
"
"type sys._e
sys_
056 {}
\n
"
"type sys._o
sys_391 {_esys_
389 sys.string}
\n
"
"type sys._i
sys_393 {_esys_
390 sys.int32}
\n
"
"type sys._e
sys_055 (sys._esys_056 sys._osys_391 sys._isys_
393)
\n
"
"var !sys.envv sys._e
sys_
055
\n
"
"type sys._e
sys_
058 {}
\n
"
"type sys._o
sys_400 {_esys_397 sys.float64 _esys_398 sys.int32
}
\n
"
"type sys._i
sys_402 {_esys_
399 sys.float64}
\n
"
"type sys._e
sys_057 (sys._esys_058 sys._osys_400 sys._isys_
402)
\n
"
"var !sys.frexp sys._e
sys_
057
\n
"
"type sys._e
sys_
060 {}
\n
"
"type sys._o
sys_409 {_esys_
406 sys.float64}
\n
"
"type sys._i
sys_411 {_esys_407 sys.float64 _esys_408 sys.int32
}
\n
"
"type sys._e
sys_059 (sys._esys_060 sys._osys_409 sys._isys_
411)
\n
"
"var !sys.ldexp sys._e
sys_
059
\n
"
"type sys._e
sys_
062 {}
\n
"
"type sys._o
sys_419 {_esys_416 sys.float64 _esys_
417 sys.float64}
\n
"
"type sys._i
sys_421 {_esys_
418 sys.float64}
\n
"
"type sys._e
sys_061 (sys._esys_062 sys._osys_419 sys._isys_
421)
\n
"
"var !sys.modf sys._e
sys_
061
\n
"
"type sys._e
sys_
064 {}
\n
"
"type sys._o
sys_428 {_esys_
425 sys.bool}
\n
"
"type sys._i
sys_430 {_esys_426 sys.float64 _esys_
427 sys.int32}
\n
"
"type sys._e
sys_063 (sys._esys_064 sys._osys_428 sys._isys_
430)
\n
"
"var !sys.isInf sys._e
sys_
063
\n
"
"type sys._e
sys_
066 {}
\n
"
"type sys._o
sys_437 {_esys_
435 sys.bool}
\n
"
"type sys._i
sys_439 {_esys_
436 sys.float64}
\n
"
"type sys._e
sys_065 (sys._esys_066 sys._osys_437 sys._isys_
439)
\n
"
"var !sys.isNaN sys._e
sys_
065
\n
"
"type sys._e
sys_
068 {}
\n
"
"type sys._o
sys_445 {_esys_
443 sys.float64}
\n
"
"type sys._i
sys_447 {_esys_
444 sys.int32}
\n
"
"type sys._e
sys_067 (sys._esys_068 sys._osys_445 sys._isys_
447)
\n
"
"var !sys.Inf sys._e
sys_
067
\n
"
"type sys._e
sys_
070 {}
\n
"
"type sys._o
sys_452 {_esys_
451 sys.float64}
\n
"
"type sys._e
sys_
071 {}
\n
"
"type sys._e
sys_069 (sys._esys_070 sys._osys_452 sys._esys_
071)
\n
"
"var !sys.NaN sys._e
sys_
069
\n
"
"type sys._e
sys_
073 {}
\n
"
"type sys._e
sys_
075 [sys.any] sys.any
\n
"
"type sys._e
sys_074 *sys._esys_
075
\n
"
"type sys._o
sys_455 {hmap sys._esys_
074}
\n
"
"type sys._i
sys_
457 {keysize sys.uint32 valsize sys.uint32 keyalg sys.uint32 valalg sys.uint32 hint sys.uint32}
\n
"
"type sys._e
sys_072 (sys._esys_073 sys._osys_455 sys._isys_
457)
\n
"
"var !sys.newmap sys._e
sys_
072
\n
"
"type sys._e
sys_
077 {}
\n
"
"type sys._o
sys_
466 {val sys.any}
\n
"
"type sys._e
sys_
079 [sys.any] sys.any
\n
"
"type sys._e
sys_078 *sys._esys_
079
\n
"
"type sys._i
sys_468 {hmap sys._esys_
078 key sys.any}
\n
"
"type sys._e
sys_076 (sys._esys_077 sys._osys_466 sys._isys_
468)
\n
"
"var !sys.mapaccess1 sys._e
sys_
076
\n
"
"type sys._e
sys_
081 {}
\n
"
"type sys._o
sys_
474 {val sys.any pres sys.bool}
\n
"
"type sys._e
sys_
083 [sys.any] sys.any
\n
"
"type sys._e
sys_082 *sys._esys_
083
\n
"
"type sys._i
sys_476 {hmap sys._esys_
082 key sys.any}
\n
"
"type sys._e
sys_080 (sys._esys_081 sys._osys_474 sys._isys_
476)
\n
"
"var !sys.mapaccess2 sys._e
sys_
080
\n
"
"type sys._e
sys_
085 {}
\n
"
"type sys._e
sys_
086 {}
\n
"
"type sys._e
sys_
088 [sys.any] sys.any
\n
"
"type sys._e
sys_087 *sys._esys_
088
\n
"
"type sys._i
sys_483 {hmap sys._esys_
087 key sys.any val sys.any}
\n
"
"type sys._e
sys_084 (sys._esys_085 sys._esys_086 sys._isys_
483)
\n
"
"var !sys.mapassign1 sys._e
sys_
084
\n
"
"type sys._e
sys_
090 {}
\n
"
"type sys._e
sys_
091 {}
\n
"
"type sys._e
sys_
093 [sys.any] sys.any
\n
"
"type sys._e
sys_092 *sys._esys_
093
\n
"
"type sys._i
sys_489 {hmap sys._esys_
092 key sys.any val sys.any pres sys.bool}
\n
"
"type sys._e
sys_089 (sys._esys_090 sys._esys_091 sys._isys_
489)
\n
"
"var !sys.mapassign2 sys._e
sys_
089
\n
"
"type sys._e
sys_
095 {}
\n
"
"type sys._o
sys_499 {_esys_496 sys.string _esys_
497 sys.bool}
\n
"
"type sys._i
sys_501 {_esys_
498 sys.string}
\n
"
"type sys._e
sys_094 (sys._esys_095 sys._osys_499 sys._isys_
501)
\n
"
"var !sys.readfile sys._e
sys_
094
\n
"
"type sys._e
sys_
097 {}
\n
"
"type sys._o
sys_510 {_esys_505 sys.int32 _esys_
506 sys.int32}
\n
"
"type sys._e
sys_
098 *sys.uint8
\n
"
"type sys._i
sys_512 {_esys_507 sys._esys_098 _esys_508 sys.int32 _esys_
509 sys.int32}
\n
"
"type sys._e
sys_096 (sys._esys_097 sys._osys_510 sys._isys_
512)
\n
"
"var !sys.bytestorune sys._e
sys_
096
\n
"
"type sys._e
sys_
100 {}
\n
"
"type sys._o
sys_523 {_esys_518 sys.int32 _esys_
519 sys.int32}
\n
"
"type sys._i
sys_525 {_esys_520 sys.string _esys_521 sys.int32 _esys_
522 sys.int32}
\n
"
"type sys._e
sys_099 (sys._esys_100 sys._osys_523 sys._isys_
525)
\n
"
"var !sys.stringtorune sys._e
sys_
099
\n
"
"type sys._e
sys_
102 {}
\n
"
"type sys._e
sys_
103 {}
\n
"
"type sys._i
sys_532 {_esys_
531 sys.int32}
\n
"
"type sys._e
sys_101 (sys._esys_102 sys._esys_103 sys._isys_
532)
\n
"
"var !sys.exit sys._e
sys_
101
\n
"
"))
\n
"
;
src/lib/fmt.go
View file @
41b9617b
...
...
@@ -358,7 +358,7 @@ func unpack(a double) (negative bool, exp int, num double) {
}
// find g,e such that a = g*10^e.
// guess 10-exponent using 2-exponent, then fine tune.
e2
,
g
:=
sys
.
frexp
(
a
);
g
,
e2
:=
sys
.
frexp
(
a
);
e
:=
int
(
e2
*
.301029995663981
);
g
=
a
*
pow10
(
-
e
);
for
g
<
1
{
...
...
src/lib/math/exp.go
View file @
41b9617b
...
...
@@ -49,5 +49,5 @@ exp(arg double) double
xsq
=
fract
*
fract
;
temp1
=
((
p2
*
xsq
+
p1
)
*
xsq
+
p0
)
*
fract
;
temp2
=
((
xsq
+
q2
)
*
xsq
+
q1
)
*
xsq
+
q0
;
return
sys
.
ldexp
(
ent
,
sqrt2
*
(
temp2
+
temp1
)
/
(
temp2
-
temp1
)
);
return
sys
.
ldexp
(
sqrt2
*
(
temp2
+
temp1
)
/
(
temp2
-
temp1
),
ent
);
}
src/lib/math/fmod.go
View file @
41b9617b
...
...
@@ -24,7 +24,7 @@ fmod(x, y double) double
y
=
-
y
;
}
y
exp
,
yfr
=
sys
.
frexp
(
y
);
y
fr
,
yexp
=
sys
.
frexp
(
y
);
sign
=
false
;
if
x
<
0
{
r
=
-
x
;
...
...
@@ -34,11 +34,11 @@ fmod(x, y double) double
}
for
r
>=
y
{
r
exp
,
rfr
=
sys
.
frexp
(
r
);
r
fr
,
rexp
=
sys
.
frexp
(
r
);
if
rfr
<
yfr
{
rexp
=
rexp
-
1
;
}
r
=
r
-
sys
.
ldexp
(
rexp
-
yexp
,
y
);
r
=
r
-
sys
.
ldexp
(
y
,
rexp
-
yexp
);
}
if
sign
{
r
=
-
r
;
...
...
src/lib/math/log.go
View file @
41b9617b
...
...
@@ -39,7 +39,7 @@ log(arg double) double
return
sys
.
NaN
();
}
exp
,
x
=
sys
.
frexp
(
arg
);
x
,
exp
=
sys
.
frexp
(
arg
);
for
x
<
0.5
{
x
=
x
*
2
;
exp
=
exp
-
1
;
...
...
src/lib/math/main.go
View file @
41b9617b
...
...
@@ -61,15 +61,14 @@ main()
ck
(
exp
[
i
],
math
.
exp
(
f
));
ck
(
floor
[
i
],
math
.
floor
(
f
));
ck
(
log
[
i
],
math
.
log
(
math
.
fabs
(
f
)));
math
.
pow
(
10
,
f
);
ck
(
pow
[
i
],
math
.
pow
(
10
,
f
));
ck
(
sin
[
i
],
math
.
sin
(
f
));
ck
(
sinh
[
i
],
math
.
sinh
(
f
));
ck
(
sqrt
[
i
],
math
.
sqrt
(
math
.
fabs
(
f
)));
ck
(
tan
[
i
],
math
.
tan
(
f
));
ck
(
tanh
[
i
],
math
.
tanh
(
f
));
//
ck(math.fabs(tanh[i]*math.sqrt(2)),
//
math.hypot(tanh[i], tanh[i]));
ck
(
math
.
fabs
(
tanh
[
i
]
*
math
.
sqrt
(
2
)),
math
.
hypot
(
tanh
[
i
],
tanh
[
i
]));
}
}
...
...
src/lib/math/sqrt.go
View file @
41b9617b
...
...
@@ -30,7 +30,7 @@ sqrt(arg double) double
return
0
;
}
exp
,
x
=
sys
.
frexp
(
arg
);
x
,
exp
=
sys
.
frexp
(
arg
);
for
x
<
0.5
{
x
=
x
*
2
;
exp
=
exp
-
1
;
...
...
src/runtime/runtime.c
View file @
41b9617b
...
...
@@ -402,15 +402,15 @@ modf(float64 d, float64 *ip)
* Keep the top 11+e bits; clear the rest.
*/
if
(
e
<=
64
-
11
)
x
&=
~
((
uint64
)
1
<<
(
64
-
11
-
e
))
-
1
;
x
&=
~
((
(
uint64
)
1
<<
(
64LL
-
11LL
-
e
))
-
1
)
;
dd
=
*
(
float64
*
)
&
x
;
*
ip
=
dd
;
return
d
-
dd
;
}
// func frexp(float64) (
int32, float64
); // break fp into exp,fract
// func frexp(float64) (
float64, int32
); // break fp into exp,fract
void
sys
·
frexp
(
float64
din
,
int32
iou
,
float64
d
ou
)
sys
·
frexp
(
float64
din
,
float64
dou
,
int32
i
ou
)
{
dou
=
frexp
(
din
,
&
iou
);
FLUSH
(
&
dou
);
...
...
@@ -426,10 +426,10 @@ sys·ldexp(float64 din, int32 ein, float64 dou)
//func modf(float64) (float64, float64); // break fp into double+double
float64
sys
·
modf
(
float64
din
,
float64
dou1
,
float64
dou2
)
sys
·
modf
(
float64
din
,
float64
integer
,
float64
fraction
)
{
dou1
=
modf
(
din
,
&
dou2
);
FLUSH
(
&
dou2
);
fraction
=
modf
(
din
,
&
integer
);
FLUSH
(
&
fraction
);
}
//func isinf(float64, int32 sign) bool; // test for infinity
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment