Mercurial > cgi-bin > hgwebdir.cgi > VMS > C_Libraries > ListOfArrays
comparison ListOfArrays.c @ 15:7a5228a4a377
Renamed VMS to PR, in new branch
| author | Sean Halle <seanhalle@yahoo.com> |
|---|---|
| date | Mon, 03 Sep 2012 15:08:15 -0700 |
| parents | 5df9392eca1a |
| children | 7731a4d31baa |
comparison
equal
deleted
inserted
replaced
| 7:1b4e8672f48a | 9:1028bd86eee3 |
|---|---|
| 1 | 1 |
| 2 #include "ListOfArrays.h" | 2 #include "ListOfArrays.h" |
| 3 #include "VMS_impl/Services_Offered_by_VMS/Memory_Handling/vmalloc.h" | 3 #include "PR_impl/Services_Offered_by_PR/Memory_Handling/vmalloc.h" |
| 4 | 4 |
| 5 ListOfArrays* makeListOfArrays(size_t entry_size, int num_entries_per_block){ | 5 ListOfArrays* makeListOfArrays(size_t entry_size, int num_entries_per_block){ |
| 6 ListOfArrays* newLoA = (ListOfArrays*) VMS_int__malloc(sizeof(ListOfArrays)); | 6 ListOfArrays* newLoA = (ListOfArrays*) PR_int__malloc(sizeof(ListOfArrays)); |
| 7 newLoA->dim1info = makePrivDynArrayOfSize(&(newLoA->dim1),8); | 7 newLoA->dim1info = makePrivDynArrayOfSize(&(newLoA->dim1),8); |
| 8 | 8 |
| 9 newLoA->entry_size = entry_size; | 9 newLoA->entry_size = entry_size; |
| 10 newLoA->num_entries_per_fragment = num_entries_per_block; | 10 newLoA->num_entries_per_fragment = num_entries_per_block; |
| 11 newLoA->next_free_index = 0; | 11 newLoA->next_free_index = 0; |
| 30 } | 30 } |
| 31 } | 31 } |
| 32 } | 32 } |
| 33 | 33 |
| 34 void freeListOfArrays(ListOfArrays* list){ | 34 void freeListOfArrays(ListOfArrays* list){ |
| 35 freeDynArrayDeep(list->dim1info,&VMS_int__free); | 35 freeDynArrayDeep(list->dim1info,&PR_int__free); |
| 36 VMS_int__free((void*)list); | 36 PR_int__free((void*)list); |
| 37 } | 37 } |
| 38 | 38 |
| 39 /* | 39 /* |
| 40 void addToListOfArraysDependency(Dependency value, ListOfArrays* list){ | 40 void addToListOfArraysDependency(Dependency value, ListOfArrays* list){ |
| 41 int offset_in_fragment = list->next_free_index % list->num_entries_per_fragment; | 41 int offset_in_fragment = list->next_free_index % list->num_entries_per_fragment; |
| 42 if(offset_in_fragment == 0){ | 42 if(offset_in_fragment == 0){ |
| 43 void* newBlock = VMS_int__malloc(list->entry_size * list->num_entries_per_fragment); | 43 void* newBlock = PR_int__malloc(list->entry_size * list->num_entries_per_fragment); |
| 44 addToDynArray(newBlock,list->dim1info); | 44 addToDynArray(newBlock,list->dim1info); |
| 45 } | 45 } |
| 46 Dependency* typedFragment = (Dependency*) ((list->dim1)[list->dim1info->numInArray -1]); | 46 Dependency* typedFragment = (Dependency*) ((list->dim1)[list->dim1info->numInArray -1]); |
| 47 typedFragment[offset_in_fragment] = value; | 47 typedFragment[offset_in_fragment] = value; |
| 48 list->next_free_index++; | 48 list->next_free_index++; |
| 49 } | 49 } |
| 50 | 50 |
| 51 void addToListOfArraysUnit(Unit value, ListOfArrays* list){ | 51 void addToListOfArraysUnit(Unit value, ListOfArrays* list){ |
| 52 int offset_in_fragment = list->next_free_index % list->num_entries_per_fragment; | 52 int offset_in_fragment = list->next_free_index % list->num_entries_per_fragment; |
| 53 if(offset_in_fragment == 0){ | 53 if(offset_in_fragment == 0){ |
| 54 void* newBlock = VMS_int__malloc(list->entry_size * list->num_entries_per_fragment); | 54 void* newBlock = PR_int__malloc(list->entry_size * list->num_entries_per_fragment); |
| 55 addToDynArray(newBlock,list->dim1info); | 55 addToDynArray(newBlock,list->dim1info); |
| 56 } | 56 } |
| 57 Unit* typedFragment = (Unit*) ((list->dim1)[list->dim1info->numInArray -1]); | 57 Unit* typedFragment = (Unit*) ((list->dim1)[list->dim1info->numInArray -1]); |
| 58 typedFragment[offset_in_fragment] = value; | 58 typedFragment[offset_in_fragment] = value; |
| 59 list->next_free_index++; | 59 list->next_free_index++; |
