TSP: The Transport Sample Protocol



Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

calc_func.c

Go to the documentation of this file.
00001 
00039 #include <math.h>
00040 
00041 
00042 /* return nice value for plotting */
00043 double calc_func (int index, double my_time)
00044 {
00045   double ret=0;
00046   static double mem=0;
00047   if ( index == 0)
00048     ret = index;
00049   else
00050     {
00051       int module = index % 10;
00052       double tmp, t = (my_time + index)/100.0;
00053       int n = (int)t;
00054       double r = t-n;
00055 
00056       switch (module)
00057         {
00058         case 0: 
00059           ret = cos (t); 
00060           break;
00061         case 1: 
00062           ret = sin (t); 
00063           break;
00064         case 2: 
00065           /* FIXME : the rand function is not MT-safe for SUN */
00066           /*tmp = (double)rand()/65535;
00067           ret = 10*tmp+mem/10.0; 
00068           if (n%20>=10) mem += tmp/100.0; else mem -= tmp/100.0;
00069           if (n%500==0) mem = 0;*/
00070           ret = sin(t);
00071           ret = ( ret > 0 ? ret : 1+ret); 
00072           break;
00073         case 3:  
00074           ret = log (n%10+r+1); 
00075           break;
00076         case 4: 
00077           ret = exp (r+(double)(n%10)); 
00078           break;
00079         case 5: 
00080           ret = module*(n%20-10)*r; 
00081           break;
00082         case 6: 
00083           ret = cos(t)* (n%100); 
00084           break;
00085         case 7: 
00086           ret = 100*(n%10); 
00087           break;
00088         case 8: 
00089           if (n%10>=5)
00090             ret = 1;
00091           else
00092             ret = -1;
00093           break;
00094         case 9: 
00095           ret = sin(t)*(n%20)+cos(t)*(n%20); 
00096           break;
00097         default:
00098           ret = -1;
00099         }
00100     }
00101   return ret;
00102 }           
Framework Home Page.

Beware !! TSP wave is coming...