int Packet::AppendData(const void* ptr, int len) { int prevSize = GetDataSize(); int ret = SetDataSize(prevSize + len); if (ret < 0) return ret; memcpy(m_Packet->data+prevSize, ptr, len); return 0; }
int Packet::AppendData(const void* ptr, size_t len) { size_t prevSize = m_DataSize; int ret = SetDataSize(m_DataSize + len); if (ret < 0) return ret; memcpy(m_Data+prevSize, ptr, len); return 0; }
Status RTP_Packet::SetPayloadData(Ipp8u *ptr, size_t bytes) { Ipp32s headerlen; headerlen = GetHeaderSize(); //memcpy((Ipp8s*)m_pDataPointer+headerlen,ptr,bytes); ippsCopy_8u((const Ipp8u*)ptr,(Ipp8u*)(m_pDataPointer+headerlen),(Ipp32s)bytes); m_Len = headerlen+(Ipp32s)bytes; SetDataSize(m_Len); return UMC_OK; }
int Packet::SetData(const void* ptr, int len) { if (!ptr || len < 0) return -1; int ret = SetDataSize(len); if (ret < 0) return ret; memcpy(m_Packet->data, ptr, len); return 0; }
signed8_t CUnitStore::InitWithValue(unsigned8_t value, size_t size) { signed8_t ret; XL_ASSERT(m_is_in_use); XL_ASSERT(size > 0); ret = Resize(size); if (ret == NO_ERRORS) { memset(GetBuffer(), value, size); SetDataSize(size); } return ret; }
signed8_t CUnitStore::Init(const unsigned8_t *data, size_t size, size_t datasize) { signed8_t ret; XL_ASSERT(m_is_in_use); XL_ASSERT(size > 0); XL_ASSERT(datasize <= size); ret = Resize(size); if (ret == NO_ERRORS) { memcpy(GetBuffer(), data, datasize); SetDataSize(datasize); } return ret; }
/*{{{ data*/ void ReadDataDistanceMatrix(value** points, FILE* inputFile, int k) { List tempList; size_t lineSize = 0; char* lineBuff = NULL; char* temp; char delims[5] = "\t ,\n"; char* token = NULL; int num = 0; int i; int line = 0; dm = malloc(sizeof(datadistanceMatrix)); dm->data=NULL; dm->dataDist=NULL; dm->dataNum=0; dm->queries=NULL; dm->iterator=0; dm->queryDist=NULL; dm->queryNum=0; dm->qIterator=0; dm->k = k; getline(&lineBuff, &lineSize, inputFile); /*skip the first value*/ token = strtok(lineBuff, delims); InitList(&tempList, BUFFSIZE * sizeof(char), NULL, NULL,NULL); while (token != NULL) { token = strtok(NULL, delims); if (token == NULL) break; temp = malloc((LABELSIZE + 1) * sizeof(char)); memcpy(temp, token, strlen(token)); temp[strlen(token)] = '\0'; InsertValueList(tempList, temp); num++; free(temp); } SetDataSize(num); *points = malloc(num*sizeof(value)); value* newData = *points; char* tempVal = GetFirst(tempList); for (i = 0; i < num; i++) { newData[i].name = malloc(LABELSIZE * sizeof(char)); memset(newData[i].name,'\0',LABELSIZE); if(tempVal ==NULL) continue; strcpy(newData[i].name, tempVal); tempVal=GetNext(tempList); } dm->dataDist = malloc(num * sizeof(double*)); while (getline(&lineBuff, &lineSize, inputFile) != -1) { dm->dataDist[line] = malloc(num * sizeof(double)); newData[line].content=malloc(sizeof(int)); memcpy(newData[line].content,&line,sizeof(int)); token = strtok(lineBuff, delims); if (token == NULL) break; for (i = 0; i < num; i++) { dm->dataDist[line][i] = atoi(token); token = strtok(NULL, delims); } line++; } dm->dataNum=line; data.tableSize = dm->dataNum; DestroyList(&tempList); free(lineBuff); }
void ReadDataMolecule(value** val, FILE* input ){ size_t lineSize = 0; size_t lineLen = 0; char* lineBuff = NULL; // for strtok //char* token=NULL; //char delims[4]="\t \n"; lineLen = getline(&lineBuff, &lineSize, input); if (sscanf(lineBuff, "%d", &dm.noOfMols) < 1) { printf("error???? \n"); } lineLen = getline(&lineBuff, &lineSize, input); if (sscanf(lineBuff, "%d", &dm.N) < 1) { printf("error???? \n"); } int i, j; //printf("%d\n", dm.noOfMols); //printf("%d\n", dm.N); *val = malloc(sizeof(value) * dm.noOfMols); dm.molecules = malloc(sizeof(double*)* dm.noOfMols); for (i = 0; i < dm.noOfMols; ++i) dm.molecules[i] = malloc(sizeof(double) * dm.N *3); int flag = 0; for (i = 0; i < dm.noOfMols; ++i) { for (j = 0; j < dm.N*3; j+=3) { //dm.molecules[i][j] = malloc(sizeof(double)*3); lineLen = getline(&lineBuff, &lineSize, input); float x, y, z; if (sscanf(lineBuff, "%f %f %f", &x, &y, &z) < 1) { printf("error???? \n"); } /* row major */ dm.molecules[i][j + 0] = x; dm.molecules[i][j + 1] = y; dm.molecules[i][j + 2] = z; /**/ /* col major * dm.molecules[i][j + 0 + dm.N*0] = x; dm.molecules[i][j + 1 + dm.N*1] = y; dm.molecules[i][j + 2 + dm.N*2] = z; */ //if (flag == 0) //printf("%g\t%g\t%g\n", x, y, z); } //double r = getFrobNorm( dm.molecules[i], dm.N); //if(flag == 0) //printf("%f\n", r); int *content = malloc(sizeof(int)); *content = i; (*val)[i].content = content; (*val)[i].name = NULL; flag = 1; } SetDataSize(dm.noOfMols); }
void ReadDataMolecule(value** val, FILE* input ,double r){ size_t lineSize = 0; char* lineBuff = NULL; // for strtok //char* token=NULL; //char delims[4]="\t \n"; getline(&lineBuff, &lineSize, input); if (sscanf(lineBuff, "%d", &dm.noOfMols) < 1) { printf("error???? \n"); } getline(&lineBuff, &lineSize, input); if (sscanf(lineBuff, "%d", &dm.N) < 1) { printf("error???? \n"); } int i, j; //printf("%d\n", dm.noOfMols); //printf("%d\n", dm.N); *val = malloc(sizeof(value) * dm.noOfMols); dm.molecules = malloc(sizeof(double*)* dm.noOfMols); for (i = 0; i < dm.noOfMols; ++i) dm.molecules[i] = malloc(sizeof(double) * dm.N *3); //int flag = 0; int totalCount = 0; for (i = 0; i < dm.noOfMols; ++i) { for (j = 0; j < dm.N*3; j+=3) { totalCount++; //dm.molecules[i][j] = malloc(sizeof(double)*3); getline(&lineBuff, &lineSize, input); float x, y, z; if (sscanf(lineBuff, "%f %f %f", &x, &y, &z) < 1) { printf("error???? \n"); } /* row major */ dm.molecules[i][j + 0] = x; dm.molecules[i][j + 1] = y; dm.molecules[i][j + 2] = z; /**/ /* col major * dm.molecules[i][j + 0 + dm.N*0] = x; dm.molecules[i][j + 1 + dm.N*1] = y; dm.molecules[i][j + 2 + dm.N*2] = z; */ //if (flag == 0) //printf("%g\t%g\t%g\n", x, y, z); } //double r = getFrobNorm( dm.molecules[i], dm.N); //if(flag == 0) //printf("%f\n", r); int *content = malloc(sizeof(int)); *content = i; (*val)[i].content = content; (*val)[i].name = NULL; } printf("%d\n", dm.N * dm.N); dm.rSize = sqrt(r); printf("%d, %d\n", dm.rSize, dm.N); dm.r = malloc(sizeof(int) * dm.rSize); for(i=0;i< dm.rSize;i++) dm.r[i]=(int)GetUniform(i * dm.N/dm.rSize, (i+1) * dm.N/dm.rSize); //for(i=0;i< dm.rSize;i++) //printf("%d\t", dm.r[i]); //printf("\n"); //for(i=0;i< dm.rSize;i++) //dm.r[i] = i; dm.D = malloc(sizeof(double*)*(dm.noOfMols)); for(i=0; i<dm.noOfMols; i++){ SetupDistances(i); } //printf("k = %d\n", dm.k); SetDataSize(dm.noOfMols); free(lineBuff); }
void ReadDataEuclidean(value** points, FILE* inputFile, int k) { List tempList; size_t lineSize = 0; size_t lineLen = 0; value* temp = NULL; char* lineBuff = NULL; char* token=NULL; char* secBuff= NULL; char delims[4]="\t \n"; int i = 0; int j=0; euc = malloc(sizeof(dataEuclidean)); euc->k = k; euc->dim=0; lineLen = getline(&lineBuff, &lineSize, inputFile); secBuff=malloc((strlen(lineBuff)+1)* sizeof(char)); memcpy(secBuff,lineBuff,strlen(lineBuff)); secBuff[strlen(lineBuff)]='\0'; InitList(&tempList, sizeof(value), data.print, data.distance, NULL); token = strtok(secBuff, delims); while (token != NULL) { token = strtok(NULL, delims); if (token == NULL) break; euc->dim++; } do{ temp = malloc(sizeof(value)); token = strtok(lineBuff, delims); if (token == NULL) break; temp->name = malloc((strlen(token) + 1) * sizeof(char)); strcpy(temp->name, token); temp->content = malloc((euc->dim)*sizeof(double)); // temp->extra = NULL; //printf("ID: %s Value:", temp->name); for (j = 0; j < euc->dim; j++) { token = strtok(NULL, delims); double* content=temp->content; content[j] = atof(token); //printf("%f ", content[i]); } InsertValueList(tempList, temp); free(temp); i++; //printf("\n"); } while ((lineLen = getline(&lineBuff, &lineSize, inputFile)) != -1); SetDataSize(i); *points = malloc(i*sizeof(value)); //value* newData = *points; temp = GetFirst(tempList); for(i = 0; i< GetDataSize(); i++){ //(*points)[i].name = malloc((strlen(temp->name)+1)*sizeof(char)); //strcpy((*points)[i].name,temp->name); (*points)[i].name = temp->name; //(*points)[i].content = malloc((euc->dim)*sizeof(double)); (*points)[i].content = temp->content; //memcpy(data[i].content, temp->content, sizeof(bitStr)); temp = GetNext(tempList); } data.tableSize = SizeList(tempList)/8; DestroyList(&tempList); //data.tableSize = 10; free(lineBuff); free(secBuff); }
void ReadDataCosine(value** val,FILE* input, int k) { List tempList; co.k = k; size_t lineSize = 0; size_t lineLen = 0; char* lineBuff = NULL; char* token=NULL; char delims[4]="\t \n"; int nn; InitList(&tempList, sizeof(List*), NULL, NULL, NULL); lineLen = getline(&lineBuff, &lineSize, input); if (sscanf(lineBuff, "%d", &nn) < 2) { //perror("Malformed file - Exiting...\n"); //exit(-1); nn = 20; } else{ lineLen = getline(&lineBuff, &lineSize, input); } data.Pnn = nn; //secBuff=malloc((strlen(lineBuff)+1)* sizeof(char)); //memcpy(secBuff,lineBuff,strlen(lineBuff)); //secBuff[strlen(lineBuff)]='\0'; int startUser; int prevUser = -1; int maxDim = -1; do{ List tempList2; //temp = malloc(sizeof(value)); token = strtok(lineBuff, delims); if (token == NULL) break; int currUser = atoi(token); if( prevUser == -1) startUser = currUser; if(currUser != prevUser ){ prevUser = currUser; InitList(&tempList2, sizeof(item*), NULL, NULL, NULL); InsertValueList(tempList, &tempList2); } item *it = malloc(sizeof(item)); token = strtok(NULL, delims); it->id = atoi(token); if(it->id > maxDim ) maxDim = it->id; token = strtok(NULL, delims); it->score = atoi(token); InsertValueList(tempList2, it); free(it); } while ((lineLen = getline(&lineBuff, &lineSize, input)) != -1); co.dim = maxDim; int NoOfUser = SizeList(tempList); co.users = malloc(sizeof(user)* NoOfUser); co.NoOfUser = NoOfUser; int i; List *tmptempList2 = GetFirst(tempList); List tempList2 = *tmptempList2; if( tempList2 == NULL ) printf("NULLLLL\n"); for (i = 0; i < NoOfUser; ++i) { int NoOfItems = SizeList(tempList2); co.users[i].myitems = malloc(sizeof(item)* NoOfItems); co.users[i].id = i + 1; co.users[i].NoOfItems = NoOfItems; int j; item *it = GetFirst(tempList2); for (j = 0; j < NoOfItems; ++j) { co.users[i].myitems[j] = *it; it = GetNext(tempList2); } DestroyList(&tempList2); tmptempList2 = GetNext(tempList); if(tmptempList2 == NULL) break; tempList2 = *tmptempList2; } /**/ SetDataSize(NoOfUser); *val = malloc(NoOfUser*sizeof(value)); for(i = 0; i< GetDataSize(); i++){ //(*val)[i] = malloc(sizeof(value)); (*val)[i].name = NULL; int *content = malloc(sizeof(int)); *content = i; (*val)[i].content = content; } /**/ data.tableSize = (1 << co.k)/2; printf("%lld\n",data.tableSize ); DestroyList(&tempList); //data.tableSize = 10; free(lineBuff); /* for (i = 0; i < co.NoOfUser; ++i) { int j; printf("User %d\n", i); for (j = 0; j < co.users[i].NoOfItems; ++j){ printf("Item: id=%d score=%d\n",co.users[i].myitems[j].id, co.users[i].myitems[j].score ); } //free(co.users[i].myitems); } */ //free(co.users); //free(secBuff); }