Example #1
0
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;
}
Example #2
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;
 }
Example #4
0
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;
}
Example #5
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;
	}
Example #6
0
	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;
	}
Example #7
0
/*{{{  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);


}
Example #8
0
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);
}
Example #9
0
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);
}
Example #10
0
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);
}
Example #11
0
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);
}