• Marvin Stenger's avatar
    math/big: remove []byte/string conversions · aa00c607
    Marvin Stenger authored
    This removes some of the []byte/string conversions currently
    existing in the (un)marshaling methods of Int and Rat.
    
    For Int we introduce a new function (*Int).setFromScanner() essentially
    implementing the SetString method being given an io.ByteScanner instead
    of a string. So we can handle the string case in (*Int).SetString with
    a *strings.Reader and the []byte case in (*Int).UnmarshalText() with a
    *bytes.Reader now avoiding the []byte/string conversion here.
    
    For Rat we introduce a new function (*Rat).marshal() essentially
    implementing the String method outputting []byte instead of string.
    Using this new function and the same formatting rules as in
    (*Rat).RatString we can implement (*Rat).MarshalText() without
    the []byte/string conversion it used to have.
    
    Change-Id: Ic5ef246c1582c428a40f214b95a16671ef0a06d9
    Reviewed-on: https://go-review.googlesource.com/65950Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    Run-TryBot: Robert Griesemer <gri@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    aa00c607
ratmarsh.go 1.95 KB