Esempio n. 1
0
void LibIO_Demo_SPrintf_SScanf(void)
{
	char tempStr[15];
	char scanTempStr0[10];
	char scanTempStr1[10];
	char scanTempStr2[10];
	char scanTempStr3[10];
	u32 printCharCount;
	u32 scanCount;

	ASSERT_CHK( rc, LibIO_SPrintf(printCharCount, tempStr, "123 %d %d\n", 33, 44) );
	DUMPD(printCharCount);
	DUMPS(tempStr);

	ASSERT_CHK( rc, LibIO_SScanf(scanCount, tempStr, "%s", scanTempStr0) );
	DUMPD(scanCount);
	DUMPS(scanTempStr0);
	ASSERT_CHK( rc, LibIO_SScanf(scanCount, tempStr, "%s%s", scanTempStr0, scanTempStr1) );
	DUMPD(scanCount);
	DUMPS(scanTempStr0);
	DUMPS(scanTempStr1);
	ASSERT_CHK( rc, LibIO_SScanf(scanCount, tempStr, "%s%s%s%s", scanTempStr0, scanTempStr1, scanTempStr2, scanTempStr3) );
	DUMPD(scanCount);
	DUMPS(scanTempStr0);
	DUMPS(scanTempStr1);
	DUMPS(scanTempStr2);
	DUMPS(scanTempStr3);
	DUMPD(rc);

	perror("perror()");
}
Esempio n. 2
0
File: main.c Progetto: ykst/euler
int main(int argc, char **argv)
{
    int t = 0;

    for (int c; (c = getopt(argc, argv, "n:p:")) != -1;) {
        switch(c) {
            case 'n':
                t = atoi(optarg);
                break;
        }
    }

    uint32_t result = 1;

    vector(int) *vstep = vector_new(int, 100);

    int i = 0;
    int pivot = 1; 
    int base = 10;

    while(i < 1000000) {
        i += pivot * (base - base / 10); 
        ++pivot;
        base *= 10;
        vector_pushback(vstep, i);
    }
    
    for(base = 1; base <= 1000000; base *= 10) {
        if(t > 0) base = t;
        i = 1;
        int last = 0;

        vector_closure(vstep, pivot) {
            if(base <= pivot) break;
            i++;
            last = pivot;
        }
        int pbase;

        pbase = POW(10, i - 1) - 1;
        int ofs = (base - last);
        ofs = (ofs % i == 0) ? ofs / i : ofs / i+ 1;
        int num = pbase + ofs;
        int dn;
        int dofs = (i - (base - last) % i) % i;
        DUMPD(dofs);
        dn = num / POW(10, dofs);
        dn %= 10;
        DUMPD(base);
        DUMPD(dn);
        result *= dn;
        if(t > 0) break;
    }

    DUMPD(result); 

    vector_delete(vstep);

    return 0;
}
Esempio n. 3
0
void LibIO_Demo_FPrintf_FScanf(void)
{
	u32 printCharCount;
	
	LibFileIoClass ioFile("Test_DeleteMe.txt", "w+b");

	ioFile.FileOpen();

	ASSERT_CHK( rc, LibIO_FPrintf(printCharCount, ioFile.fp, "123 %d %d\n", 33, 44) );

	DUMPD(printCharCount);

	rewind(ioFile.fp);

	char tempStr[10];
	u32 scanCount;
	ASSERT_CHK( rc, LibIO_FScanf(scanCount, ioFile.fp, "%s", tempStr) );
	DUMPD(scanCount);
	DUMPS(tempStr);
	ASSERT_CHK( rc, LibIO_FScanf(scanCount, ioFile.fp, "%s", tempStr) );
	DUMPD(scanCount);
	DUMPS(tempStr);
	ASSERT_CHK( rc, LibIO_FScanf(scanCount, ioFile.fp, "%s", tempStr) );
	DUMPD(scanCount);
	DUMPS(tempStr);
	
	rc = LibIO_FScanf(scanCount, ioFile.fp, "%s", tempStr);
	LibError_PrintErrorMessage(rc);
}
Esempio n. 4
0
File: main.c Progetto: ykst/euler
int main(int argc, char **argv)
{
    for (int c; (c = getopt(argc, argv, "n:p:")) != -1;) {
        switch(c) {
            case 'n':
                DUMPD(calc_quadratic(atoi(optarg), 1, 41));
                exit(EXIT_SUCCESS);
            case 'p':
                DUMPS(is_prime(atoi(optarg)) ? "yes" : "no");
                exit(EXIT_SUCCESS);
        }
    }

    int coeff_bs[1000] = {};
    int num_bs = 0;
    int i,j,n;

    j = 0;
    for(i = 0; i < 1000; i++) {
        if(is_prime(i)) {
            coeff_bs[j++] = i;
        }
    }

    num_bs = j;

    int result = -1;
    int mn = 0;

    for(i = -999; i < 999; i++) {
        for(j = 0; j < num_bs; j++) {
            n = 0;

            while(is_prime(calc_quadratic(n, i, coeff_bs[j]))) {
                ++n;
            }

            if(n > mn) {
                mn = n;
                result = coeff_bs[j] * i;
            }
        }
        printf(".");
    }

    DUMPD(result);
                    
    return 0;
}
Esempio n. 5
0
int MAMain() {
	double SDA = sin(0.0981746875);	//(0x3fb921f9f01b866e) sin error, returning 1
	//) returned 0x000000003ff00000(5.29980882362664E-315)

	InitConsole();
	printf("Floating test");

	DUMPDH(179.288537549407);
	DUMPDH(SDA);

	//return 0;

	Extent scrSize = maGetScrSize();
	scrSize = EXTENT(176, 208);
	double d;

	d = __adddf3(__floatsidf(EXTENT_X(scrSize)), __muldf3(__floatsidf(EXTENT_Y(scrSize)), 63.25));


	d /= 0.0;	//division by zero.

	DUMPD(__floatsidf(EXTENT_X(scrSize)));
	DUMPD(__floatsidf(EXTENT_Y(scrSize)));
	DUMPD(63.25);
	DUMPD(__muldf3(__floatsidf(EXTENT_Y(scrSize)), 63.25));
	d = __adddf3(__floatsidf(EXTENT_X(scrSize)), __divdf3(__floatsidf(EXTENT_Y(scrSize)), 63.25));
	printf("%f %i", d, __fixdfsi(d));
	printf("%f %i", __floatsidf(42), __fixdfsi(__floatsidf(42)));
	printf("%f %i", 63.25, __fixdfsi(63.25));

	printf("%i", dcmp(63.25, 42.0));
	printf("%i", dcmp(42.0, 63.25));
	printf("%i", dcmp(42.0, 42.0));

	DUMPDH(63.25);
	DUMPDH(42.0);
	DUMPDH(__negdf2(63.25));
	DUMPDH(__negdf2(42.0));
	DUMPDH(-63.25);
	DUMPDH(-42.0);
	DUMPDH(2.1470*1000000000.0);
	DUMPDH(2.1475*1000000000.0);	//vsprintf has a bug

	//wait for keypress, then exit
	printf("Press 0 to exit\n");
	FREEZE;
	return 0;
}
Esempio n. 6
0
File: main.c Progetto: ykst/euler
int main(int argc, char **argv)
{
    size_t dim = 4;
    char *lex;
    
    for (int c; (c = getopt(argc, argv, "n:")) != -1;) {
        switch(c) {
            case 'n': dim= atoi(optarg); break;
        }
    }

    TALLOCS(lex,dim,exit(1));
    
    int i;
    for(i = 0; i < dim; i++) {
        lex[i] = '0' + dim - i - 1;
    }

    i = 1;

    swap_iter(lex, dim, dim-1, &i);

    DUMPD(i);
    DUMPS(lex);

    return 0;
}
Esempio n. 7
0
void LibLinkedList_Diagnose(LinkedListInfo *info, const char *caller)
{
	BASIC_ASSERT(caller != NULL);

	// Length check
	u32 count = 0;
	LinkedListNode *currNode = info->head;
	while (currNode != NULL) {
		count++;
		currNode = currNode->next;
	}
	if (count != info->count) {
		DUMPD(count);
		DUMPD(info->count);
		CALLER_ASSERT(count == info->count);
	}
	// Length check in backward
	count = 0;
	currNode = info->tail;
	while (currNode != NULL) {
		count++;
		currNode = currNode->prev;
	}
	CALLER_ASSERT(count == info->count);

	// Generic check
	if (info->head != NULL) {
		CALLER_ASSERT(info->head->prev == NULL);
		CALLER_ASSERT(info->tail != NULL);
		CALLER_ASSERT(info->tail->next == NULL);

		// Check relation address between 2 nodes
		for (LinkedListNode *currNode = info->head; currNode != NULL; currNode = currNode->next) {
			if (currNode->next != NULL) {
				CALLER_ASSERT(currNode == currNode->next->prev);
			}
		}
		for (LinkedListNode *currNode = info->tail; currNode != NULL; currNode = currNode->prev) {
			if (currNode->prev != NULL) {
				CALLER_ASSERT(currNode == currNode->prev->next);
			}
		}
	} else {
		CALLER_ASSERT(info->tail == NULL);
	}
}
Esempio n. 8
0
void LibFileIO2_Demo_INI_File(void)
{
	LibFile_INI ini_file("test.ini", "r+b");

	EXIT_CHK( rc, ini_file.StartParse() );

	ini_file.Dump();

	u32 val;

	EXIT_CHK( rc, ini_file.GetValueU32("[FW FilePointer]", "Mirror_Addr_2", val) );

	DUMPD(val);
	DUMPX(val);
}
Esempio n. 9
0
void LibFile_INI::Dump(void)
{
	std::map<std::string,u32>::iterator it;

	DUMPD(section_name_index_counter_for_vector);
	PRINT_NEXT_LINE;

	printf("mapSectionName:\n");
	for (it=mapSectionName.begin(); it!=mapSectionName.end(); it++) {
		printf("\t(%d) %s\n", it->second, it->first.c_str());
	}
	PRINT_NEXT_LINE;

	DUMPD(vecVarBlock.size());
	EXIT_LOC_IF(vecVarBlock.size() != section_name_index_counter_for_vector);
	for (u32 i = 0; i < section_name_index_counter_for_vector; i++)
	{
		printf("\tvecVarBlock[%u].varMap.size() = %u\n", i, (unsigned int)vecVarBlock[i].varMap.size());

		std::map<std::string,std::string>::iterator varMapIt;
		for (varMapIt=vecVarBlock[i].varMap.begin(); varMapIt!=vecVarBlock[i].varMap.end(); varMapIt++)
		{
			printf("\t\t%-20s = %s\n", varMapIt->first.c_str(), varMapIt->second.c_str());
		}

		printf("\tvecVarBlock[%u].singleVarVector.size() = %u\n", i, (unsigned int)vecVarBlock[i].singleVarVector.size());

		std::vector<std::string>::iterator varMapIt2;
		for (varMapIt2=vecVarBlock[i].singleVarVector.begin(); varMapIt2!=vecVarBlock[i].singleVarVector.end(); varMapIt2++)
		{
			printf("\t\t%-20s\n", varMapIt2->c_str());
		}
		PRINT_NEXT_LINE;
	}
	PRINT_NEXT_LINE;
}
Esempio n. 10
0
void LibLinkedList_Dump(LinkedListInfo *info)
{
	printf("==================================== %s() start\n", __func__);
	DUMPD(info->count);
	DUMPP(info->head);
	DUMPP(info->tail);
	LinkedListNode *currNode = info->head;
	for (u32 i = 0; i < info->count; i++) {
		printf("Node(%d):\n", i+1);
		printf("[ %p ]\n", currNode);
		DUMPP(currNode->prev);
		DUMPP(currNode->next);
		currNode = currNode->next;
	}
	BASIC_ASSERT(currNode == NULL);
	printf("==================================== %s() end\n", __func__);
}
Esempio n. 11
0
static bool check_dump(void)
{
    DCHECK;

    DUMPC('a');
    DUMPP(&check_dump);
    DUMPS(__FUNCTION__);
    DUMPD((uint64_t)(-1));
    DUMPZ((uint64_t)(-1));

    DUMP8((uint64_t)(-1));
    DUMP16((uint64_t)(-1));
    DUMP32((uint64_t)(-1));
    DUMP64((uint64_t)(-1));

    return true;
}
Esempio n. 12
0
int main(int argc, char *argv[])
{
	LRM_EVT_EvtPara_t evtPara = {"zzTest_input.txt"};

	EXIT_CHK( rc, Lrm_StateMachine(LRM_EVT_E5_SetInputFile, &evtPara) );
	EXIT_CHK( rc, Lrm_StateMachine(LRM_EVT_E6_GetLineObj, &evtPara) );

	LRM_t st = Lrm_StateMachine(LRM_EVT_E1_ReadLine);
	DUMPD(st);
	DUMPS((*(evtPara.lineObj)).lineStr);

	while (LRM_S6_Line_Read_LAST != Lrm_StateMachine(LRM_EVT_E1_ReadLine)) {
		DUMPS((*(evtPara.lineObj)).lineStr);
	}

	Lrm_StateMachine(LRM_EVT_E2_Exit);

	while (LRM_S8_Line_Read_EOF != Lrm_StateMachine(LRM_EVT_E1_ReadLine)) {
		DUMPS((*(evtPara.lineObj)).lineStr);
	}
	
	return 0;
}