Commit 87863a834b
Changed files (1)
lib
std
math
lib/std/math/complex.zig
@@ -115,6 +115,10 @@ pub fn Complex(comptime T: type) type {
pub fn magnitude(self: Self) T {
return @sqrt(self.re * self.re + self.im * self.im);
}
+
+ pub fn squaredMagnitude(self: Self) T {
+ return self.re * self.re + self.im * self.im;
+ }
};
}
@@ -189,6 +193,13 @@ test "magnitude" {
try testing.expect(math.approxEqAbs(f32, c, 5.83095, epsilon));
}
+test "squaredMagnitude" {
+ const a = Complex(f32).init(5, 3);
+ const c = a.squaredMagnitude();
+
+ try testing.expect(math.approxEqAbs(f32, c, math.pow(f32, a.magnitude(), 2), epsilon));
+}
+
test {
_ = @import("complex/abs.zig");
_ = @import("complex/acosh.zig");