6 Replies Latest reply on May 18, 2016 10:24 AM by user_1377889

    PSoC5 malloc matrix

    mathias.mettauer_1574971

      Hello

         

      I try to use matrices in PSoC5. Therefore I found good basic routines to work with matrices. But I get a allocation failure when I try to allocate a 4x4 double matrix. Do anyone know what I have to improve to that?

         

      Here the code to allocate the matrix:

         

      /*Allocate a double matrix with subscript range m[nrl..nrh][ncl..nch]*/

         

      double **matrix(long nrl, long nrh, long ncl, long nch)
      {
          long i, nrow=nrh-nrl+1,ncol=nch-ncl+1;
          double **m;

         

          /* allocate pointers to rows */
          m=(double **) malloc((size_t)((nrow+NR_END)*sizeof(double*)));
          if (!m) pr_error("allocation failure 1 in LINALG_dmatrix()");
          m += NR_END;
          m -= nrl;

         

          /* allocate rows and set pointers to them */
          m[nrl]=(double *) malloc((size_t)((nrow*ncol+NR_END)*sizeof(double)));
          if (!m[nrl]) pr_error("allocation failure 2 in LINALG_dmatrix()");
          m[nrl] += NR_END;
          m[nrl] -= ncl;

         

          for(i=nrl+1;i<=nrh;i++) m[i]=m[i-1]+ncol;

         

          /* return pointer to array of pointers to rows */
          return m;
      }