home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 08 / praxis / inteparm.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-03-06  |  1.5 KB  |  86 lines

  1. #include <stdio.h>
  2. /* #include <conio.h> */
  3. #include <math.h>
  4. #include <timer.h>
  5.  
  6. #include <sema.h>
  7. #include <par.h>
  8. #include <chan.h>
  9. #include <net.h>
  10. #include <thread.h>
  11.  
  12.  
  13. #define PI 3.1415926536
  14. #define UNEND 1e4
  15. #define INTERVALLE 20000
  16. #define FVEKSIZE 3
  17.  
  18.  
  19. /* Globale Vars */
  20. int fertig;
  21. char *Workspace;
  22.  
  23.  
  24. /* Überlappmatrix */
  25. double S[FVEKSIZE][FVEKSIZE];
  26.  
  27.  
  28. /* Nachrichtenstruktur */
  29. struct Nachr{
  30.         int MatZeilenNr;
  31.         double MatZeile[FVEKSIZE];
  32.         }   Nachricht;
  33.  
  34. /* Verschicken der Matrixzeile */
  35. void Senden(){
  36.   int i;
  37.   for( i = 0; i < FVEKSIZE; i++)
  38.     net_send(sizeof(int),&i,1);
  39. }
  40.  
  41.  
  42. void Empfangen(){
  43.   int i,j,Zeile;
  44.  
  45.   for( i = 0; i < FVEKSIZE; i++){
  46.     net_receive(&Nachricht,&j);
  47.     Zeile = Nachricht.MatZeilenNr;
  48.     for(j = 0; j < FVEKSIZE; j++)
  49.       S[Zeile][j] = Nachricht.MatZeile[j];
  50.    }
  51.    fertig = 1;
  52. }
  53.  
  54.  
  55. main(){
  56.   int i,j,zeit;
  57.  
  58.   zeit = time(0);
  59.   fertig = 0;
  60.  
  61.   /* Senden starten */
  62.   Workspace = calloc(1,10000);
  63.   thread_start(Senden,Workspace,10000,THREAD_URGENT,0);
  64.  
  65.   /* Empfangen starten */
  66.   Workspace = calloc(1,10000);
  67.   thread_start(Empfangen,Workspace,10000,THREAD_URGENT,0);
  68.  
  69.  
  70.   /* ------ */
  71.   while(!fertig) thread_deschedule();
  72.  
  73.   printf("\n\nUeberlappmatrix\n\n");
  74.   for( i = 0; i < FVEKSIZE; i++){
  75.     for (j = 0; j < FVEKSIZE; j++){
  76.       printf("%e   ",S[i][j]);
  77.     }
  78.     printf("\n");
  79.   }
  80.   printf("\n\n");
  81.  
  82. /*  getch(); */
  83.   printf("Zeitverbrauch = %d\n\n",time(0)-zeit);
  84.   return(0);
  85. }
  86.