int main() {
try {
// Floating point literals
float a = true ? 1.23f : 0.0f; // Ternary operator
double b = 4.56;
long double c = 7.89L;
// Using macro
double circumference = 2 * PI * b;
// Using template function
double bSquared = square(b);
// Using namespace and inline function
float aCubed = MathUtils::cube(a);
// Using function pointer
MathUtils::MathFunc sqrtFunc = MathUtils::sqrtLambda;
double sqrtB = sqrtFunc(b);
// Using enum class and function with default arguments
double roundedValue = roundToNearest(circumference, RoundingMode::UP);
// Using variadic template function
double totalSum = sum(a, b, c);
// Using struct and member function
FloatPrinter printer;
printer.print(a);
// Using union
FloatIntUnion fiUnion;
fiUnion.f = a;
std::cout << "Union int representation of float: " << fiUnion.i << std::endl;
// Using exception handling
checkInfinity(std::numeric_limits<float>::infinity());
} catch (const std::exception& e) {
std::cerr << "Exception: " << e.what() << std::endl;
}
return 0;
}