zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 37ae2464053628d10c7e7e7165ba8a267006b0ad (tree)
parent ab6ffa8a3c1e3fa802cacd970d3ed415ba25a85e
Author: Frank Denis <github@pureftpd.org>
Date:   Sat, 15 Aug 2020 21:14:56 +0200

Inline Fe.{sub,mul,sq} for a performance boost in release-safe mode

Diffstat:
Mlib/std/crypto/25519/field.zig | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/std/crypto/25519/field.zig b/lib/std/crypto/25519/field.zig @@ -114,7 +114,7 @@ pub const Fe = struct { return fe; } - pub fn sub(a: Fe, b: Fe) Fe { + pub inline fn sub(a: Fe, b: Fe) Fe { var fe = b; comptime var i = 0; inline while (i < 4) : (i += 1) { @@ -200,7 +200,7 @@ pub const Fe = struct { return .{ .limbs = rs }; } - pub fn mul(a: Fe, b: Fe) Fe { + pub inline fn mul(a: Fe, b: Fe) Fe { var ax: [5]u128 = undefined; var bx: [5]u128 = undefined; var a19: [5]u128 = undefined; @@ -223,7 +223,7 @@ pub const Fe = struct { return _carry128(&r); } - fn _sq(a: Fe, double: comptime bool) Fe { + inline fn _sq(a: Fe, double: comptime bool) Fe { var ax: [5]u128 = undefined; var r: [5]u128 = undefined; comptime var i = 0;