ฟังก์ชั่นเบื้องต้น

public protocol ElementaryFunctions

ประเภทที่มีฟังก์ชันพื้นฐานให้เลือก

“ฟังก์ชันพื้นฐาน” คือฟังก์ชันที่สร้างขึ้นจากกำลัง ราก เลขชี้กำลัง ลอการิทึม ฟังก์ชันตรีโกณมิติ (sin, cos, tan) และค่าผกผันของฟังก์ชัน และฟังก์ชันไฮเปอร์โบลิก (sinh, cosh, tanh) และความผกผันของฟังก์ชันเหล่านั้น

ความสอดคล้องกับโปรโตคอลนี้หมายความว่า Building Block เหล่านี้ทั้งหมดพร้อมใช้งานเป็นฟังก์ชันคงที่ในประเภท

let x: Float = 1
let y = Float.sin(x) // 0.84147096
  • รากที่สองของ x

    สำหรับประเภทจริง ถ้าอาร์กิวเมนต์เป็นลบ ผลลัพธ์จะเป็น NaN หรือเกิดความล้มเหลวตามเงื่อนไข สำหรับประเภทที่ซับซ้อน ฟังก์ชันนี้จะมีการตัดกิ่งไปตามแกนจริงลบ

    คำประกาศ

    static func sqrt(_ x: Self) -> Self
  • โคไซน์ของ x

    สำหรับประเภทจริง x จะถูกตีความว่าเป็นมุมที่วัดเป็นเรเดียน

    คำประกาศ

    static func cos(_ x: Self) -> Self
  • ไซน์ของ x

    สำหรับประเภทจริง x จะถูกตีความว่าเป็นมุมที่วัดเป็นเรเดียน

    คำประกาศ

    static func sin(_ x: Self) -> Self
  • แทนเจนต์ของ x

    คำประกาศ

    static func tan(_ x: Self) -> Self
  • ฟังก์ชันเอคอส

    คำประกาศ

    static func acos(_ x: Self) -> Self
  • ฟังก์ชันอาซิน

    คำประกาศ

    static func asin(_ x: Self) -> Self
  • ฟังก์ชันอาทาน

    คำประกาศ

    static func atan(_ x: Self) -> Self
  • ฟังก์ชัน cosh

    คำประกาศ

    static func cosh(_ x: Self) -> Self
  • ฟังก์ชันไซน์

    คำประกาศ

    static func sinh(_ x: Self) -> Self
  • ฟังก์ชันทานห์

    คำประกาศ

    static func tanh(_ x: Self) -> Self
  • ฟังก์ชันอะโคช

    คำประกาศ

    static func acosh(_ x: Self) -> Self
  • ฟังก์ชันอาซิน

    คำประกาศ

    static func asinh(_ x: Self) -> Self
  • ฟังก์ชันอะทานห์

    คำประกาศ

    static func atanh(_ x: Self) -> Self
  • ฟังก์ชันประสบการณ์

    คำประกาศ

    static func exp(_ x: Self) -> Self
  • ฟังก์ชัน exp2

    คำประกาศ

    static func exp2(_ x: Self) -> Self
  • ฟังก์ชัน exp10

    คำประกาศ

    static func exp10(_ x: Self) -> Self
  • ฟังก์ชัน expm1

    คำประกาศ

    static func expm1(_ x: Self) -> Self
  • ฟังก์ชั่นบันทึก

    คำประกาศ

    static func log(_ x: Self) -> Self
  • ฟังก์ชัน log2

    คำประกาศ

    static func log2(_ x: Self) -> Self
  • ฟังก์ชัน log10

    คำประกาศ

    static func log10(_ x: Self) -> Self
  • ฟังก์ชัน log1p

    คำประกาศ

    static func log1p(_ x: Self) -> Self
  • exp(y log(x)) คำนวณโดยไม่สูญเสียความแม่นยำระดับกลาง

    สำหรับชนิดจำนวนจริง ถ้า x เป็นลบ ผลลัพธ์จะเป็น NaN แม้ว่า y จะมีค่าเป็นจำนวนเต็มก็ตาม สำหรับประเภทที่ซับซ้อน จะมีการตัดกิ่งบนแกนจริงลบ

    คำประกาศ

    static func pow(_ x: Self, _ y: Self) -> Self
  • x ยกกำลัง n

    คำประกาศ

    static func pow(_ x: Self, _ n: Int) -> Self
  • รากที่ n ของ x

    สำหรับชนิดจำนวนจริง ถ้า x เป็นลบ และ n เป็นคู่ ผลลัพธ์จะเป็น NaN สำหรับประเภทที่ซับซ้อน จะมีการตัดกิ่งไปตามแกนจริงลบ

    คำประกาศ

    static func root(_ x: Self, _ n: Int) -> Self