55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
// 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.
|
|
|
|
//-go:build math_big_pure_go
|
|
// -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)
|
|
}
|