void emxInit_real_T(emxArray_real_T **pEmxArray, int32_T numDimensions, const emlrtRTEInfo *srcLocation, boolean_T doPush) { emxArray_real_T *emxArray; int32_T i; *pEmxArray = (emxArray_real_T *)emlrtMallocMex(sizeof(emxArray_real_T)); if ((void *)*pEmxArray == NULL) { emlrtHeapAllocationErrorR2012b(srcLocation, emlrtRootTLSGlobal); } if (doPush) { emlrtPushHeapReferenceStackR2012b(emlrtRootTLSGlobal, (void *)pEmxArray, (void (*)(void *))emxFree_real_T); } emxArray = *pEmxArray; emxArray->data = (real_T *)NULL; emxArray->numDimensions = numDimensions; emxArray->size = (int32_T *)emlrtMallocMex((uint32_T)(sizeof(int32_T) * numDimensions)); if ((void *)emxArray->size == NULL) { emlrtHeapAllocationErrorR2012b(srcLocation, emlrtRootTLSGlobal); } emxArray->allocatedSize = 0; emxArray->canFreeData = TRUE; for (i = 0; i < numDimensions; i++) { emxArray->size[i] = 0; } }
/* Function Definitions */ void b_emxInit_boolean_T(const emlrtStack *sp, emxArray_boolean_T **pEmxArray, int32_T numDimensions, const emlrtRTEInfo *srcLocation, boolean_T doPush) { emxArray_boolean_T *emxArray; int32_T i; *pEmxArray = (emxArray_boolean_T *)emlrtMallocMex(sizeof(emxArray_boolean_T)); if ((void *)*pEmxArray == NULL) { emlrtHeapAllocationErrorR2012b((emlrtRTEInfo *)srcLocation, sp); } if (doPush) { emlrtPushHeapReferenceStackR2012b(sp, (void *)pEmxArray, (void (*)(void *)) emxFree_boolean_T); } emxArray = *pEmxArray; emxArray->data = (boolean_T *)NULL; emxArray->numDimensions = numDimensions; emxArray->size = (int32_T *)emlrtMallocMex((uint32_T)(sizeof(int32_T) * numDimensions)); if ((void *)emxArray->size == NULL) { emlrtHeapAllocationErrorR2012b((emlrtRTEInfo *)srcLocation, sp); } emxArray->allocatedSize = 0; emxArray->canFreeData = true; for (i = 0; i < numDimensions; i++) { emxArray->size[i] = 0; } }
void emxEnsureCapacity(emxArray__common *emxArray, int32_T oldNumel, int32_T elementSize, const emlrtRTEInfo *srcLocation) { int32_T newNumel; int32_T i; void *newData; newNumel = 1; for (i = 0; i < emxArray->numDimensions; i++) { newNumel = (int32_T)emlrtSizeMulR2012b((uint32_T)newNumel, (uint32_T) emxArray->size[i], srcLocation, emlrtRootTLSGlobal); } if (newNumel > emxArray->allocatedSize) { i = emxArray->allocatedSize; if (i < 16) { i = 16; } while (i < newNumel) { i = (int32_T)emlrtSizeMulR2012b((uint32_T)i, 2U, srcLocation, emlrtRootTLSGlobal); } newData = emlrtCallocMex((uint32_T)i, (uint32_T)elementSize); if (newData == NULL) { emlrtHeapAllocationErrorR2012b(srcLocation, emlrtRootTLSGlobal); } if (emxArray->data != NULL) { memcpy(newData, emxArray->data, (uint32_T)(elementSize * oldNumel)); if (emxArray->canFreeData) { emlrtFreeMex(emxArray->data); } } emxArray->data = newData; emxArray->allocatedSize = i; emxArray->canFreeData = TRUE; } }