ditto
import gfx.math.approx : approxUlpAndAbs; import std.math : PI; const v = fvec(0, 0, 1); // rotate PI/2 around X, then no rotation around Z, then again PI/2 around X const m = eulerAngles(float(PI / 2), 0f, float(PI / 2)); const result = m * v; const expected = fvec(0, 0, -1); assert(approxUlpAndAbs(result, expected));