TOMAZ wrote: > Hi I made a program which basically averages data from a file. The data is > stored as complex float and I'm reading it with fread with no problem. Some > data are taged as NAN (at least ENVI, an image procesing soft read these > values as NAN). If I average the whole data adding a number with a NAN gives > me a NAN and my whole program fails. > > What I did is the folowing which doesn't seems to work: > > if(cabsf(zhhzhh)!= NAN) > { > printf("%f\n", cabsf(zhhzhh)); > } > > For some reason the test seeams to be positive all the time, I keep printing > NAN's ("nan" actualy). > > Any idea? NaN is not equal to anything, including itself. To test for NaN, use isnan(). If you don't have isnan() (it's C99, not C89), test whether "x != x" (true for NaN, false for everything else). -- Glynn Clements <glynn@xxxxxxxxxxxxxxxxxx> - To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html