Keir Mierle
58ede2772e
Add a portable floating point classification API
...
Ceres has traditionally battled with portability issues
when trying to classify floating point values as one
type or another. For example, in C99 'isnan' is a
macro. Since it is a macro, it is impossible to
override the name in other namespaces.
Instead of trying to use preprocessor hacks to work
around the issue, define our own set of camel-case
names for use internally and by Ceres clients. For
example do this:
template<typename T>
void MyFunction(T x, T y) {
if (ceres::IsNaN(x)) {
...
}
}
instead of using "isnan" or "std::isnan". Note that
while GCC and Apple GCC both import 'isnan' into
the std namespace, it is not standard until C++11
which Ceres will not require for some years.
Change-Id: Ibcc96a8bb4ba63aa67cbbc58658b2e5671cd5824
2012-06-24 17:42:53 -07:00
..
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-12 07:29:10 -07:00
2012-06-24 17:42:53 -07:00
2012-05-12 07:29:10 -07:00
2012-04-30 23:09:08 -07:00
2012-06-18 11:08:20 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-08 05:39:32 -07:00
2012-05-07 06:39:56 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-05 18:06:00 -07:00
2012-04-30 23:09:08 -07:00
2012-06-05 18:06:00 -07:00
2012-04-30 23:09:08 -07:00
2012-05-08 17:40:16 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-07 06:39:56 -07:00
2012-05-07 06:39:56 -07:00
2012-05-30 21:50:32 -07:00
2012-06-24 11:38:00 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-06 22:02:17 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-14 02:28:05 -07:00
2012-06-06 22:02:17 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-24 17:42:53 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-14 02:28:05 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-05-08 17:40:16 -07:00
2012-05-08 17:40:16 -07:00
2012-04-30 23:09:08 -07:00
2012-05-14 02:28:05 -07:00
2012-06-11 22:16:02 -07:00
2012-06-11 22:16:02 -07:00
2012-04-30 23:09:08 -07:00
2012-05-07 06:39:56 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-06 16:08:22 -07:00
2012-05-06 16:08:22 -07:00
2012-04-30 23:09:08 -07:00
2012-05-30 21:50:32 -07:00
2012-05-14 02:28:05 -07:00
2012-05-14 02:28:05 -07:00
2012-05-14 02:28:05 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-14 02:28:05 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-24 17:42:53 -07:00
2012-06-18 11:17:52 -07:00
2012-06-11 22:16:02 -07:00
2012-06-11 13:38:24 -07:00
2012-04-30 23:09:08 -07:00
2012-06-18 11:17:52 -07:00
2012-05-08 17:40:16 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-29 19:44:43 -07:00
2012-06-06 22:02:17 -07:00
2012-06-24 17:42:53 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-18 00:49:58 -07:00
2012-06-18 00:49:58 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-12 07:29:10 -07:00
2012-04-30 23:09:08 -07:00
2012-05-05 20:33:16 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-22 20:44:52 -07:00
2012-06-19 00:09:53 -07:00
2012-06-19 00:09:53 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-12 07:29:10 -07:00
2012-05-12 07:29:10 -07:00
2012-05-12 07:29:10 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-24 17:42:53 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-29 19:44:43 -07:00
2012-06-06 22:37:33 -07:00
2012-06-06 22:02:17 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-19 00:09:53 -07:00
2012-06-19 00:09:53 -07:00
2012-06-19 00:09:53 -07:00
2012-06-19 00:09:53 -07:00
2012-04-30 23:09:08 -07:00
2012-05-08 17:40:16 -07:00
2012-06-06 22:37:33 -07:00
2012-06-06 22:02:17 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-06-14 06:59:46 -07:00
2012-06-15 15:02:23 -07:00
2012-06-06 22:02:17 -07:00
2012-05-14 02:28:05 -07:00
2012-06-18 00:49:58 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-05-08 17:40:16 -07:00
2012-05-08 17:40:16 -07:00
2012-06-12 23:32:34 -07:00
2012-06-18 00:49:58 -07:00
2012-06-18 00:49:58 -07:00
2012-06-11 22:16:02 -07:00
2012-06-15 14:36:27 -07:00
2012-06-11 22:16:02 -07:00
2012-06-06 22:02:17 -07:00
2012-05-14 02:28:05 -07:00
2012-06-11 11:50:43 -07:00
2012-05-30 21:50:32 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00
2012-04-30 23:09:08 -07:00