home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / SoundAndMusic / cmix / lib / temp < prev    next >
Text File  |  1990-08-22  |  468b  |  26 lines

  1. # 1 "buzz.c"
  2.  
  3.  
  4. float buzz(amp,si,hn,f,phs)
  5. float amp,si,hn,*f,*phs;
  6. {
  7.     register j,k;
  8.     float q,d,h2n,h2np1;
  9.     j = *phs;
  10.     k = (j+1) % 1024;
  11.     h2n = 2. * hn; 
  12.     h2np1 = h2n + 1.; 
  13.     q = (int)((*phs - (float)j) * h2np1)/h2np1;
  14.     d = *(f+j);
  15.     d += (*(f+k)-d)*q;
  16.     if(((d < 0) ? (-d) : (d))  < .1e-07 ) q = amp;
  17.           else { 
  18.         k = (long)(h2np1 * *phs) % 1024;
  19.         q = amp * (*(f+k)/d - 1.)/h2n;
  20.         } 
  21.     *phs += si;
  22.     while(*phs >= 1024.)  
  23.         *phs -= 1024.;
  24.     return(q);
  25. }
  26.