Karmaşık sayı (complex, complexf)

Yerleşik complex tipi, iki double alanına sahip bir yapıdır:

struct complex
  {
   double             real;   // gerçek kısım
   double             imag;   // sanal kısım
  };

Yerleşik complexf tipi, iki float alanına sahip bir yapıdır:

struct complexf
  {
   float              real;   // gerçek kısım
   float              imag;   // sanal kısım
  };

 

complex ve complexf tipleri, MQL5 fonksiyonlarına parametre olarak değerle aktarılabilir (yalnızca referansla aktarılan sıradan yapıların aksine). DLL'lerden içe aktarılan fonksiyonlar için complex ve complexf tipleri yalnızca referansla aktarılmalıdır.

Karmaşık sabitleri belirtmek için 'i' soneki kullanılır:

complex square(complex c)
  {
   return(c*c);
  }  
void OnStart()
  {
   Print(square(1+2i));  // Bir sabit parametre olarak aktarılır
  }
// Karmaşık sayının dize gösterimi olan "(-3,4)" çıktılanır 

Karmaşık sayılar için şu anda yalnızca basit işlemler kullanılabilir: =, +, -, *, /, +=, -=, *=, /=, ==, !=.

Mutlak değer, sinüs, kosinüs ve diğerlerini hesaplamayı sağlayan ek matematik fonksiyonları daha sonra eklenecektir.

vectorc

complex tipindeki sayıların tek boyutlu dizisi, karmaşık sayılarla çalışmak için tasarlanmıştır. Şablon fonksiyonlarda vector<complex> yazımı kullanılabilir.

matrixc

complex tipindeki sayıların iki boyutlu dizisi, karmaşık sayılarla çalışmak için tasarlanmıştır. Şablon fonksiyonlarda matrix<complex> yazımı kullanılabilir.

vectorcf

complexf tipindeki sayıların tek boyutlu dizisi, karmaşık sayılarla çalışmak için tasarlanmıştır. Şablon fonksiyonlarda vector<complexf> yazımı kullanılabilir.

matrixcf

complexf tipindeki sayıların iki boyutlu dizisi, karmaşık sayılarla çalışmak için tasarlanmıştır. Şablon fonksiyonlarda matrix<complexf> yazımı kullanılabilir.