pkg: add generated core package

and internal qgo tool to generate them

Change-Id: Ic03dc27262d8769f3dc3cd56fa11d77ee0b68dc8
diff --git a/pkg/math/big.go b/pkg/math/big.go
new file mode 100644
index 0000000..5f20b82
--- /dev/null
+++ b/pkg/math/big.go
@@ -0,0 +1,56 @@
+// Copyright 2018 The CUE Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Copyright 2018 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.
+
+//go:generate qgo -exclude= extract math/big
+
+package math
+
+import "math/big"
+
+// Exponent and precision limits.
+const (
+	MaxExp  = 2147483647  // largest supported exponent
+	MinExp  = -2147483648 // smallest supported exponent
+	MaxPrec = 4294967295  // largest (theoretically) supported precision; likely memory-limited
+)
+
+// These constants define supported rounding modes.
+const (
+	ToNearestEven = 0 // == IEEE 754-2008 roundTiesToEven
+	ToNearestAway = 1 // == IEEE 754-2008 roundTiesToAway
+	ToZero        = 2 // == IEEE 754-2008 roundTowardZero
+	AwayFromZero  = 3 // no IEEE 754-2008 equivalent
+	ToNegativeInf = 4 // == IEEE 754-2008 roundTowardNegative
+	ToPositiveInf = 5 // == IEEE 754-2008 roundTowardPositive
+)
+
+// Constants describing the Accuracy of a Float.
+const (
+	Below = -1
+	Exact = 0
+	Above = 1
+)
+
+// Jacobi returns the Jacobi symbol (x/y), either +1, -1, or 0.
+// The y argument must be an odd integer.
+func Jacobi(x, y *big.Int) int {
+	return big.Jacobi(x, y)
+}
+
+// MaxBase is the largest number base accepted for string conversions.
+const MaxBase = 62