Új hozzászólás Aktív témák
-
buherton
őstag
válasz
#90088192
#6266
üzenetére
Vagy nem teljesen érthető a kérdésed, vagy nekem vagy nagyon hétfő.
Ha jól azt szeretnéd elérni, hogy ne kiszámolja, hanem rögtön adja vissza az értéket, ugye? Gondolom ez a sebesség miatt kell.
A lookup table-re keress rá. Ezt sokféleképpen lehet implementálni. Talán a legegyszerűbb, hogy minden fokra legenerálod előre egy tömbbe és majd arra hivatkozol. Valahogy így:
const float degree_to_sin[] ={0, /* 0 degree */0.017, /* 1 degree */...};float res = degree_to_sin[1]; // res = sin(1)Persze ilyenkor a pontossággal lehetnek gondok.
-
jattila48
aktív tag
válasz
#90088192
#6266
üzenetére
Tudtommal az Intel processzorok tartalmaznak transzcendens (sin, log,...) floating point műveleteket. Egyébként valószínűleg vegyesen használnak táblázat adatokat, és közelítéseket. Igen hatékony tört közelítések léteznek ezekre. A szögfüggvények hatványsorai ugyan gyorsan konvergálnak, de tudtommal nem ezeket használják. Lehet, hogy táblázatból kikeresik a legközelebbi érték sinusát, majd az akörüli Taylor sor néhány tagjából egy törtet számítanak ki. Ez csak tipp.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- 27% - LG UltraGear 27GS95QE-B Monitor! 2560x1440 / 240Hz / 0.03ms / G-SYNC / FreeSync BeszámítOK!
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
