cos, cosf, cosl
من cppreference.com
معرفة في ملف <math.h>
|
||
float cosf( float arg ); |
(1) | (منذ C99) |
double cos( double arg ); |
(2) | |
long double cosl( long double arg ); |
(3) | (منذ C99) |
معرفة في ملف <tgmath.h>
|
||
#define cos( arg ) |
(4) | (منذ C99) |
1-3) تحسب جيب تمام الزاوية
arg
(وحدة القياس هو القياس الدائري).4) ماكرو عام النوع: إذا كان المعطى
arg
من النوع long double يتم استدعاء cosl
. أما إذا كان المعطى عدد صحيح أو من النوع double يتم استدعاء cos
. فيما عدا ذلك يتم استدعاء cosf
. إذا كان المعطى عددا مركبا يتم استدعاء الدا��ة المركبة المناسبة (ccosf أو ccos أو ccosl).محتويات |
[تعديل] المعطيات
arg | - | عدد ذو فاصلة عائمة يعبر عن زاوية مقاسة بالتقدير الدائري |
[تعديل] القيمة المُرجعة
في حالة النجاح, تُرجع جيب تمام الزاوية arg
ويكون الناتج في الفترة [-1 ; +1].
الناتج لا يعتد به إذا كانت القيمة المطلقة لـ |
(until C++11) |
لو كان هناك خطأ في المجال يتم إرجاع قيمة تحددها البيئة (غالبا NaN على الأنظمة الداعمة لذلك).
لو كان هناك خطأ في المدى نتيجة الطفح لأسفل (Underflow) يتم إرجاع القيمة الصحيحة بعد التقريب.
[تعديل] التعامل مع الأخطاء
يتم الإبلاغ عن الأخطاء كما هو موضح في math_errhandling.
إذا كانت البيئة تدعم حسابات الفاصلة العائمة طبقا للـ IEEE (المعيار IEC 60559 تحديدا):
- لو كان المعطى ±0 يتم إرجاعه دون تعديل.
- لو كان المعطى ±∞ يتم إرجاع NaN ورفع الإشارة FE_INVALID.
- لو كان المعطى NaN يتم إرجاع NaN.
[تعديل] ملحوظات
لا يحدد المعيار سلوك حال كون الزاوية لا نهائية. POSIX على النقيض تعتبره خطأ في المجال.
[تعديل] مثال
قم بتشغيل هذا الكود:
#include <stdio.h> #include <math.h> #include <errno.h> #include <fenv.h> #pragma STDC FENV_ACCESS ON int main(void) { double pi = acos(-1); // typical usage printf("cos(pi/3) = %f\n", cos(pi/3)); printf("cos(pi/2) = %f\n", cos(pi/2)); printf("cos(-3*pi/4) = %f\n", cos(-3*pi/4)); // special values printf("cos(+0) = %f\n", cos(0.0)); printf("cos(-0) = %f\n", cos(-0.0)); // error handling feclearexcept(FE_ALL_EXCEPT); printf("cos(INFINITY) = %f\n", cos(INFINITY)); if(fetestexcept(FE_INVALID)) puts(" FE_INVALID raised"); }
خرج ممكن:
cos(pi/3) = 0.500000 cos(pi/2) = 0.000000 cos(-3*pi/4) = -0.707107 cos(+0) = 1.000000 cos(-0) = 1.000000 cos(INFINITY) = -nan FE_INVALID raised
[تعديل] أنظر أيضا
(C99)(C99) |
تحسب جيب الزاوية (sin(x)) (دالة) |
(C99)(C99) |
تحسب ظل الزاوية (tan(x)) (دالة) |
(C99)(C99) |
تحسب معكوس جيب تمام الزاوية (قاطع الزاوية) (arccos(x)) (دالة) |
(C99)(C99)(C99) |
computes the complex cosine (دالة) |
مقالة مرجع C++ عن cos
|