Chris Dams writes:
My guess is that the test is incorrect on those architectures, but I admit I haven't investigated enough.
I'm not a CLN expert either, but to me it does not seem that the code is incorrect. On the AMD 64 platform it is apparently always okay to apply the constructor cl_I(int) no matter how large the integer argument is. If the compiler is smart enough, it will automatically do what your patch is doing (i.e., throw the if out of the code), so I fail to see benefits from your patch.
OK, my main concern was about removing a couple annoying warnings (BTW: congratulations: they were the only warnings in the whole package, which seems pretty unusual to me, and a good programming practice). However, as far as I understand, although the code being safe, a test and a cast will always occur even if it's never required. It's not a big deal, I concur, but it looks like a misuse of the CLN definitions. My 2c. Cheers, p. Dr. Pierangelo Masarati | voice: +39 02 2399 8309 Dip. Ing. Aerospaziale | fax: +39 02 2399 8334 Politecnico di Milano | mailto:pierangelo.masarati@polimi.it via La Masa 34, 20156 Milano, Italy | http://www.aero.polimi.it/~masarati Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html