[BUG FIX] Fix tensor_or_memref.h build error
Unfortunately, I rolled back this PR in https://github.com/tensorflow/tensorflow/commit/b3cc51779e074da7a85f2dcc6b1f0b224079c2ec because it broke the Mac build with the error

```
error: no member named 'isnan' in namespace 'std'; did you mean simply 'isnan'?
```

According to [this StackOverflow question](https://stackoverflow.com/questions/32606023/when-using-c-headers-in-c-should-we-use-functions-from-std-or-the-global-na), including `math.h` will put `isnan` in the global namespace, and optionally may also put it in the `std` namespace. Since only the Mac build was broken, presumably this means on Mac it was only put in the global namespace but on Windows/Linux, it was also put in the `std` namespace.

I think just including `math.h` without adding the `std::` prefix to `isnan` will fix the issue. Can you create a new PR that just includes `math.h`? > Unfortunately, I rolled back this PR in [b3cc517](https://github.com/tensorflow/tensorflow/commit/b3cc51779e074da7a85f2dcc6b1f0b224079c2ec) because it broke the Mac build with the error
> 
> ```
> error: no member named 'isnan' in namespace 'std'; did you mean simply 'isnan'?
> ```
> 
> According to [this StackOverflow question](https://stackoverflow.com/questions/32606023/when-using-c-headers-in-c-should-we-use-functions-from-std-or-the-global-na), including `math.h` will put `isnan` in the global namespace, and optionally may also put it in the `std` namespace. Since only the Mac build was broken, presumably this means on Mac it was only put in the global namespace but on Windows/Linux, it was also put in the `std` namespace.
> 
> I think just including `math.h` without adding the `std::` prefix to `isnan` will fix the issue. Can you create a new PR that just includes `math.h`?

Thanks a lot for this reference and explaination! 

I have created a new PR based on the suggestion and it does resolve the build error on my side.

https://github.com/tensorflow/tensorflow/pull/59775
We found the build error on tensor_or_memref as the following, this PR has fixed it.

```
opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/tensor_or_memref.h:243:29: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  243 |         bool thisnan = isnan(at(indices));
      |                        ~~~~~^~~~~~~~~~~~~
      |                        std::isnan
In file included from /usr/include/c++/9/complex:44,
                 from bazel-out/k8-opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/interpreter_value.h:19,
                 from tensorflow/compiler/xla/mlir_hlo/tools/mlir_interpreter/framework/tests/interpreter_value_test.cc:16:
/usr/include/c++/9/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~


opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/interpreter_value.h:108:31:   required from here
bazel-out/k8-opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/tensor_or_memref.h:243:29: error: 'isnan' was not declared in this scope; did you mean 'std::isnan'?
  243 |         bool thisnan = isnan(at(indices));
      |                        ~~~~~^~~~~~~~~~~~~
      |                        std::isnan
In file included from /usr/include/c++/9/complex:44,
                 from bazel-out/k8-opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/interpreter_value.h:19,
                 from tensorflow/compiler/xla/mlir_hlo/tools/mlir_interpreter/framework/tests/interpreter_value_test.cc:16:
/usr/include/c++/9/cmath:632:5: note: 'std::isnan' declared here
  632 |     isnan(_Tp __x)
      |     ^~~~~
In file included from bazel-out/k8-opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/interpreter_value.h:34,
                 from tensorflow/compiler/xla/mlir_hlo/tools/mlir_interpreter/framework/tests/interpreter_value_test.cc:16:
bazel-out/k8-opt/bin/tensorflow/compiler/xla/mlir_hlo/_virtual_includes/mlir_interpreter_framework/tools/mlir_interpreter/framework/tensor_or_memref.h:244:30: error: 'isnan' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  244 |         bool othernan = isnan(other.at(indices));

```