Üstel ve Logaritmik İşlevler
Önceki XIX. Oylum - Matematik Sonraki
Üstel ve Logaritmik İşlevler
double exp
(double x)
float expf
(float x)
long double expl
(long double x)
işlev
Bu işlevler e (tabii logaritmanın tabanı) üssü x'i hesaplar.
Sonuç gösterilemeyecek kadar büyükse işlev taşma hatası sinyaller.
double exp2
(double x)
float exp2f
(float x)
long double exp2l
(long double x)
işlev
Bu işlevler 2 üssü x'i hesaplar. Matematiksel olarak, exp2 (x) ile exp (x * log (2)) aynıdır.
double exp10
(double x)
float exp10f
(float x)
long double exp10l
(long double x)
double pow10
(double x)
float pow10f
(float x)
long double pow10l
(long double x)
işlev
Bu işlevler 10 üssü x'i hesaplar. Matematiksel olarak, exp10 (x) ile exp (x * log (10)) aynıdır.
Bu işlevler GNU oluşumudur. exp ve exp2 işlevleriyle isim benzerliğinden dolayı exp10 tercih edilir.
double log
(double x)
float logf
(float x)
long double logl
(long double x)
işlev
Bu işlevler x'in tabii logaritmasını hesaplar. exp (log (x)) ifadesi matematikte kesinlikle, C'de ise yaklaşık olarak x'e eşittir.
Eğer x negatifse, log işlevi bir saha hatası sinyaller. Eğer x sıfırsa, negatif sonsuz döner; x sıfıra çok yakınsa taşma sinyallenebilir.
double log10
(double x)
float log10f
(float x)
long double log10l
(long double x)
işlev
Bu işlevler x'in 10 tabanına göre logaritması ile döner. log10 (x) ifadesi log (x) / log (10) ifadesine eşittir.
double log2
(double x)
float log2f
(float x)
long double log2l
(long double x)
işlev
Bu işlevler x'in 2 tabanına göre logaritması ile döner. log2 (x) ifadesi log (x) / log (2) ifadesine eşittir.
double logb
(double x)
float logbf
(float x)
long double logbl
(long double x)
işlev
Bu işlevler x sonucunu veren üstel sayının üssünü bir gerçek sayı olarak döndürür. Eğer FLT_RADIX iki ise, logb işlevi büyük olasılıkla daha hızlı olmak dışında floor (log2 (x)) çağrısına eşdeğerdir.
Eğer x normalleştirilememiş bir değerse, işlev normalleştirilmiş değerle döner. Eğer x sonsuzsa (pozitif ya da negatif) ya da sıfırsa, işlev sonsuzla döner ve hata sinyallemez.
int ilogb
(double x)
int ilogbf
(float x)
int ilogbl
(long double x)
işlev
Bu işlevler işaretli tamsayı değerler döndürmeleri dışında logb işlevlerine eşdeğerdir.
Tamsayılarla sonsuz ve NaN gösterilemediğinden ilogb bunların yerine sonucu yansıtmayan bir tamsayı ile döner. math.h dosyasında tanımlı sabitlerle bu durumu sınayabilirsiniz.
int FP_ILOGB0
makro
ilogb işlevi argümanı 0 ise bu değerle döner. Sayısal değeri ya INT_MIN ya da -INT_MAX'tır.
Bu makro ISO C99'da tanımlanmıştır.
int FP_ILOGBNAN
makro
ilogb işlevi argümanı NaN ise bu değerle döner. Sayısal değeri ya INT_MIN ya da -INT_MAX'tır.
Bu makro ISO C99'da tanımlanmıştır.
Bu değerler sisteme özeldir, hatta aynı bile olabilirler. ilogb işlevinin sonucunu sınamanın uygun yolu şöyledir:
i = ilogb (f);
if (i == FP_ILOGB0 || i == FP_ILOGBNAN)
  {
    if (isnan (f))
      {
        /* NaN'ı elde edelim.  */
      }
    else if (f  == 0.0)
      {
        /* 0.0'ı elde edelim.  */
      }
    else
      {
        /* Diğer değerler, +Inf gibi.  */
      }
  }
double pow
(double taban,
 double üs)
float powf
(float taban,
 float üs)
long double powl
(long double taban,
 long double üs)
işlev
Bunlar genel amaçlı üstel işlevlerdir ve taban üssü üs ile dönerler.
Matematiksel olarak, taban negatifse ve üs bir tamsayı değer değilse pow bir karmaşık sayı ile dönerdi. pow böyle yapmaz, bir saha hatası sinyaller. pow ayrıca hedef türe bağlı olarak alttan ya da üstten taşabilir.
double sqrt
(double x)
float sqrtf
(float x)
long double sqrtl
(long double x)
işlev
Bu işlevler x'in negatif olmayan karekökü ile dönerler.
Eğer x negatifse, sqrt işlevi bir saha hatası sinyaller. Matematiksel olarak, bir karmaşık sayı ile dönerdi.
double cbrt
(double x)
float cbrtf
(float x)
long double cbrtl
(long double x)
işlev
Bu işlevler x'in kübkökü ile dönerler. Başarısız olamazlar; Gösterilebilen her gerçek sayının gösterilebilen bir kübkökü daima vardır.
double hypot
(double x,
 double y)
float hypotf
(float x,
 float y)
long double hypotl
(long double x,
 long double y)
işlev
Bu işlevler sqrt (x*x + y*y) işleminin sonucu ile döner. Bu değer, dik kenarları x ve y olan bir dik üçgenin hipotenüsünün uzunluğudur; aynı zamanda (0, 0) ve (x, y) noktaları arasındaki mesafedir. Doğrudan formülü hesaplatmak yerine bu işlevi kullanırsanız hassasiyet kaybı olmaz. Ayrıca, Mutlak Değer bölümündeki cabs işlevine de bakınız.
double expm1
(double x)
float expm1f
(float x)
long double expm1l
(long double x)
işlev
Bu işlevler exp (x) - 1 ifadesine eşdeğer bir değerle döner. x sıfıra çok yakın olduğunda bile en doğru sonucu verecek şekilde hesaplama yapar (exp (x) - 1 ifadesinde çıkarma işleminin iki terimi yaklaşık eşit olduğunda yeterince doğru sonuç elde edilemeyebilirdi).
double log1p
(double x)
float log1pf
(float x)
long double log1pl
(long double x)
işlev
Bu işlevler log (1 + x). ifadesine eşdeğer bir değerle döner. x sıfıra çok yakın olduğunda bile en doğru sonucu verecek şekilde hesaplama yapar.
ISO C99 üstel ve logaritmik işlevlerin karmaşık sayılarla işlem yapanlarını da tanımlamıştır.
complex double cexp
(complex double z)
complex float cexpf
(complex float z)
complex long double cexpl
(complex long double z)
işlev
Bu işlevler e üssü z ile döner. Bu işlemin matematiksel ifadesi:
    exp (z) = exp (creal (z)) * (cos (cimag (z)) + I * sin (cimag (z)))
complex double clog
(complex double z)
complex float clogf
(complex float z)
complex long double clogl
(complex long double z)
işlev
Bu işlevler z'nin tabii loaritmasını hesaplar. Bu işlemin matematiksel ifadesi:
    log (z) = log (cabs (z)) + I * carg (z)
clog işlevinin 0'da bir kutbu vardır ve z sıfıra çok yakın olduğunda taşma sinyalleyecektir. z'nin diğer değerleri için en doğru sonucu verir.
complex double clog10
(complex double z)
complex float clog10f
(complex float z)
complex long double clog10l
(complex long double z)
işlev
Bu işlevler z karmaşık sayısının 10 tabanına göre logaritmasını hesaplar. Bu işlemin matematiksel ifadesi:
    log (z) = log10 (cabs (z)) + I * carg (z)
Bu işlevler GNU oluşumudur.
complex double csqrt
(complex double z)
complex float csqrtf
(complex float z)
complex long double csqrtl
(complex long double z)
işlev
Bu işlevler z karmaşık sayısının karekökünü hesaplar. Gerçek sayılı eşdeğerlerinin tersine bu işlevler tüm z değerleri için tanımlıdır.
complex double cpow
(complex double taban,
 complex double üs)
complex float cpowf
(complex float taban,
 complex float üs)
complex long double cpowl
(complex long double taban,
 complex long double üs)
işlev
Bu işlevler taban üssü üs ile döner. Yapılan işlem cexp (us * clog (taban)) çağrısına eşdeğerdir.
Önceki Üst Ana Başlık Sonraki
Ters Trigonometrik İşlevler Başlangıç Hiperbolik İşlevler
Bir Linux Kitaplığı Sayfası