mirror of
				https://github.com/golang/go.git
				synced 2025-11-04 02:30:57 +00:00 
			
		
		
		
	The original implementation used 16 int "words" but only 29 bits per word for a total of 16*29 = 464 bits, with a space consumption of 16*64 = 1024 bits on a 64 bit machine. Switching to 512 bits increases precision while still using (in the worst case) half the amount of memory per mp value on a 64 bit machine. Also: Decreased permitted number of least-significant mantissa bits which may be incorrect when considering if a precise floating-point constant is an integer from 29 to 16 bits. Change-Id: Iee9287056f0e9aa4f06ceac0724ff4674f710c53 Reviewed-on: https://go-review.googlesource.com/8429 Reviewed-by: Russ Cox <rsc@golang.org>
		
			
				
	
	
		
			111 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// errorcheck
 | 
						|
 | 
						|
// Copyright 2014 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.
 | 
						|
 | 
						|
// Issue 6889: confusing error message: ovf in mpaddxx
 | 
						|
 | 
						|
package main
 | 
						|
 | 
						|
const (
 | 
						|
	f1  = 1
 | 
						|
	f2  = f1 * 2
 | 
						|
	f3  = f2 * 3
 | 
						|
	f4  = f3 * 4
 | 
						|
	f5  = f4 * 5
 | 
						|
	f6  = f5 * 6
 | 
						|
	f7  = f6 * 7
 | 
						|
	f8  = f7 * 8
 | 
						|
	f9  = f8 * 9
 | 
						|
	f10 = f9 * 10
 | 
						|
	f11 = f10 * 11
 | 
						|
	f12 = f11 * 12
 | 
						|
	f13 = f12 * 13
 | 
						|
	f14 = f13 * 14
 | 
						|
	f15 = f14 * 15
 | 
						|
	f16 = f15 * 16
 | 
						|
	f17 = f16 * 17
 | 
						|
	f18 = f17 * 18
 | 
						|
	f19 = f18 * 19
 | 
						|
	f20 = f19 * 20
 | 
						|
	f21 = f20 * 21
 | 
						|
	f22 = f21 * 22
 | 
						|
	f23 = f22 * 23
 | 
						|
	f24 = f23 * 24
 | 
						|
	f25 = f24 * 25
 | 
						|
	f26 = f25 * 26
 | 
						|
	f27 = f26 * 27
 | 
						|
	f28 = f27 * 28
 | 
						|
	f29 = f28 * 29
 | 
						|
	f30 = f29 * 30
 | 
						|
	f31 = f30 * 31
 | 
						|
	f32 = f31 * 32
 | 
						|
	f33 = f32 * 33
 | 
						|
	f34 = f33 * 34
 | 
						|
	f35 = f34 * 35
 | 
						|
	f36 = f35 * 36
 | 
						|
	f37 = f36 * 37
 | 
						|
	f38 = f37 * 38
 | 
						|
	f39 = f38 * 39
 | 
						|
	f40 = f39 * 40
 | 
						|
	f41 = f40 * 41
 | 
						|
	f42 = f41 * 42
 | 
						|
	f43 = f42 * 43
 | 
						|
	f44 = f43 * 44
 | 
						|
	f45 = f44 * 45
 | 
						|
	f46 = f45 * 46
 | 
						|
	f47 = f46 * 47
 | 
						|
	f48 = f47 * 48
 | 
						|
	f49 = f48 * 49
 | 
						|
	f50 = f49 * 50
 | 
						|
	f51 = f50 * 51
 | 
						|
	f52 = f51 * 52
 | 
						|
	f53 = f52 * 53
 | 
						|
	f54 = f53 * 54
 | 
						|
	f55 = f54 * 55
 | 
						|
	f56 = f55 * 56
 | 
						|
	f57 = f56 * 57
 | 
						|
	f58 = f57 * 58
 | 
						|
	f59 = f58 * 59
 | 
						|
	f60 = f59 * 60
 | 
						|
	f61 = f60 * 61
 | 
						|
	f62 = f61 * 62
 | 
						|
	f63 = f62 * 63
 | 
						|
	f64 = f63 * 64
 | 
						|
	f65 = f64 * 65
 | 
						|
	f66 = f65 * 66
 | 
						|
	f67 = f66 * 67
 | 
						|
	f68 = f67 * 68
 | 
						|
	f69 = f68 * 69
 | 
						|
	f70 = f69 * 70
 | 
						|
	f71 = f70 * 71
 | 
						|
	f72 = f71 * 72
 | 
						|
	f73 = f72 * 73
 | 
						|
	f74 = f73 * 74
 | 
						|
	f75 = f74 * 75
 | 
						|
	f76 = f75 * 76
 | 
						|
	f77 = f76 * 77
 | 
						|
	f78 = f77 * 78
 | 
						|
	f79 = f78 * 79
 | 
						|
	f80 = f79 * 80
 | 
						|
	f81 = f80 * 81
 | 
						|
	f82 = f81 * 82
 | 
						|
	f83 = f82 * 83
 | 
						|
	f84 = f83 * 84
 | 
						|
	f85 = f84 * 85
 | 
						|
	f86 = f85 * 86
 | 
						|
	f87 = f86 * 87
 | 
						|
	f88 = f87 * 88
 | 
						|
	f89 = f88 * 89
 | 
						|
	f90 = f89 * 90
 | 
						|
	f91 = f90 * 91
 | 
						|
	f92 = f91 * 92
 | 
						|
	f93 = f92 * 93
 | 
						|
	f94 = f93 * 94
 | 
						|
	f95 = f94 * 95
 | 
						|
	f96 = f95 * 96
 | 
						|
	f97 = f96 * 97
 | 
						|
	f98 = f97 * 98
 | 
						|
	f99 = f98 * 99 // ERROR "overflow"
 | 
						|
)
 |