| // 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. |
| |
| // +build math_big_pure_go |
| |
| package big |
| |
| func mulWW(x, y Word) (z1, z0 Word) { |
| return mulWW_g(x, y) |
| } |
| |
| func addVV(z, x, y []Word) (c Word) { |
| return addVV_g(z, x, y) |
| } |
| |
| func subVV(z, x, y []Word) (c Word) { |
| return subVV_g(z, x, y) |
| } |
| |
| func addVW(z, x []Word, y Word) (c Word) { |
| // TODO: remove indirect function call when golang.org/issue/30548 is fixed |
| fn := addVW_g |
| if len(z) > 32 { |
| fn = addVWlarge |
| } |
| return fn(z, x, y) |
| } |
| |
| func subVW(z, x []Word, y Word) (c Word) { |
| // TODO: remove indirect function call when golang.org/issue/30548 is fixed |
| fn := subVW_g |
| if len(z) > 32 { |
| fn = subVWlarge |
| } |
| return fn(z, x, y) |
| } |
| |
| func shlVU(z, x []Word, s uint) (c Word) { |
| return shlVU_g(z, x, s) |
| } |
| |
| func shrVU(z, x []Word, s uint) (c Word) { |
| return shrVU_g(z, x, s) |
| } |
| |
| func mulAddVWW(z, x []Word, y, r Word) (c Word) { |
| return mulAddVWW_g(z, x, y, r) |
| } |
| |
| func addMulVVW(z, x []Word, y Word) (c Word) { |
| return addMulVVW_g(z, x, y) |
| } |