[PD-cvs] externals/iem/iem_matrix/src matrix_diag_mul_line8~.c, 1.2, 1.3 matrix_diag_mul_line~.c, 1.2, 1.3 matrix_diag_mul_stat~.c, 1.2, 1.3

musil tmusil at users.sourceforge.net
Fri Jun 22 17:46:20 CEST 2007


Update of /cvsroot/pure-data/externals/iem/iem_matrix/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32571/iem/iem_matrix/src

Modified Files:
	matrix_diag_mul_line8~.c matrix_diag_mul_line~.c 
	matrix_diag_mul_stat~.c 
Log Message:
new date &
debugging of input buffering

Index: matrix_diag_mul_stat~.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iem_matrix/src/matrix_diag_mul_stat~.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** matrix_diag_mul_stat~.c	14 Dec 2006 20:09:35 -0000	1.2
--- matrix_diag_mul_stat~.c	22 Jun 2007 15:46:18 -0000	1.3
***************
*** 2,6 ****
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2006 */
  
  #include "m_pd.h"
--- 2,6 ----
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2007 */
  
  #include "m_pd.h"
***************
*** 79,85 ****
    t_float *mat = x->x_matbuf;
    int n_io = x->x_n_io;
!   int hn_io = n_io / 2;
!   int dn_io = 2 * n_io;
!   t_float *in, *out1, *out2, mul;
    int i, j;
    
--- 79,83 ----
    t_float *mat = x->x_matbuf;
    int n_io = x->x_n_io;
!   t_float *in, *out, mul;
    int i, j;
    
***************
*** 89,111 ****
      in = io[j];
      for(i=0; i<n; i++)
!     {
!       in[i] *= mul;
!     }
    }
!   for(j=0; j<hn_io; j++)
    {
!     in = io[j];
!     for(i=0; i<n; i++)
!     {
!       buf[i] = in[i];
!     }
!     in = io[n_io-j-1];
!     out1 = io[j+n_io];
!     out2 = io[dn_io-j-1];
      for(i=0; i<n; i++)
!     {
!       out1[i] = in[i];
!       out2[i] = buf[i];
!     }
    }
    return (w+3);
--- 87,99 ----
      in = io[j];
      for(i=0; i<n; i++)
!       *buf++ = in[i] * mul;
    }
! 
!   buf = x->x_buf;
!   for(j=0; j<n_io; j++)
    {
!     out = io[j+n_io];
      for(i=0; i<n; i++)
!       out[i] = *buf++;
    }
    return (w+3);
***************
*** 117,126 ****
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf;
    t_float *mat = x->x_matbuf;
    int n_io = x->x_n_io;
!   int hn_io = n_io / 2;
!   int dn_io = 2 * n_io;
!   t_float *in, *out1, *out2, mul;
    int i, j;
    
--- 105,112 ----
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf = x->x_buf;
    t_float *mat = x->x_matbuf;
    int n_io = x->x_n_io;
!   t_float *in, *out, mul;
    int i, j;
    
***************
*** 129,181 ****
      mul = mat[j];
      in = io[j];
!     for(i=n; i; i -= 8, in += 8)
      {
!       in[0] *= mul;
!       in[1] *= mul;
!       in[2] *= mul;
!       in[3] *= mul;
!       in[4] *= mul;
!       in[5] *= mul;
!       in[6] *= mul;
!       in[7] *= mul;
      }
    }
!   for(j=0; j<hn_io; j++)
    {
!     in = io[j];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8)
!     {
!       buf[0] = in[0];
!       buf[1] = in[1];
!       buf[2] = in[2];
!       buf[3] = in[3];
!       buf[4] = in[4];
!       buf[5] = in[5];
!       buf[6] = in[6];
!       buf[7] = in[7];
!     }
!     in = io[n_io-j-1];
!     out1 = io[j+n_io];
!     out2 = io[dn_io-j-1];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8, out1 += 8, out2 += 8)
      {
!       out2[0] = in[0];
!       out2[1] = in[1];
!       out2[2] = in[2];
!       out2[3] = in[3];
!       out2[4] = in[4];
!       out2[5] = in[5];
!       out2[6] = in[6];
!       out2[7] = in[7];
!       out1[0] = buf[0];
!       out1[1] = buf[1];
!       out1[2] = buf[2];
!       out1[3] = buf[3];
!       out1[4] = buf[4];
!       out1[5] = buf[5];
!       out1[6] = buf[6];
!       out1[7] = buf[7];
      }
    }
--- 115,145 ----
      mul = mat[j];
      in = io[j];
!     for(i=n; i; i -= 8, in += 8, buf += 8)
      {
!       buf[0] = in[0] * mul;
!       buf[1] = in[1] * mul;
!       buf[2] = in[2] * mul;
!       buf[3] = in[3] * mul;
!       buf[4] = in[4] * mul;
!       buf[5] = in[5] * mul;
!       buf[6] = in[6] * mul;
!       buf[7] = in[7] * mul;
      }
    }
! 
!   buf = x->x_buf;
!   for(j=0; j<n_io; j++)
    {
!     out = io[j+n_io];
!     for(i=n; i; i -= 8, buf += 8, out += 8)
      {
!       out[0] = buf[0];
!       out[1] = buf[1];
!       out[2] = buf[2];
!       out[3] = buf[3];
!       out[4] = buf[4];
!       out[5] = buf[5];
!       out[6] = buf[6];
!       out[7] = buf[7];
      }
    }
***************
*** 186,199 ****
  {
    int i, n=sp[0]->s_n;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = n;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != n)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), n*sizeof(t_float));
!     x->x_bufsize = n;
    }
    
--- 150,164 ----
  {
    int i, n=sp[0]->s_n;
+   int bufsize = sp[0]->s_n*x->x_n_io;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = bufsize;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != bufsize)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), bufsize*sizeof(t_float));
!     x->x_bufsize = bufsize;
    }
    
***************
*** 202,206 ****
    {
      x->x_io[i] = sp[i]->s_vec;
!     //    post("iovec_addr = %d", (unsigned int)x->x_io[i]);
    }
    
--- 167,171 ----
    {
      x->x_io[i] = sp[i]->s_vec;
! //    post("iovec_addr = %d", (unsigned int)x->x_io[i]);
    }
    

Index: matrix_diag_mul_line~.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iem_matrix/src/matrix_diag_mul_line~.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** matrix_diag_mul_line~.c	14 Dec 2006 20:09:35 -0000	1.2
--- matrix_diag_mul_line~.c	22 Jun 2007 15:46:18 -0000	1.3
***************
*** 2,6 ****
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2006 */
  
  #include "m_pd.h"
--- 2,6 ----
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2007 */
  
  #include "m_pd.h"
***************
*** 160,170 ****
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf;
    t_float *matcur, *matend;
    t_float *incp, *biginc, inc;
    int n_io = x->x_n_io;
!   int hn_io = n_io / 2;
!   int dn_io = 2 * n_io;
!   t_float *in, *out1, *out2, mul;
    int i, j;
    
--- 160,168 ----
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf=x->x_buf;
    t_float *matcur, *matend;
    t_float *incp, *biginc, inc;
    int n_io = x->x_n_io;
!   t_float *in, *out, mul;
    int i, j;
    
***************
*** 207,227 ****
        mul = matcur[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8)
        {
!         in[0] *= mul;
          mul += inc;
!         in[1] *= mul;
          mul += inc;
!         in[2] *= mul;
          mul += inc;
!         in[3] *= mul;
          mul += inc;
!         in[4] *= mul;
          mul += inc;
!         in[5] *= mul;
          mul += inc;
!         in[6] *= mul;
          mul += inc;
!         in[7] *= mul;
          mul += inc;
        }
--- 205,225 ----
        mul = matcur[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8, buf += 8)
        {
!         buf[0] = in[0] * mul;
          mul += inc;
!         buf[1] = in[1] * mul;
          mul += inc;
!         buf[2] = in[2] * mul;
          mul += inc;
!         buf[3] = in[3] * mul;
          mul += inc;
!         buf[4] = in[4] * mul;
          mul += inc;
!         buf[5] = in[5] * mul;
          mul += inc;
!         buf[6] = in[6] * mul;
          mul += inc;
!         buf[7] = in[7] * mul;
          mul += inc;
        }
***************
*** 244,298 ****
        mul = matend[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8)
        {
!         in[0] *= mul;
!         in[1] *= mul;
!         in[2] *= mul;
!         in[3] *= mul;
!         in[4] *= mul;
!         in[5] *= mul;
!         in[6] *= mul;
!         in[7] *= mul;
        }
      }
    }
!   
!   for(j=0; j<hn_io; j++)
    {
!     in = io[j];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8)
!     {
!       buf[0] = in[0];
!       buf[1] = in[1];
!       buf[2] = in[2];
!       buf[3] = in[3];
!       buf[4] = in[4];
!       buf[5] = in[5];
!       buf[6] = in[6];
!       buf[7] = in[7];
!     }
!     in = io[n_io-j-1];
!     out1 = io[j+n_io];
!     out2 = io[dn_io-j-1];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8, out1 += 8, out2 += 8)
      {
!       out2[0] = in[0];
!       out2[1] = in[1];
!       out2[2] = in[2];
!       out2[3] = in[3];
!       out2[4] = in[4];
!       out2[5] = in[5];
!       out2[6] = in[6];
!       out2[7] = in[7];
!       out1[0] = buf[0];
!       out1[1] = buf[1];
!       out1[2] = buf[2];
!       out1[3] = buf[3];
!       out1[4] = buf[4];
!       out1[5] = buf[5];
!       out1[6] = buf[6];
!       out1[7] = buf[7];
      }
    }
--- 242,273 ----
        mul = matend[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8, buf += 8)
        {
!         buf[0] = in[0] * mul;
!         buf[1] = in[1] * mul;
!         buf[2] = in[2] * mul;
!         buf[3] = in[3] * mul;
!         buf[4] = in[4] * mul;
!         buf[5] = in[5] * mul;
!         buf[6] = in[6] * mul;
!         buf[7] = in[7] * mul;
        }
      }
    }
! 
!   buf = x->x_buf;
!   for(j=0; j<n_io; j++)
    {
!     out = io[j+n_io];
!     for(i=n; i; i -= 8, buf += 8, out += 8)
      {
!       out[0] = buf[0];
!       out[1] = buf[1];
!       out[2] = buf[2];
!       out[3] = buf[3];
!       out[4] = buf[4];
!       out[5] = buf[5];
!       out[6] = buf[6];
!       out[7] = buf[7];
      }
    }
***************
*** 303,316 ****
  {
    int i, n=sp[0]->s_n;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = n;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != n)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), n*sizeof(t_float));
!     x->x_bufsize = n;
    }
    
--- 278,292 ----
  {
    int i, n=sp[0]->s_n;
+   int bufsize = sp[0]->s_n*x->x_n_io;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = bufsize;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != bufsize)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), bufsize*sizeof(t_float));
!     x->x_bufsize = bufsize;
    }
    

Index: matrix_diag_mul_line8~.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iem_matrix/src/matrix_diag_mul_line8~.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** matrix_diag_mul_line8~.c	14 Dec 2006 20:09:35 -0000	1.2
--- matrix_diag_mul_line8~.c	22 Jun 2007 15:46:18 -0000	1.3
***************
*** 2,6 ****
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2006 */
  
  #include "m_pd.h"
--- 2,6 ----
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.
  
! iem_matrix written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000 - 2007 */
  
  #include "m_pd.h"
***************
*** 161,171 ****
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf;
    t_float *matcur, *matend;
    t_float *inc8, *biginc, inc;
    int n_io = x->x_n_io;
!   int hn_io = n_io / 2;
!   int dn_io = 2 * n_io;
!   t_float *in, *out1, *out2, mul;
    int i, j;
    
--- 161,169 ----
    int n = (int)(w[2]);
    t_float **io = x->x_io;
!   t_float *buf = x->x_buf;
    t_float *matcur, *matend;
    t_float *inc8, *biginc, inc;
    int n_io = x->x_n_io;
!   t_float *in, *out, mul;
    int i, j;
    
***************
*** 208,221 ****
        mul = matcur[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8)
        {
!         in[0] *= mul;
!         in[1] *= mul;
!         in[2] *= mul;
!         in[3] *= mul;
!         in[4] *= mul;
!         in[5] *= mul;
!         in[6] *= mul;
!         in[7] *= mul;
          mul += inc;
        }
--- 206,219 ----
        mul = matcur[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8, buf += 8)
        {
!         buf[0] = in[0] * mul;
!         buf[1] = in[1] * mul;
!         buf[2] = in[2] * mul;
!         buf[3] = in[3] * mul;
!         buf[4] = in[4] * mul;
!         buf[5] = in[5] * mul;
!         buf[6] = in[6] * mul;
!         buf[7] = in[7] * mul;
          mul += inc;
        }
***************
*** 238,292 ****
        mul = matend[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8)
        {
!         in[0] *= mul;
!         in[1] *= mul;
!         in[2] *= mul;
!         in[3] *= mul;
!         in[4] *= mul;
!         in[5] *= mul;
!         in[6] *= mul;
!         in[7] *= mul;
        }
      }
    }
    
!   for(j=0; j<hn_io; j++)
    {
!     in = io[j];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8)
!     {
!       buf[0] = in[0];
!       buf[1] = in[1];
!       buf[2] = in[2];
!       buf[3] = in[3];
!       buf[4] = in[4];
!       buf[5] = in[5];
!       buf[6] = in[6];
!       buf[7] = in[7];
!     }
!     in = io[n_io-j-1];
!     out1 = io[j+n_io];
!     out2 = io[dn_io-j-1];
!     buf = x->x_buf;
!     for(i=n; i; i -= 8, buf += 8, in += 8, out1 += 8, out2 += 8)
      {
!       out2[0] = in[0];
!       out2[1] = in[1];
!       out2[2] = in[2];
!       out2[3] = in[3];
!       out2[4] = in[4];
!       out2[5] = in[5];
!       out2[6] = in[6];
!       out2[7] = in[7];
!       out1[0] = buf[0];
!       out1[1] = buf[1];
!       out1[2] = buf[2];
!       out1[3] = buf[3];
!       out1[4] = buf[4];
!       out1[5] = buf[5];
!       out1[6] = buf[6];
!       out1[7] = buf[7];
      }
    }
--- 236,267 ----
        mul = matend[j];
        in = io[j];
!       for(i=n; i; i -= 8, in += 8, buf += 8)
        {
!         buf[0] = in[0] * mul;
!         buf[1] = in[1] * mul;
!         buf[2] = in[2] * mul;
!         buf[3] = in[3] * mul;
!         buf[4] = in[4] * mul;
!         buf[5] = in[5] * mul;
!         buf[6] = in[6] * mul;
!         buf[7] = in[7] * mul;
        }
      }
    }
    
!   buf = x->x_buf;
!   for(j=0; j<n_io; j++)
    {
!     out = io[j+n_io];
!     for(i=n; i; i -= 8, buf += 8, out += 8)
      {
!       out[0] = buf[0];
!       out[1] = buf[1];
!       out[2] = buf[2];
!       out[3] = buf[3];
!       out[4] = buf[4];
!       out[5] = buf[5];
!       out[6] = buf[6];
!       out[7] = buf[7];
      }
    }
***************
*** 297,310 ****
  {
    int i, n=sp[0]->s_n;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = n;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != n)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), n*sizeof(t_float));
!     x->x_bufsize = n;
    }
    
--- 272,286 ----
  {
    int i, n=sp[0]->s_n;
+   int bufsize = sp[0]->s_n*x->x_n_io;
    
    if(!x->x_buf)
    {
!     x->x_bufsize = bufsize;
      x->x_buf = (t_float *)getbytes(x->x_bufsize * sizeof(t_float));
    }
!   else if(x->x_bufsize != bufsize)
    {
!     x->x_buf = (t_float *)resizebytes(x->x_buf, x->x_bufsize*sizeof(t_float), bufsize*sizeof(t_float));
!     x->x_bufsize = bufsize;
    }
    





More information about the Pd-cvs mailing list