This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
floating_point_comparison [2022/04/29 23:41] max [Floating-point number comparison inside Impulse Physics] |
floating_point_comparison [2022/04/29 23:54] (current) max |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Floating-point number comparison | + | ====== Floating-point number comparison ====== |
Floating-point numbers are almost always stored inaccurately in computers' | Floating-point numbers are almost always stored inaccurately in computers' | ||
- | It also means that for example, '' | + | For example, |
Since computers are exact in comparison by default, you can see how you can run into issues with this. | Since computers are exact in comparison by default, you can see how you can run into issues with this. | ||
Line 11: | Line 11: | ||
The default option is a combination of both the absolute and relative methods of epsilon comparison. ((http:// | The default option is a combination of both the absolute and relative methods of epsilon comparison. ((http:// | ||
The second option is simply the computer' | The second option is simply the computer' | ||
+ | |||
+ | Which method the engine uses can be changed in the source code in the '' | ||
===== The absolute method ===== | ===== The absolute method ===== | ||
Line 20: | Line 22: | ||
===== The relative method ===== | ===== The relative method ===== | ||
- | The relative method takes the result of the absolute method | + | The relative method takes the absolute method, but multiplies the epsilon by '' |
The drawback to this method is that it does not work on small values. | The drawback to this method is that it does not work on small values. | ||
Line 28: | Line 30: | ||
Considering the strengths and drawbacks of the two methods above, you can combine the two to overcome these limitations. | Considering the strengths and drawbacks of the two methods above, you can combine the two to overcome these limitations. | ||
- | The combined method takes the result of the absolute | + | The combined method takes the relative |
This method gives us good results, but it is not without its drawbacks since it uses the same epsilon for the relative and the absolute tolerance. | This method gives us good results, but it is not without its drawbacks since it uses the same epsilon for the relative and the absolute tolerance. | ||
For further reading, please check out [[http:// | For further reading, please check out [[http:// |