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//-go:build math_big_pure_go 6// -build math_big_pure_go 7 8package big 9 10func mulWW(x, y Word) (z1, z0 Word) { 11 return mulWW_g(x, y) 12} 13 14func addVV(z, x, y []Word) (c Word) { 15 return addVV_g(z, x, y) 16} 17 18func subVV(z, x, y []Word) (c Word) { 19 return subVV_g(z, x, y) 20} 21 22func addVW(z, x []Word, y Word) (c Word) { 23 // TODO: remove indirect function call when golang.org/issue/30548 is fixed 24 fn := addVW_g 25 if len(z) > 32 { 26 fn = addVWlarge 27 } 28 return fn(z, x, y) 29} 30 31func subVW(z, x []Word, y Word) (c Word) { 32 // TODO: remove indirect function call when golang.org/issue/30548 is fixed 33 fn := subVW_g 34 if len(z) > 32 { 35 fn = subVWlarge 36 } 37 return fn(z, x, y) 38} 39 40func shlVU(z, x []Word, s uint) (c Word) { 41 return shlVU_g(z, x, s) 42} 43 44func shrVU(z, x []Word, s uint) (c Word) { 45 return shrVU_g(z, x, s) 46} 47 48func mulAddVWW(z, x []Word, y, r Word) (c Word) { 49 return mulAddVWW_g(z, x, y, r) 50} 51 52func addMulVVW(z, x []Word, y Word) (c Word) { 53 return addMulVVW_g(z, x, y) 54} 55