X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/math/big
opt
/
golang
/
1.22.0
/
src
/
math
/
big
/
📁
..
📄
accuracy_string.go
(647 B)
📄
alias_test.go
(8.81 KB)
📄
arith.go
(8.28 KB)
📄
arith_386.s
(4.04 KB)
📄
arith_amd64.go
(278 B)
📄
arith_amd64.s
(9.07 KB)
📄
arith_arm.s
(4 KB)
📄
arith_arm64.s
(11.85 KB)
📄
arith_decl.go
(686 B)
📄
arith_decl_pure.go
(1.01 KB)
📄
arith_decl_s390x.go
(503 B)
📄
arith_loong64.s
(749 B)
📄
arith_mips64x.s
(763 B)
📄
arith_mipsx.s
(759 B)
📄
arith_ppc64x.s
(16.4 KB)
📄
arith_riscv64.s
(750 B)
📄
arith_s390x.s
(20.29 KB)
📄
arith_s390x_test.go
(770 B)
📄
arith_test.go
(19.88 KB)
📄
arith_wasm.s
(613 B)
📄
bits_test.go
(5.07 KB)
📄
calibrate_test.go
(4.63 KB)
📄
decimal.go
(6.63 KB)
📄
decimal_test.go
(3.33 KB)
📄
doc.go
(3.8 KB)
📄
example_rat_test.go
(1.68 KB)
📄
example_test.go
(4.05 KB)
📄
float.go
(44.55 KB)
📄
float_test.go
(51.94 KB)
📄
floatconv.go
(8.35 KB)
📄
floatconv_test.go
(24.27 KB)
📄
floatexample_test.go
(3.63 KB)
📄
floatmarsh.go
(3.65 KB)
📄
floatmarsh_test.go
(4.51 KB)
📄
ftoa.go
(13.5 KB)
📄
gcd_test.go
(2.16 KB)
📄
hilbert_test.go
(2.88 KB)
📄
int.go
(33.21 KB)
📄
int_test.go
(58.47 KB)
📄
intconv.go
(6.7 KB)
📄
intconv_test.go
(10.01 KB)
📄
intmarsh.go
(2.19 KB)
📄
intmarsh_test.go
(3.07 KB)
📄
link_test.go
(1.4 KB)
📄
nat.go
(31.81 KB)
📄
nat_test.go
(26.22 KB)
📄
natconv.go
(14.56 KB)
📄
natconv_test.go
(16.85 KB)
📄
natdiv.go
(34.36 KB)
📄
prime.go
(10.39 KB)
📄
prime_test.go
(7.1 KB)
📄
rat.go
(13.48 KB)
📄
rat_test.go
(18.89 KB)
📄
ratconv.go
(12.35 KB)
📄
ratconv_test.go
(19.31 KB)
📄
ratmarsh.go
(2.23 KB)
📄
ratmarsh_test.go
(3.34 KB)
📄
roundingmode_string.go
(819 B)
📄
sqrt.go
(2.79 KB)
📄
sqrt_test.go
(4.81 KB)
Editing: intmarsh.go
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // This file implements encoding/decoding of Ints. package big import ( "bytes" "fmt" ) // Gob codec version. Permits backward-compatible changes to the encoding. const intGobVersion byte = 1 // GobEncode implements the [encoding/gob.GobEncoder] interface. func (x *Int) GobEncode() ([]byte, error) { if x == nil { return nil, nil } buf := make([]byte, 1+len(x.abs)*_S) // extra byte for version and sign bit i := x.abs.bytes(buf) - 1 // i >= 0 b := intGobVersion << 1 // make space for sign bit if x.neg { b |= 1 } buf[i] = b return buf[i:], nil } // GobDecode implements the [encoding/gob.GobDecoder] interface. func (z *Int) GobDecode(buf []byte) error { if len(buf) == 0 { // Other side sent a nil or default value. *z = Int{} return nil } b := buf[0] if b>>1 != intGobVersion { return fmt.Errorf("Int.GobDecode: encoding version %d not supported", b>>1) } z.neg = b&1 != 0 z.abs = z.abs.setBytes(buf[1:]) return nil } // MarshalText implements the [encoding.TextMarshaler] interface. func (x *Int) MarshalText() (text []byte, err error) { if x == nil { return []byte("<nil>"), nil } return x.abs.itoa(x.neg, 10), nil } // UnmarshalText implements the [encoding.TextUnmarshaler] interface. func (z *Int) UnmarshalText(text []byte) error { if _, ok := z.setFromScanner(bytes.NewReader(text), 0); !ok { return fmt.Errorf("math/big: cannot unmarshal %q into a *big.Int", text) } return nil } // The JSON marshalers are only here for API backward compatibility // (programs that explicitly look for these two methods). JSON works // fine with the TextMarshaler only. // MarshalJSON implements the [encoding/json.Marshaler] interface. func (x *Int) MarshalJSON() ([]byte, error) { if x == nil { return []byte("null"), nil } return x.abs.itoa(x.neg, 10), nil } // UnmarshalJSON implements the [encoding/json.Unmarshaler] interface. func (z *Int) UnmarshalJSON(text []byte) error { // Ignore null, like in the main JSON package. if string(text) == "null" { return nil } return z.UnmarshalText(text) }
Upload File
Create Folder