zigsdof/src/forces.zig

16 lines
516 B
Zig
Raw Normal View History

const constants = @import("./constants.zig");
const vec3 = @import("./vec3.zig");
const std = @import("std");
pub fn gravity(mass: f64) vec3.Vec3F64 {
return .init(0, 0, mass * constants.g);
}
test "gravity is correct" {
const mass = 10;
const fg = gravity(mass);
try std.testing.expect(std.math.approxEqAbs(f64, fg.x(), 0, 1e-12));
try std.testing.expect(std.math.approxEqAbs(f64, fg.y(), 0, 1e-12));
try std.testing.expect(std.math.approxEqAbs(f64, fg.z(), constants.g * mass, 1e-12));
}