arccos

Discussion in 'WASM.BEGINNERS' started by grozz, Aug 10, 2006.

  1. grozz

    grozz New Member

    Blog Posts:
    0
    Joined:
    Aug 7, 2006
    Messages:
    11
    Здраствуйте
    кто знает как можно вычислить арккосинус средствами fpu?
     
  2. leo

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    arccos(x) = arctan(sqrt(1-x*x)/x)
    => юзаем fsqrt и fpatan
    проверка на x = 0 не нужна, а вот при |x| > 1 получим исключение на fsqrt
    Code (Text):
    1. ;a = arccos(x)
    2.   fld x
    3.   fld1
    4.   fld st1
    5.   fmul st0,st0
    6.   fsubp
    7.   fsqrt
    8.   fxch
    9.   fpatan
    10.   fstp a