mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-03 19:17:29 -05:00 
			
		
		
		
	The vendor/ folder was created with the help of @FiloSottile's gvt and vendorcheck. Any dependencies of Caddy plugins outside this repo are not vendored. We do not remove any unused, vendored packages because vendorcheck -u only checks using the current build configuration; i.e. packages that may be imported by files toggled by build tags of other systems. CI tests have been updated to ignore the vendor/ folder. When Go 1.9 is released, a few of the go commands should be revised to again use ./... as it will ignore the vendor folder by default.
		
			
				
	
	
		
			41 lines
		
	
	
		
			745 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			745 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// +build go1.6
 | 
						|
 | 
						|
package humanize
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"math/big"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
// BigCommaf produces a string form of the given big.Float in base 10
 | 
						|
// with commas after every three orders of magnitude.
 | 
						|
func BigCommaf(v *big.Float) string {
 | 
						|
	buf := &bytes.Buffer{}
 | 
						|
	if v.Sign() < 0 {
 | 
						|
		buf.Write([]byte{'-'})
 | 
						|
		v.Abs(v)
 | 
						|
	}
 | 
						|
 | 
						|
	comma := []byte{','}
 | 
						|
 | 
						|
	parts := strings.Split(v.Text('f', -1), ".")
 | 
						|
	pos := 0
 | 
						|
	if len(parts[0])%3 != 0 {
 | 
						|
		pos += len(parts[0]) % 3
 | 
						|
		buf.WriteString(parts[0][:pos])
 | 
						|
		buf.Write(comma)
 | 
						|
	}
 | 
						|
	for ; pos < len(parts[0]); pos += 3 {
 | 
						|
		buf.WriteString(parts[0][pos : pos+3])
 | 
						|
		buf.Write(comma)
 | 
						|
	}
 | 
						|
	buf.Truncate(buf.Len() - 1)
 | 
						|
 | 
						|
	if len(parts) > 1 {
 | 
						|
		buf.Write([]byte{'.'})
 | 
						|
		buf.WriteString(parts[1])
 | 
						|
	}
 | 
						|
	return buf.String()
 | 
						|
}
 |