Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

math/big: missing Rat.Float32 implementation #8065

Closed
griesemer opened this issue May 21, 2014 · 2 comments
Closed

math/big: missing Rat.Float32 implementation #8065

griesemer opened this issue May 21, 2014 · 2 comments
Milestone

Comments

@griesemer
Copy link
Contributor

float32(Rat.Float64(x)) is not the same as Rat.Float32(x) in general (adjusted for
correct arguments, etc.):

package main

import (
    "fmt"
    "math/big"
)

func main() {
    const x = 340282356779733661637539395458142568447
    fmt.Println(float64(x), float32(x))
    z, ok := new(big.Rat).SetString("340282356779733661637539395458142568447")
    if !ok {
        panic("SetString failed")
    }
    t, _ := z.Float64()
    fmt.Println(t, float32(t))
}

produces:

3.4028235677973366e+38 3.4028235e+38
3.4028235677973366e+38 +Inf

i.e., we need a Rat.Float32 implementation with correct rounding for 32bit floats.
@gopherbot
Copy link

Comment 1:

CL https://golang.org/cl/93550043 mentions this issue.

@griesemer
Copy link
Contributor Author

Comment 2:

This issue was closed by revision be91bc2.

Status changed to Fixed.

@rsc rsc added this to the Go1.4 milestone Apr 14, 2015
@rsc rsc removed the release-go1.4 label Apr 14, 2015
@golang golang locked and limited conversation to collaborators Jun 25, 2016
wheatman pushed a commit to wheatman/go-akaros that referenced this issue Jun 25, 2018
Pending CL 101750048.
For submission after the 1.3 release.

Fixes golang#8065.

LGTM=adonovan
R=adonovan
CC=golang-codereviews
https://golang.org/cl/93550043
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants