#include <iostream>
#include <cmath>
template <typename T>
const auto PI = std::acos(static_cast<T>(-1));
template <typename T>
const T PI2 = std::acos(static_cast<T>(-1));
template <typename T>
const T DEG_TO_RAD = PI2<T> / 180;
int main()
{
// uncomment this to fix CASE 1 in VS2017
// PI<float>;
// uncomment this to fix CASE 2 in VS2017
// PI2<float>;
// CASE 1 - prints 0 should be 3.14159
auto func = []() { std::cout << PI<float> << std::endl; };
func();
// CASE 2 - prints 0 should be 0.0174533
std::cout << DEG_TO_RAD<float> << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY29uc3QgYXV0byBQSSA9IHN0ZDo6YWNvcyhzdGF0aWNfY2FzdDxUPigtMSkpOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CmNvbnN0IFQgUEkyID0gc3RkOjphY29zKHN0YXRpY19jYXN0PFQ+KC0xKSk7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY29uc3QgVCBERUdfVE9fUkFEID0gUEkyPFQ+IC8gMTgwOwoKaW50IG1haW4oKQp7CgkvLyB1bmNvbW1lbnQgdGhpcyB0byBmaXggQ0FTRSAxIGluIFZTMjAxNwoJLy8gUEk8ZmxvYXQ+OyAKCQoJLy8gdW5jb21tZW50IHRoaXMgdG8gZml4IENBU0UgMiBpbiBWUzIwMTcKCS8vIFBJMjxmbG9hdD47CgoJLy8gQ0FTRSAxIC0gcHJpbnRzIDAgc2hvdWxkIGJlIDMuMTQxNTkKCWF1dG8gZnVuYyA9IFtdKCkgeyBzdGQ6OmNvdXQgPDwgUEk8ZmxvYXQ+IDw8IHN0ZDo6ZW5kbDsgfTsKCWZ1bmMoKTsKCgkvLyBDQVNFIDIgLSBwcmludHMgMCBzaG91bGQgYmUgMC4wMTc0NTMzCglzdGQ6OmNvdXQgPDwgREVHX1RPX1JBRDxmbG9hdD4gPDwgc3RkOjplbmRsOwp9