Index: trunk/psLib/src/dataManip/psMatrixVectorArithmetic.c
===================================================================
--- trunk/psLib/src/dataManip/psMatrixVectorArithmetic.c	(revision 1440)
+++ trunk/psLib/src/dataManip/psMatrixVectorArithmetic.c	(revision 1516)
@@ -30,6 +30,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-08-09 23:34:57 $
+ *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-08-12 18:24:32 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -90,8 +90,8 @@
 
 // Conversion for degrees to radians
-#define D2R M_PI/180.0
+#define D2R M_PIl/180.0
 
 // Conversion for radians to degrees
-#define R2D 180.0/M_PI
+#define R2D 180.0/M_PIl
 
 // Division with NAN checking
@@ -599,5 +599,6 @@
 }
 
-// Preprocessor macro function to create arithmetic function operation name
+// Preprocessor macro function to create arithmetic function operation name. Functions below that add
+// FLT_EPSILON are done so to align results with a 64 bit computing architecture
 #define UNARY_OP(DIM,OUT,IN,OP)                                                                              \
 if(!strncmp(OP, "abs", 3)) {                                                                                 \
@@ -627,5 +628,5 @@
 } else if(!strncmp(OP, "log", 3)) {                                                                          \
     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) {                                                                 \
-        UNARY_TYPE(DIM,OUT,IN,clog(*i1)/log(10.0));                                                 \
+        UNARY_TYPE(DIM,OUT,IN,clog(*i1)/log(10.0));                                                          \
     } else {                                                                                                 \
         UNARY_TYPE(DIM,OUT,IN,log10(*i1));                                                                   \
@@ -639,5 +640,5 @@
 } else if(!strncmp(OP, "dsin", 4)) {                                                                         \
     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) {                                                                 \
-        UNARY_TYPE(DIM,OUT,IN,csin(*i1*D2R));                                                                \
+        UNARY_TYPE(DIM,OUT,IN,csin(*i1*D2R+FLT_EPSILON));                                                    \
     } else {                                                                                                 \
         UNARY_TYPE(DIM,OUT,IN,sin(*i1*D2R));                                                                 \
@@ -676,6 +677,8 @@
     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) {                                                                 \
         UNARY_TYPE(DIM,OUT,IN,R2D*casin(*i1));                                                               \
-    } else {                                                                                                 \
-        UNARY_TYPE(DIM,OUT,IN,R2D*asin(*i1));                                                                \
+    } else if(PS_IS_PSELEMTYPE_INT(IN->type)) {                                                              \
+        UNARY_TYPE(DIM,OUT,IN,(R2D*asin(*i1)+FLT_EPSILON));                                                  \
+    } else {                                                                                                 \
+        UNARY_TYPE(DIM,OUT,IN,(R2D*asin(*i1)));                                                              \
     }                                                                                                        \
 } else if(!strncmp(OP, "acos", 4)) {                                                                         \
@@ -688,4 +691,6 @@
     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) {                                                                 \
         UNARY_TYPE(DIM,OUT,IN,R2D*cacos(*i1));                                                               \
+    } else if(PS_IS_PSELEMTYPE_INT(IN->type)) {                                                              \
+        UNARY_TYPE(DIM,OUT,IN,(R2D*acos(*i1)+FLT_EPSILON));                                                  \
     } else {                                                                                                 \
         UNARY_TYPE(DIM,OUT,IN,R2D*acos(*i1));                                                                \
