2021년 2월 23일 스크랩
Float point determinism
- Deterministic simulation
- IEEE754 Software Implementation, Berkly
- Nonassociativity of floating point calculation
- 컴퓨터 과학에서의 소수점 연산은 (a + b) + c와 a + (b + c)가 다르다는 문제
- Fixed point math in c#?
- Fixed-Point Arithmetic: An Introduction
- Fixed point 연산에 대한 논문 자료
- Starcraft 2 유즈맵의 소수점 연산 문제
- 스타2도 Fixed Point Math를 쓰고 있으며 이로 인한 오차 문제가 존재함
- 어떤 값을 연산할 때 누적하여 연산하기보단, 기준이 되는 수치를 하나 두고 여기에 offset을 연산하여 더하는 식으로 처리하면 그나마 낫다는 결론
- ex) 캐릭터 속도가 틱당 0.1씩 늘어난다고 하면
- 0.1 -> 0.2 -> 0.3… (원본 값에 덮어씌우기 x)
- 0.1 + 0 -> 0.1 + 0.1 -> 0.1 + 0.2 -> 0.1 + 0.3 -> … (원본 값 0.1 보존하여 delta 값을 필요할때마다 연산 후 사용)