Eigen , Trilinos ve deal.II gibi hesaplama bilimindeki daha iyi bilinen C ++ kitaplıklarının çoğu , std::complex<>
karmaşık kayan noktalı sayıları temsil etmek için standart C ++ şablon başlık kitaplığı nesnesini kullanır.
Jack Poulson'un varsayılan kurucularla ilgili bir soruya cevabındastd::complex
, Elemental'de "birkaç nedenden ötürü" kendi uygulamasına sahip olduğuna dikkat çekiyor . Bu nedenler neler? Bu yaklaşımın avantajları ve dezavantajları nelerdir?
z
tipi bir lvalue ifadesidir cvstd::complex<T>
sonrareinterpret_cast<cv T(&)[2]>(z)
vereinterpret_cast<cv T(&)[2]>(z)[0]
gerçek bölümünü belirlerz
vereinterpret_cast<cv T(&)[2]>(z)[1]
sanal kısmını tayin ederz
. Karmaşık sayı dizileri de ele alınmaktadır.