Почему C# Math.Sin () возвращает разные значения из C ++ sin ()? - PullRequest
1 голос
/ 10 июля 2020

При преобразовании кода C ++ в C# мы заметили, что результаты функции C ++ sin() отличаются от C# Math.Sin().

Почему? В чем причина этого?

Можно ли реализовать синус-метод C#, который возвращает точно такие же значения?

Подробнее здесь .

РЕДАКТИРОВАТЬ: Это некоторые углы, которые показывают неверные результаты, передавая значения C ++ std::nextafter() в C# Math.Sin():

1. Angle: 0.19634954084936207
C++ : 0.19509032201612825
C#  : 0.19509032201612828

2. Angle: 0.58904862254808621
C++ : 0.55557023301960218
C#  : 0.55557023301960229

3. Angle: 1.1780972450961724
C++ : 0.92387953251128674
C#  : 0.92387953251128663

4. Angle: 1.7671458676442586  
C++ : 0.98078528040323043
C#  : 0.98078528040323054
...