Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 13828)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 13829)
@@ -192,4 +192,5 @@
 					./shared/Numerics/cross.cpp\
 					./shared/Numerics/isnan.h\
+					./shared/Numerics/isnan.cpp\
 					./shared/Numerics/cubic.cpp\
 					./shared/Numerics/extrema.cpp\
Index: /issm/trunk-jpl/src/c/shared/Numerics/isnan.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/isnan.cpp	(revision 13829)
+++ /issm/trunk-jpl/src/c/shared/Numerics/isnan.cpp	(revision 13829)
@@ -0,0 +1,16 @@
+/*This routine only used by Intel compler: */
+
+#ifdef HAVE_CONFIG_H
+   #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include "../../include/include.h"
+#include "isnan.h"
+
+#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
+template <> int xIsNan<adouble> (const adouble& X) {
+  return isnan(X.getValue());
+}
+#endif
Index: /issm/trunk-jpl/src/c/shared/Numerics/isnan.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 13828)
+++ /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 13829)
@@ -5,4 +5,5 @@
 #ifndef _XISNAN_H_
 #define _XISNAN_H_
+
 
 #ifdef HAVE_CONFIG_H
@@ -24,7 +25,5 @@
 
 #if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
-template <> int xIsNan<adouble> (const adouble& X) {
-  return isnan(X.getValue());
-}
+template <> int xIsNan<adouble> (const adouble& X);
 #endif
 
