1// Copyright 2015 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// -build math_big_pure_go
6
7package big
8
9func mulWW(x, y Word) (z1, z0 Word) {
10	return mulWW_g(x, y)
11}
12
13func addVV(z, x, y []Word) (c Word) {
14	return addVV_g(z, x, y)
15}
16
17func subVV(z, x, y []Word) (c Word) {
18	return subVV_g(z, x, y)
19}
20
21func addVW(z, x []Word, y Word) (c Word) {
22	// TODO: remove indirect function call when golang.org/issue/30548 is fixed
23	fn := addVW_g
24	if len(z) > 32 {
25		fn = addVWlarge
26	}
27	return fn(z, x, y)
28}
29
30func subVW(z, x []Word, y Word) (c Word) {
31	// TODO: remove indirect function call when golang.org/issue/30548 is fixed
32	fn := subVW_g
33	if len(z) > 32 {
34		fn = subVWlarge
35	}
36	return fn(z, x, y)
37}
38
39func shlVU(z, x []Word, s uint) (c Word) {
40	return shlVU_g(z, x, s)
41}
42
43func shrVU(z, x []Word, s uint) (c Word) {
44	return shrVU_g(z, x, s)
45}
46
47func mulAddVWW(z, x []Word, y, r Word) (c Word) {
48	return mulAddVWW_g(z, x, y, r)
49}
50
51func addMulVVW(z, x []Word, y Word) (c Word) {
52	return addMulVVW_g(z, x, y)
53}
54