I am building a simple vector math class to support basic vector operations, currently I only use a simple 3 floats to represent each vector''s component, but I have seen some implementations wich use unions, and structs for that, so I really appreciate if anyone explainme why use unions for that, and how implement a really optimized vector and matrices class?
Thanks in advance!
There''s no single way to do what you want: it depends a lot on your choice of language, target platform/processor and tools/compiler. But there are some general points which may be of use.
First I would recoomend structs over unions: you don''t need unions to implement vectors and I think you''re more likely to trip up with them.
The advantages of structures [for vectors] are: Simpler code: e.g. only one line to add two vectors, not three. Easier to work with and debug: because it''s easier to tell what you are dealing with. Without structs you use the same types for vectors and scalars and it can be difficult to tell them apart. Quicker code: this depends on how they are implemented, but often you can take advantage of processor features such as a vector/SIMD unit to accelerate vector operations.