Example #1
0
//8 bytes for prediction, 12 for treeID, split_variable, split_criteria_length
//however many bytes for split_criteria + 4 bytes for indicating if left,right,additional_info are null, 16 possible bytes for additional_info and 12*num_obs bytes for indices, weights
int calculateBufferSize(hpdRFnode* tree)
{
  int total = 3*sizeof(double) + 4*sizeof(int);
  total += tree->split_criteria_length*sizeof(double);
  if(tree->additional_info)
    total += 5*sizeof(int)+
      tree->additional_info->num_obs*(sizeof(double) + sizeof(int));

  if(tree->left)
    total += calculateBufferSize(tree->left);
  if(tree->right)
    total += calculateBufferSize(tree->right);
  return total;
}
Example #2
0
 InstancedSponge::InstancedSponge(unsigned recursion, QList<string>& attributes) {
     bufferCount = 1;
     makeSponge(recursion, {0, 0, 0}, 1.0f);
     setMesh(MeshLoader::load(attributes, "cube.obj"));
     calculateBufferSize();
     setCastShadows(false);
 }
bool MeasurementThread::initAcquisitionCard ()
{
	float RevLevel = (float)CURRENTREVNUM;
	cbDeclareRevision(&RevLevel);
	cbErrHandling (PRINTALL, DONTSTOP);
	// calculate maximum buffer size and allocate it
	long DATA_BUF_SIZE = 0;
	for (int i = 0; i < fList.size(); i++)
	{
		long s = calculateBufferSize(i);
		if (s > DATA_BUF_SIZE) DATA_BUF_SIZE = s;
	}
	_data = cbWinBufAlloc (DATA_BUF_SIZE);
	if (_data == 0)
	{
		bool response = createSweepErrorMsg(0, 0, "Cannot allocate memory");
		return response;
	}
	// setup channels
	for (int i = 0; i < cInfo.size(); ++i)
	{
		_ChanArray[i] = cInfo.value(i).ChannelNumber;
		_ChanTypeArray[i] = ANALOG;
                _GainArray[i] = Global::vMaxToGain(cInfo.value(i).Units);

	}
	return true;
}
Example #4
0
ImuAdis16448::ImuAdis16448(SensorId::SensorId sensor_id, IpConnection::WeakPtr config_connection):
		Imu(sensor_id,
				SensorSettings(sensor_id, SensorType::SensorType::IMU_ADIS16448,calculateBufferSize(),
						ImuAdis16448Defaults::NUM_OF_MSGS_IN_PACKAGE,
						ImuAdis16448Defaults::USE_CONST_PACKAGE_SIZE,
						ImuAdis16448Defaults::CALIBRATION_SIZE),
						config_connection)
{
}
Example #5
0
NfcTag MifareUltralight::read(byte * uid, unsigned int uidLength)
{
    if (isUnformatted())
    {
        Serial.println(F("WARNING: Tag is not formatted."));
        return NfcTag(uid, uidLength, NFC_FORUM_TAG_TYPE_2);
    }

    readCapabilityContainer(); // meta info for tag
    findNdefMessage();
    calculateBufferSize();

    if (messageLength == 0) { // data is 0x44 0x03 0x00 0xFE
        NdefMessage message = NdefMessage();
        message.addEmptyRecord();
        return NfcTag(uid, uidLength, NFC_FORUM_TAG_TYPE_2, message);
    }

    boolean success;
    uint8_t page;
    uint8_t index = 0;
    byte buffer[bufferSize];
    for (page = ULTRALIGHT_DATA_START_PAGE; page < ULTRALIGHT_MAX_PAGE; page++)
    {
        // read the data
        success = nfc->mifareultralight_ReadPage(page, &buffer[index]);
        if (success)
        {
#ifdef MIFARE_ULTRALIGHT_DEBUG
            Serial.print(F("Page "));
            Serial.print(page);
            Serial.print(" ");
            nfc->PrintHexChar(&buffer[index], ULTRALIGHT_PAGE_SIZE);
#endif
        }
        else
        {
            Serial.print(F("Read failed "));
            Serial.println(page);
            // TODO error handling
            messageLength = 0;
            break;
        }

        if (index >= (messageLength + ndefStartIndex))
        {
            break;
        }

        index += ULTRALIGHT_PAGE_SIZE;
    }

    NdefMessage ndefMessage = NdefMessage(&buffer[ndefStartIndex], messageLength);
    return NfcTag(uid, uidLength, NFC_FORUM_TAG_TYPE_2, ndefMessage);

}
Example #6
0
OsStatus OsConfigDb::storeToEncryptedFile(const char *filename)
{
    OsStatus retval = OS_SUCCESS;

    // store to buffer
    size_t buffLen = calculateBufferSize();
    char *buff = new char[buffLen];
    storeToBuffer(buff);
    buffLen = strlen(buff);
    OsEncryption e;
    retval = getEncryption()->encrypt(this, &e, buff, buffLen);
    if (retval == OS_SUCCESS)
    {
        retval = storeBufferToFile(filename, (const char *)e.getResults(), e.getResultsLen());
    }

    return retval;
}
bool MeasurementThread::measureStep(int ns, int fi)
{
    // static char buf [1000] = {0};
    //qDebug() << "MeasurementStep: ns = " << ns << ", fi = " << fi;
    if (fList.size() > 1 || ns == 0) {
        QString strFreq = QString ("FREQ %1\n").arg(fList[fi]);
        viPrintf (vi, strFreq.toAscii().data());
        // allocate buffer
    }
    long DATA_BUFFER_SIZE = calculateBufferSize(fi);
    int e_code;
    e_code = cbALoadQueue (BOARD_NUM, _ChanArray, _GainArray, NUM_CHANNELS);
    if (e_code != 0) {
            bool response =	createSweepErrorMsg(ns, fi, "Error in cbLoadQueue()");
            cbWinBufFree(_data); return response;
    }
    long actualSamplingRate = sRList[fi];

//    if (fList.size() > 1 || ns == 0) {
//        viPrintf(vi, (ViString)"FREQ?\n");
//        /* Read results */
//        viScanf (vi, (ViString)"%t", &buf);
//    }

    //qDebug() << "Starting Scan. Requested fs = " << actualSamplingRate;
    int startTime = LoggerTime::timer();
    e_code = cbAInScan (BOARD_NUM, 0, 15, DATA_BUFFER_SIZE, &actualSamplingRate,
                            _GainArray[0], _data, CONVERTDATA + DMAIO);
    int endTime = LoggerTime::timer();
    //qDebug() << "Ending Scan. Actual fs = " << actualSamplingRate;
    if (e_code != 0) {
            bool response = createSweepErrorMsg(ns, fi, "Error in cbInScan()");
            cbWinBufFree(_data); return response;
    }
    ImpedanceMeasurement m = iCal.processData((WORD*)_data,
                    DATA_BUFFER_SIZE, fList[fi], actualSamplingRate);
    //qDebug() << "Finished Impedance Measurement";

    m.t = (startTime + endTime)/2;
    pMLst->append(m);
    //qDebug() << "Appended Impedance Measurement";
    return true;
}
void* grep(void* param)
{

	Allparams p=*(Allparams*)param;
	char* filenamePtr=p.filenamePtr;
	const char* target=p.target;
	int *fd=p.fd;
	int *fd2=p.fd2;


	//perror("thread geldi\n");
	int konum[2]={-1,-1};
	int flag;
	int i,counter=0,currentLineNumber=1,currentColumnNumber=1,widthOfTarget=-1;	

	int bufferSize;

	FILE* 	outputFilePtr;

	FILE*   inputFilePtr;

	char* buffer;

	#ifdef DEBUG
		fprintf(stderr,"pid:%d parentpid:%d\n",getpid(),getppid());
	#endif

	widthOfTarget=strlen(target);

	bufferSize=calculateBufferSize(filenamePtr);

	buffer=(char*)malloc(sizeof(char)*(bufferSize+3));

	outputFilePtr=fopen(OUTPUT_FILE_NAME,"a");

	inputFilePtr=fopen(filenamePtr,"r");
	if(inputFilePtr==NULL)
	{
		fprintf(stderr,"Dosya acilamadi:%s\n",filenamePtr);
		exit(0);
	}	

	for(i=0;i<bufferSize;++i)
	{
		fscanf(inputFilePtr,"%c",&buffer[i]);
	}
	
	
	fprintf(outputFilePtr,"\nFilePath:%s Target:%s\n\n",filenamePtr,target);
	
	for(i=0;i<bufferSize;++i)
	{
		/*Her eslesme icin konum verileri pipe ile yukariya yollanir*/		
		if(strncmp(target,&buffer[i],widthOfTarget)==0)
		{		

			konum[0]=currentLineNumber;
			konum[1]=currentColumnNumber;
			write(fd[1],konum,sizeof(int)*2);
			read(fd2[0],&flag,sizeof(int));
			fprintf(outputFilePtr,"%d.Occurance line: %d          column: %d\n",counter+1,currentLineNumber,currentColumnNumber);
			++counter;		
		}

		if(buffer[i]=='\n')
		{
	
			  ++currentLineNumber;
	   		  currentColumnNumber=1;

		}
			
		else
			++currentColumnNumber;

	}

	konum[0]=-1;
	konum[1]=-1;
	write(fd[1],konum,sizeof(int)*2);
	if(counter==0)
	{
		
		fprintf(outputFilePtr,"No content found!\n");
			
	}
	
	fprintf(outputFilePtr,"_____________________________________________\n");
	

	free(buffer);
	fclose(inputFilePtr);

	
	fclose(outputFilePtr);
	

}
Example #9
0
FileDialogImpl::FileDialogImpl(
    const std::string& title,
    FileDialog::Action action,
    const std::vector<FileDialog::Filter>& filters,
    std::size_t selectedFilter
    ) :
    m_fileDialogStruct(new OPENFILENAME()),
    m_action(action)
{
    std::wstring wideTitle = stringToWide(title);

    ZeroMemory(m_fileDialogStruct, sizeof(*m_fileDialogStruct));

    m_fileDialogStruct->lStructSize = sizeof(*m_fileDialogStruct); //Some strange WinAPI init...
    m_fileDialogStruct->hwndOwner = nullptr;
    m_fileDialogStruct->lpstrDefExt = nullptr;

    m_fileDialogStruct->lpstrFile = new TCHAR[MAX_PATH];
    m_fileDialogStruct->lpstrFile[0] = '\0';
    m_fileDialogStruct->nMaxFile = MAX_PATH;

    //Init the filters
    if(filters.size() > 0)
    {
        //Calculate the needed buffer size
        std::size_t filterBufferSize = calculateBufferSize(filters);

        //Construct the filters string
        TCHAR* filtersStr = (TCHAR*)malloc(filterBufferSize * sizeof(wchar_t));
        TCHAR* currentPos = filtersStr;
        for(auto filterIt = filters.cbegin(); filterIt != filters.cend(); ++filterIt)
        {
            wmemcpy(currentPos, stringToWide(filterIt->name).c_str(), stringToWide(filterIt->name).size());
            currentPos += stringToWide(filterIt->name).size();
            wmemcpy(currentPos, L"\0", 1);
            currentPos += 1;

            for(auto patternIt = filterIt->patterns.cbegin(); patternIt != filterIt->patterns.cend(); ++patternIt)
            {
                wmemcpy(currentPos, stringToWide(*patternIt).c_str(), stringToWide(*patternIt).size());
                currentPos += stringToWide(*patternIt).size();

                wmemcpy(currentPos, L";", 1);
                currentPos += 1;
            }

            wmemcpy(filterIt->patterns.size() > 0 ? (currentPos - 1) : currentPos, L"\0", 1);
            if(filterIt->patterns.size() == 0)
                currentPos += 1;
        }

        wmemcpy(currentPos, L"\0", 1);

        m_fileDialogStruct->lpstrFilter = filtersStr;
    }
    else
    {
        m_fileDialogStruct->lpstrFilter = nullptr;
    }

    m_fileDialogStruct->nFilterIndex = selectedFilter + 1;

    m_fileDialogStruct->lpstrInitialDir = nullptr;
    m_fileDialogStruct->lpstrTitle = wideTitle.c_str(); //The window title

    m_fileDialogStruct->Flags =
        m_action == FileDialog::Open ? OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST : 0;
}