...

Source file src/math/big/arith_decl_pure.go

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

View as plain text