]> Cypherpunks repositories - gostls13.git/commit
math/big: remove []byte/string conversions
authorMarvin Stenger <marvin.stenger94@gmail.com>
Thu, 21 Sep 2017 16:48:12 +0000 (18:48 +0200)
committerRobert Griesemer <gri@golang.org>
Wed, 4 Oct 2017 17:16:52 +0000 (17:16 +0000)
commitaa00c607e1c2e873ef0314eb3d029a4ab3bd7252
treee9b0a6bcee747e47857e334e5717b0de86abb886
parent3a35e0253c8344ae4efb975e4bdc0cc53b841e0a
math/big: remove []byte/string conversions

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/65950
Reviewed-by: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/math/big/int.go
src/math/big/intmarsh.go
src/math/big/ratconv.go
src/math/big/ratmarsh.go