mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
17 lines
452 B
Zig
17 lines
452 B
Zig
const std = @import("../../std.zig");
|
|
const testing = std.testing;
|
|
const math = std.math;
|
|
const cmath = math.complex;
|
|
const Complex = cmath.Complex;
|
|
|
|
/// Returns the absolute value (modulus) of z.
|
|
pub fn abs(z: anytype) @TypeOf(z.re, z.im) {
|
|
return math.hypot(z.re, z.im);
|
|
}
|
|
|
|
test abs {
|
|
const epsilon = math.floatEps(f32);
|
|
const a = Complex(f32).init(5, 3);
|
|
const c = abs(a);
|
|
try testing.expectApproxEqAbs(5.8309517, c, epsilon);
|
|
}
|