ฉันต้องการคำนวณทั้งไซน์และไซน์ร่วมของค่าด้วยกัน (ตัวอย่างเช่นการสร้างเมทริกซ์การหมุน) แน่นอนว่าฉันสามารถคำนวณแยกจากกันได้a = cos(x); b = sin(x);แต่ฉันสงสัยว่ามีวิธีที่เร็วกว่าเมื่อต้องการทั้งสองค่า
แก้ไข: เพื่อสรุปคำตอบจนถึงตอนนี้:
วลาดกล่าวว่ามีคำสั่ง asm ที่
FSINCOSคำนวณทั้งคู่ (เกือบจะในเวลาเดียวกันกับการโทรไปหาFSINคนเดียว)เช่นเดียวกับที่จิสังเกตเห็นการเพิ่มประสิทธิภาพนี้บางครั้งคอมไพเลอร์ทำไปแล้ว (เมื่อใช้แฟล็กการปรับให้เหมาะสม)
คาเฟ่ชี้ให้เห็นว่าฟังก์ชั่น
sincosและsincosfอาจพร้อมใช้งานและสามารถเรียกได้โดยตรงเพียงแค่รวมmath.hมีการกล่าวถึงวิธีการของ Tanascius ในการใช้ตารางการค้นหาที่ขัดแย้งกัน (อย่างไรก็ตามในคอมพิวเตอร์ของฉันและในสถานการณ์มาตรฐานจะทำงานได้เร็วกว่า 3 เท่า
sincosโดยมีความแม่นยำเกือบเท่ากันสำหรับจุดลอยตัว 32 บิต)โจเอลกู๊ดวินเชื่อมโยงกับแนวทางที่น่าสนใจของเทคนิคการประมาณค่าที่รวดเร็วมากพร้อมด้วยความแม่นยำที่ค่อนข้างดี (สำหรับฉันนี่จะเร็วกว่านี้จากการค้นหาตาราง)