Originariamente inviato da MItaly
Ne dubito. La classe complex, a livello di dati contenuti, è esattamente equivalente alla struttura che proponi (parte reale, parte complessa); l'overhead dei metodi c'è solo se questi vengono chiamati.

Io prima di andare a cercare ottimizzazioni strane proverei ad effettuare un profiling e vedere dove sono i "colli di bottiglia" dell'applicazione e/o di questa funzione particolare.
Tra parentesi, ma il codice in questione (l'ho letto di sfuggita) dovrebbe servire per calcolare la distanza sul piano di Gauss tra due numeri complessi?
Calcola la distanza dall'origine in un piano di Gauss, solo che il calcolo lo effettua attraverso una rappresentazione polare, ed è proprio questo il vero limite dell'applicazione, bisognerebbe utilizzare un sistema di coordinate cartesiane.

Si, non ci avevo pensato di andare a vedere dove sono effettivamente i colli di bottiglia, forse perchè pur sapendo cosa sono non saprei come fare, potresti spiegarmi?

In ogni caso testerò anche una funzione del tutto equivalente ma che utilizza strutture piuttosto che la classe complex, che ad intuito sembra davvero essere dispendiosa e sintatticamente decisamente poco piacevole .