Синус на VS6 (с /NODEFAULTLIB)

Тема в разделе "WASM.A&O", создана пользователем tylerdurden, 8 дек 2005.

  1. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Хз, может тут только на асме вопросы можно задавать :) Не кидайте яйца, я ж "не в интересах истины, но в интересах правды" :) Вообщем шо не так в этом синусе/тангенсе ? Синус вовсе вешает прогу, а тангенс считает не так (во всяком случае вид glFrustum со стандартным tan() и с моим разлчаются) ? Может fld там не double грузит ? хз...



    <font color="red]используем аттачи..</font><!--color-->
     
  2. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    Код (Text):
    1.  
    2.   double sin(double x){
    3.     double y;
    4.     __asm{
    5.       fld x
    6.       [u]fcos[/u]
    7.       fstp y
    8.     }
    9.     return y;
    10.   }
    11.  


    fcos - это очепятка?

    fld грузит все как надо. А вид с этим tan чем отличается?
     
  3. Voodoo

    Voodoo New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2003
    Сообщения:
    297
    Адрес:
    Новосибирск
    А _ftol это функция и не int, а void.
    Код (Text):
    1.  
    2.   extern "C" {
    3.     __declspec(naked) void _ftol() {
    4.         __asm    {
    5.             fistp    DWORD PTR [esp-12]
    6.             mov      eax, DWORD PTR [esp-12]
    7.             mov      ecx, DWORD PTR [esp-8]
    8.  
    9.             ret
    10.         }
    11.     }
    12. }


    Это из исходника демки Eclipse.
     
  4. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    fcos опечатка...

    Про ftol не знал... Тоже самое (не так считает (хз, по-моему батва именно в округлении), Перспектива выглядит иначе) но уже не вылетает...
     
  5. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Хм... Не, теперь все верно... Это я что-то с glFrustum напортачил... какая там формула то ?
     
  6. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    /QIfist



    Suppresses the call of the helper function _ftol when a conversion from a floating-point type to an integral type is required.



    Могут быть проблемы с округлением, пользовать с умом.

    На 8й версии компилятора что-то не всегда работает :-\