Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 #include "arith.h"
00006 
00007 REAL sdot(n,sx,isx,jsx,incx,sy,isy,jsy,incy)
00008 int n,incx,incy,isx,jsx,isy,jsy;
00009 MATRIX sx,sy;
00010 {
00011     REAL stemp;
00012     int i,ix,iy,m;
00013 
00014     stemp=0.0;
00015 
00016     if(n <= 0)
00017         return;
00018 
00019     if((incx != 1) || (incy != 1)){
00020 
00021         
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039     }
00040 
00041     
00042 
00043     
00044 
00045     m=n%5;
00046     if(m != 0){
00047         for(i=0; i<m; i++)
00048             stemp= stemp+sx[isx+i][jsx]*sy[isy+i][jsy];
00049     }
00050     if((m == 0) || (n >= 5)){
00051         for(i=m; i<n; i += 5)
00052             stemp= stemp+sx[isx+i][jsx]*sy[isy+i][jsy]
00053                         +sx[isx+i+1][jsx]*sy[isy+i+1][jsy]
00054                         +sx[isx+i+2][jsx]*sy[isy+i+2][jsy]
00055                         +sx[isx+i+3][jsx]*sy[isy+i+3][jsy]
00056                         +sx[isx+i+4][jsx]*sy[isy+i+4][jsy];
00057     }
00058 
00059     return(stemp);
00060 }
00061 
00062 
00063 
00064 
00065