Lines Matching refs:buffer
7 …ErrorCode PetscChunkBufferCreate(size_t unitbytes, PetscCount expected, PetscChunkBuffer *buffer[]) in PetscChunkBufferCreate() argument
10 PetscCall(PetscNew(buffer)); in PetscChunkBufferCreate()
11 PetscCall(PetscCalloc1(expected * unitbytes, &(*buffer)->array)); in PetscChunkBufferCreate()
12 (*buffer)->size = expected; in PetscChunkBufferCreate()
13 (*buffer)->unitbytes = unitbytes; in PetscChunkBufferCreate()
14 (*buffer)->alloc = expected * unitbytes; in PetscChunkBufferCreate()
18 static PetscErrorCode PetscChunkBufferDuplicate(PetscChunkBuffer *buffer, PetscChunkBuffer *bufferN… in PetscChunkBufferDuplicate() argument
22 PetscCall(PetscCalloc1(buffer->size * buffer->unitbytes, &(*bufferNew)->array)); in PetscChunkBufferDuplicate()
23 PetscCall(PetscMemcpy((*bufferNew)->array, buffer->array, buffer->size * buffer->unitbytes)); in PetscChunkBufferDuplicate()
24 (*bufferNew)->size = buffer->size; in PetscChunkBufferDuplicate()
25 (*bufferNew)->unitbytes = buffer->unitbytes; in PetscChunkBufferDuplicate()
26 (*bufferNew)->alloc = buffer->size * buffer->unitbytes; in PetscChunkBufferDuplicate()
30 static PetscErrorCode PetscChunkBufferDestroy(PetscChunkBuffer **buffer) in PetscChunkBufferDestroy() argument
33 PetscCall(PetscFree((*buffer)->array)); in PetscChunkBufferDestroy()
34 PetscCall(PetscFree(*buffer)); in PetscChunkBufferDestroy()
38 static PetscErrorCode PetscChunkBufferCreateChunk(PetscChunkBuffer *buffer, PetscCount size, PetscC… in PetscChunkBufferCreateChunk() argument
41 if ((buffer->size + size) * buffer->unitbytes > buffer->alloc) { in PetscChunkBufferCreateChunk()
44 if (!buffer->alloc) buffer->alloc = (buffer->size + size) * buffer->unitbytes; in PetscChunkBufferCreateChunk()
45 while ((buffer->size + size) * buffer->unitbytes > buffer->alloc) buffer->alloc *= 2; in PetscChunkBufferCreateChunk()
46 PetscCall(PetscMalloc(buffer->alloc, &tmp)); in PetscChunkBufferCreateChunk()
47 PetscCall(PetscMemcpy(tmp, buffer->array, buffer->size * buffer->unitbytes)); in PetscChunkBufferCreateChunk()
48 PetscCall(PetscFree(buffer->array)); in PetscChunkBufferCreateChunk()
49 buffer->array = tmp; in PetscChunkBufferCreateChunk()
51 chunk->start = buffer->size * buffer->unitbytes; in PetscChunkBufferCreateChunk()
54 buffer->size += size; in PetscChunkBufferCreateChunk()
58 static PetscErrorCode PetscChunkBufferEnlargeChunk(PetscChunkBuffer *buffer, PetscCount size, Petsc… in PetscChunkBufferEnlargeChunk() argument
69 PetscCall(PetscChunkBufferCreateChunk(buffer, (size_t)reserved, &newchunk)); in PetscChunkBufferEnlargeChunk()
71 …PetscCall(PetscMemcpy(&buffer->array[newchunk.start], &buffer->array[chunk->start], chunk->size * … in PetscChunkBufferEnlargeChunk()