mirror of
https://github.com/golang/go
synced 2024-11-23 03:40:02 -07:00
syscall: document float arguments and results on windows/amd64
Updates #6510. Updates #37273. Change-Id: Id2732fcff0a0c5e4a324cd33ef995c7e528f5e1a Reviewed-on: https://go-review.googlesource.com/c/go/+/236562 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
7e47757324
commit
07ced37013
@ -629,9 +629,9 @@ TODO
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p><!-- CL 220578 -->
|
<p><!-- CL 220578 -->
|
||||||
It is now possible to call system calls that return floating
|
It is <a href="/pkg/syscall/#Proc.Call">now possible</a> to call
|
||||||
point values on windows/amd64.
|
system calls that return floating point values
|
||||||
TODO: Point to (write?) documentation on how to do this.
|
on <code>windows/amd64</code>.
|
||||||
</p>
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
@ -163,7 +163,15 @@ func (p *Proc) Addr() uintptr {
|
|||||||
// The returned error is always non-nil, constructed from the result of GetLastError.
|
// The returned error is always non-nil, constructed from the result of GetLastError.
|
||||||
// Callers must inspect the primary return value to decide whether an error occurred
|
// Callers must inspect the primary return value to decide whether an error occurred
|
||||||
// (according to the semantics of the specific function being called) before consulting
|
// (according to the semantics of the specific function being called) before consulting
|
||||||
// the error. The error will be guaranteed to contain syscall.Errno.
|
// the error. The error always has type syscall.Errno.
|
||||||
|
//
|
||||||
|
// On amd64, Call can pass and return floating-point values. To pass
|
||||||
|
// an argument x with C type "float", use
|
||||||
|
// uintptr(math.Float32bits(x)). To pass an argument with C type
|
||||||
|
// "double", use uintptr(math.Float64bits(x)). Floating-point return
|
||||||
|
// values are returned in r2. The return value for C type "float" is
|
||||||
|
// math.Float32frombits(uint32(r2)). For C type "double", it is
|
||||||
|
// math.Float64frombits(uint64(r2)).
|
||||||
func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) {
|
func (p *Proc) Call(a ...uintptr) (r1, r2 uintptr, lastErr error) {
|
||||||
switch len(a) {
|
switch len(a) {
|
||||||
case 0:
|
case 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user