// Do not edit. Bootstrap copy of /tmp/go/src/cmd/compile/internal/big/vendor.bash

//line /tmp/go/src/cmd/compile/internal/big/vendor.bash:1
#!/usr/bin/env bash

# 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.

# Run this script to obtain an up-to-date vendored version of math/big.

BIGDIR=../../../../math/big

# Start from scratch.
rm *.go

# We don't want any assembly files.
cp $BIGDIR/*.go .

# Use pure Go arith ops w/o build tag.
sed 's|^// \+build math_big_pure_go$||' arith_decl_pure.go > arith_decl.go
rm arith_decl_pure.go

# Import vendored math/big in external tests (e.g., floatexample_test.go).
for f in *_test.go; do
	sed 's|"math/big"|"cmd/compile/internal/big"|' $f > foo.go
	mv foo.go $f
done

# gofmt to clean up after sed
gofmt -w .

# Test that it works
go test -short
