File: matlabfindpeaks_emxutil.c

    1   /*
    2    * File: matlabfindpeaks_emxutil.c
    3    *
    4    * MATLAB Coder version            : 3.1
    5    * C/C++ source code generated on  : 22-Apr-2021 15:58:03
    6    */
    7   
    8   /* Include Files */
    9   #include "rt_nonfinite.h"
   10   #include "matlabfindpeaks.h"
   11   #include "matlabfindpeaks_emxutil.h"
   12   
   13   /* Function Definitions */
   14   
   15   /*
   16    * Arguments    : emxArray__common *emxArray
   17    *                int oldNumel
   18    *                int elementSize
   19    * Return Type  : void
   20    */
   21   void emxEnsureCapacity(emxArray__common *emxArray, int oldNumel, int elementSize)
   22   {
   23     int newNumel;
   24     int i;
   25     void *newData;
   26     newNumel = 1;
   27     for (i = 0; i < emxArray->numDimensions; i++) {
   28       newNumel *= emxArray->size[i];
   29     }
   30   
   31     if (newNumel > emxArray->allocatedSize) {
   32       i = emxArray->allocatedSize;
   33       if (i < 16) {
   34         i = 16;
   35       }
   36   
   37       while (i < newNumel) {
   38         if (i > 1073741823) {
   39           i = MAX_int32_T;
   40         } else {
   41           i <<= 1;
   42         }
   43       }
   44   
   45       newData = calloc((unsigned int)i, (unsigned int)elementSize);
   46       if (emxArray->data != NULL) {
   47         memcpy(newData, emxArray->data, (unsigned int)(elementSize * oldNumel));
   48         if (emxArray->canFreeData) {
   49           free(emxArray->data);
   50         }
   51       }
   52   
   53       emxArray->data = newData;
   54       emxArray->allocatedSize = i;
   55       emxArray->canFreeData = true;
   56     }
   57   }
   58   
   59   /*
   60    * Arguments    : emxArray_boolean_T **pEmxArray
   61    * Return Type  : void
   62    */
   63   void emxFree_boolean_T(emxArray_boolean_T **pEmxArray)
   64   {
   65     if (*pEmxArray != (emxArray_boolean_T *)NULL) {
   66       if (((*pEmxArray)->data != (boolean_T *)NULL) && (*pEmxArray)->canFreeData)
   67       {
   68         free((void *)(*pEmxArray)->data);
   69       }
   70   
   71       free((void *)(*pEmxArray)->size);
   72       free((void *)*pEmxArray);
   73       *pEmxArray = (emxArray_boolean_T *)NULL;
   74     }
   75   }
   76   
   77   /*
   78    * Arguments    : emxArray_int32_T **pEmxArray
   79    * Return Type  : void
   80    */
   81   void emxFree_int32_T(emxArray_int32_T **pEmxArray)
   82   {
   83     if (*pEmxArray != (emxArray_int32_T *)NULL) {
   84       if (((*pEmxArray)->data != (int *)NULL) && (*pEmxArray)->canFreeData) {
   85         free((void *)(*pEmxArray)->data);
   86       }
   87   
   88       free((void *)(*pEmxArray)->size);
   89       free((void *)*pEmxArray);
   90       *pEmxArray = (emxArray_int32_T *)NULL;
   91     }
   92   }
   93   
   94   /*
   95    * Arguments    : emxArray_real_T **pEmxArray
   96    * Return Type  : void
   97    */
   98   void emxFree_real_T(emxArray_real_T **pEmxArray)
   99   {
  100     if (*pEmxArray != (emxArray_real_T *)NULL) {
  101       if (((*pEmxArray)->data != (double *)NULL) && (*pEmxArray)->canFreeData) {
  102         free((void *)(*pEmxArray)->data);
  103       }
  104   
  105       free((void *)(*pEmxArray)->size);
  106       free((void *)*pEmxArray);
  107       *pEmxArray = (emxArray_real_T *)NULL;
  108     }
  109   }
  110   
  111   /*
  112    * Arguments    : emxArray_boolean_T **pEmxArray
  113    *                int numDimensions
  114    * Return Type  : void
  115    */
  116   void emxInit_boolean_T(emxArray_boolean_T **pEmxArray, int numDimensions)
  117   {
  118     emxArray_boolean_T *emxArray;
  119     int i;
  120     *pEmxArray = (emxArray_boolean_T *)malloc(sizeof(emxArray_boolean_T));
  121     emxArray = *pEmxArray;
  122     emxArray->data = (boolean_T *)NULL;
  123     emxArray->numDimensions = numDimensions;
  124     emxArray->size = (int *)malloc((unsigned int)(sizeof(int) * numDimensions));
  125     emxArray->allocatedSize = 0;
  126     emxArray->canFreeData = true;
  127     for (i = 0; i < numDimensions; i++) {
  128       emxArray->size[i] = 0;
  129     }
  130   }
  131   
  132   /*
  133    * Arguments    : emxArray_int32_T **pEmxArray
  134    *                int numDimensions
  135    * Return Type  : void
  136    */
  137   void emxInit_int32_T(emxArray_int32_T **pEmxArray, int numDimensions)
  138   {
  139     emxArray_int32_T *emxArray;
  140     int i;
  141     *pEmxArray = (emxArray_int32_T *)malloc(sizeof(emxArray_int32_T));
  142     emxArray = *pEmxArray;
  143     emxArray->data = (int *)NULL;
  144     emxArray->numDimensions = numDimensions;
  145     emxArray->size = (int *)malloc((unsigned int)(sizeof(int) * numDimensions));
  146     emxArray->allocatedSize = 0;
  147     emxArray->canFreeData = true;
  148     for (i = 0; i < numDimensions; i++) {
  149       emxArray->size[i] = 0;
  150     }
  151   }
  152   
  153   /*
  154    * Arguments    : emxArray_real_T **pEmxArray
  155    *                int numDimensions
  156    * Return Type  : void
  157    */
  158   void emxInit_real_T(emxArray_real_T **pEmxArray, int numDimensions)
  159   {
  160     emxArray_real_T *emxArray;
  161     int i;
  162     *pEmxArray = (emxArray_real_T *)malloc(sizeof(emxArray_real_T));
  163     emxArray = *pEmxArray;
  164     emxArray->data = (double *)NULL;
  165     emxArray->numDimensions = numDimensions;
  166     emxArray->size = (int *)malloc((unsigned int)(sizeof(int) * numDimensions));
  167     emxArray->allocatedSize = 0;
  168     emxArray->canFreeData = true;
  169     for (i = 0; i < numDimensions; i++) {
  170       emxArray->size[i] = 0;
  171     }
  172   }
  173   
  174   /*
  175    * Arguments    : emxArray_real_T **pEmxArray
  176    *                int numDimensions
  177    * Return Type  : void
  178    */
  179   void emxInit_real_T1(emxArray_real_T **pEmxArray, int numDimensions)
  180   {
  181     emxArray_real_T *emxArray;
  182     int i;
  183     *pEmxArray = (emxArray_real_T *)malloc(sizeof(emxArray_real_T));
  184     emxArray = *pEmxArray;
  185     emxArray->data = (double *)NULL;
  186     emxArray->numDimensions = numDimensions;
  187     emxArray->size = (int *)malloc((unsigned int)(sizeof(int) * numDimensions));
  188     emxArray->allocatedSize = 0;
  189     emxArray->canFreeData = true;
  190     for (i = 0; i < numDimensions; i++) {
  191       emxArray->size[i] = 0;
  192     }
  193   }
  194   
  195   /*
  196    * File trailer for matlabfindpeaks_emxutil.c
  197    *
  198    * [EOF]
  199    */
  200