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