Hi, I'm using valarray in my Visual C++ 2010 program. I'm also using two non-valarray math features. First is sqrt - not the one in valarray (its argument is a double not a valarray). I've included valarray header file in the program while I haven't included math.h. The compiler doesn't complain about sqrt and the program runs fine. Then I needed to use the constant M_PI which is defined in math.h. I thought since the compiler wasn't complaining about sqrt, it somehow included math.h, so I should be able to use M_PI. But I get an error for that. The compiler doesn't know M_PI. Is my assumption that math.h is included in my program correct? Is it possible that sqrt that I'm running comes from somewhere else (complex header file)? Do I need to define something else to enable using this constant even if math.h is included? May be the more important question is what's the relationship between valarray, math and complex? I would really appreciate your response. Thanks!