نطاقات
المتغيرات
أفعال

cos, cosf, cosl

من cppreference.com
< c | numeric | math
 
 
 
دوال رياضية شائعة
الدوال
عمليات بسيطة
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
دوال أسية ولوغارتمية ثابتة الأساس
(C99)
(C99)
(C99)
(C99)
دوال أسية وجذور
(C99)
(C99)
دوال حساب المثلثات والدول الزائدية
(C99)
(C99)
(C99)
دالة الخطأ ودالة غاوس
(C99)
(C99)
(C99)
(C99)
إيجاد أقرب عدد صحيح لفاصلة عائمة (float)
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
دوال التعديل على الفاصلة العائمة (float)
(C99)(C99)
(C99)
(C99)
التصنيف والمقارنة
(C99)
(C99)
(C99)
ثوابت ماكرو
 
<tbody> </tbody>
معرفة في ملف <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].

الناتج لا يعتد به إذا كانت القيمة المطلقة لـ ‎arg‎ كبيرة.

(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))‎
(دالة) [edit]
(C99)(C99)
تحسب ظل الزاوية ‎(tan(x))‎
(دالة) [edit]
(C99)(C99)
تحسب معكوس جيب تمام الزاوية (قاطع الزاوية) (arccos(x))
(دالة) [edit]
(C99)(C99)(C99)
computes the complex cosine
(دالة) [edit]