Looking through updated FD code, I see opportunities to make the code more concise and readable. For example, typedef for std::pair<float,float> would allow for shorter, simpler names like FloatPair. Or you could define Vec2D with .x and .y instead of .first and .second.
Also, you can use concise class-member initialization syntax with () or {} instead of assigning values line by line. This won't affect runtime, but can make the code more readable and maintainable in the long run.
Looking through updated FD code, I see opportunities to make the code more concise and readable. For example, typedef for std::pair<float,float> would allow for shorter, simpler names like FloatPair. Or you could define Vec2D with .x and .y instead of .first and .second.
Also, you can use concise class-member initialization syntax with () or {} instead of assigning values line by line. This won't affect runtime, but can make the code more readable and maintainable in the long run.