Index: trunk/src/regression/pcb-printf/tester.ref =================================================================== --- trunk/src/regression/pcb-printf/tester.ref (revision 2204) +++ trunk/src/regression/pcb-printf/tester.ref (nonexistent) @@ -1,160 +0,0 @@ ---------------- -mI=0 -mm=0.0000 -mM=0 -ml=0.00 -mL=0 -ms=0.0000 -mS=0 -md=(0.0000, 0.0000) -mD=(0, 0) -m3=(0, 0, 0) -mr=0 -$mI=0 -$mm=0.0000 -$mM=0 -$ml=0.00 -$mL=0 -$ms=0.0000 -$mS=0 -$md=(0.0000, 0.0000) mm -$mD=(0, 0) nm -$m3=(0, 0, 0) nm -$mr=0 -m*=0.00 mil -m*=0.0000 mm -ma=1 -ma=130 -ma=555 -m+=0.00 mil -m+=0.0000 mm -m+=0.00000 m -m+=0.0000 mm or m ---------------- -mI=1 -mm=0.0000 -mM=1 -ml=0.00 -mL=0 -ms=0.0000 -mS=1 -md=(0.0000, 0.0000) -mD=(1, 1) -m3=(1, 1, 1) -mr=0 -$mI=1 -$mm=0.0000 mm -$mM=1 nm -$ml=0.00 mil -$mL=0 cmil -$ms=0.0000 mm -$mS=1 nm -$md=(0.0000, 0.0000) mm -$mD=(1, 1) nm -$m3=(1, 1, 1) nm -$mr=0 -m*=0.00 mil -m*=0.0000 mm -ma=1 -ma=130 -ma=555 -m+=0.00 mil -m+=0.0000 mm -m+=0.00000 m -m+=0.0000 mm or m ---------------- -mI=1024 -mm=0.0010 -mM=1.02 -ml=0.04 -mL=4 -ms=0.0010 -mS=1.02 -md=(0.0010, 0.0010) -mD=(1.02, 1.02) -m3=(1.02, 1.02, 1.02) -mr=4 -$mI=1024 -$mm=0.0010 mm -$mM=1.02 um -$ml=0.04 mil -$mL=4 cmil -$ms=0.0010 mm -$mS=1.02 um -$md=(0.0010, 0.0010) mm -$mD=(1.02, 1.02) um -$m3=(1.02, 1.02, 1.02) um -$mr=4 -m*=0.04 mil -m*=0.0010 mm -ma=1 -ma=130 -ma=555 -m+=0.04 mil -m+=0.0010 mm -m+=0.00000 m -m+=0.0010 mm or m ---------------- -mI=1048576 -mm=1.0486 -mM=1.0486 -ml=41.28 -mL=41.28 -ms=1.0486 -mS=1.0486 -md=(1.0486, 1.0486) -mD=(1.0486, 1.0486) -m3=(1.0486, 1.0486, 1.0486) -mr=4128 -$mI=1048576 -$mm=1.0486 mm -$mM=1.0486 mm -$ml=41.28 mil -$mL=41.28 mil -$ms=1.0486 mm -$mS=1.0486 mm -$md=(1.0486, 1.0486) mm -$mD=(1.0486, 1.0486) mm -$m3=(1.0486, 1.0486, 1.0486) mm -$mr=4128 -m*=41.28 mil -m*=1.0486 mm -ma=1 -ma=130 -ma=555 -m+=41.28 mil -m+=1.0486 mm -m+=0.00105 m -m+=1.0486 mm or m ---------------- -mI=1073741824 -mm=1073.7418 -mM=1.07374 -ml=42273.30 -mL=42.27330 -ms=1073.7418 -mS=1.07374 -md=(1073.7418, 1073.7418) -mD=(1.07374, 1.07374) -m3=(1.07374, 1.07374, 1.07374) -mr=4227330 -$mI=1073741824 -$mm=1073.7418 mm -$mM=1.07374 m -$ml=42273.30 mil -$mL=42.27330 in -$ms=1073.7418 mm -$mS=1.07374 m -$md=(1073.7418, 1073.7418) mm -$mD=(1.07374, 1.07374) m -$m3=(1.07374, 1.07374, 1.07374) m -$mr=4227330 -m*=42273.30 mil -m*=1073.7418 mm -ma=1 -ma=130 -ma=555 -m+=42273.30 mil -m+=1073.7418 mm -m+=1.07374 m -m+=1.07374 mm or m Index: trunk/src/regression/pcb-printf/tester.c =================================================================== --- trunk/src/regression/pcb-printf/tester.c (revision 2204) +++ trunk/src/regression/pcb-printf/tester.c (nonexistent) @@ -1,71 +0,0 @@ -#include -#include -#include "config.h" -#include "global.h" -#include "pcb-printf.h" - -#ifdef SPEED - char buff[8192]; - int pc = 0; -# define NUMREP 4000 -# define PCB_PRINTF(fmt, ...) \ - do { \ - pc++; \ - pcb_snprintf(buff, sizeof(buff), fmt, __VA_ARGS__); \ - } while(0) -#else -# define NUMREP 1 -# define PCB_PRINTF pcb_printf -#endif - -int main() -{ - Coord c[] = {0, 1, 1024, 1024*1024, 1024*1024*1024}; - char *fmt[] = { - "%mI", "%mm", "%mM", "%ml", "%mL", "%ms", "%mS", "%md", "%mD", "%m3", "%mr", - "%$mI", "%$mm", "%$mM", "%$ml", "%$mL", "%$ms", "%$mS", "%$md", "%$mD", "%$m3", "%$mr", - NULL }; - char **f; - int n, rep; - - setlocale(LC_ALL, ""); - - for(rep = 0; rep < NUMREP; rep++) { - for(n = 0; n < sizeof(c) / sizeof(c[0]); n++) { -#ifndef SPEED - printf("---------------\n"); -#endif - /* common format strings */ - for(f = fmt; *f != NULL; f++) { - char fmt_tmp[32]; - sprintf(fmt_tmp, "%s=%s\n", (*f)+1, *f); - PCB_PRINTF(fmt_tmp, c[n], c[n], c[n]); - } - - /* special: custom argument list */ - PCB_PRINTF("m*=%m* mil\n", "mil", c[n]); - PCB_PRINTF("m*=%m* mm\n", "mm", c[n]); - - PCB_PRINTF("ma=%ma\n", 1.1234); - PCB_PRINTF("ma=%ma\n", 130.1234); - PCB_PRINTF("ma=%ma\n", 555.1234); - - PCB_PRINTF("m+=%m+%mS mil\n", ALLOW_MIL, c[n]); - PCB_PRINTF("m+=%m+%mS mm\n", ALLOW_MM, c[n]); - PCB_PRINTF("m+=%m+%mS m\n", ALLOW_M, c[n]); - PCB_PRINTF("m+=%m+%mS mm or m\n", ALLOW_MM | ALLOW_M, c[n]); - } - } - -#ifdef SPEED - { - double spent = (double)clock() / (double)CLOCKS_PER_SEC; - printf("total number of pcb_printf calls: %d\n", pc); - printf("total number of CPU seconds spent: %.4f\n", spent); - printf("Average prints per second: %.4f\n", (double)pc/spent); - } -#endif - return 0; -} - - Index: trunk/src/regression/pcb-printf/Makefile =================================================================== --- trunk/src/regression/pcb-printf/Makefile (revision 2204) +++ trunk/src/regression/pcb-printf/Makefile (nonexistent) @@ -1,39 +0,0 @@ -# glib: temporary -CFLAGS_OP = -O3 -CFLAGS = -g \ - -I../.. -I../../.. -I../../../src_3rd - -# -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -#LDFLAGS = -lglib-2.0 - -GDS= ../../../src_3rd/genvector/gds_char.o - -all: test - -test: tester_spd tester.diff - @echo "*** all ok, QC PASS ***" - -tester: tester.o ../../pcb-printf.o $(GDS) - -tester_spd: tester_spd.o ../../pcb-printf_spd.o $(GDS) - -tester.o: tester.c - $(CC) -c $(CFLAGS) -o $@ tester.c - -tester_spd.o: tester.c - $(CC) -c $(CFLAGS_OP) -DSPEED $(CFLAGS) -o $@ tester.c - -tester.stdout: tester - ./tester > tester.stdout - -tester.diff: tester.stdout - diff -u tester.ref tester.stdout - -../../pcb-printf.o: ../../pcb-printf.c ../../pcb-printf.h - -../../pcb-printf_spd.o: ../../pcb-printf.c ../../pcb-printf.h - $(CC) -c $(CFLAGS_OP) -DSPEED $(CFLAGS) -o $@ ../../pcb-printf.c - -clean: - rm tester tester.o 2>/dev/null ; true - Index: trunk/tests/pcb-printf/Makefile =================================================================== --- trunk/tests/pcb-printf/Makefile (nonexistent) +++ trunk/tests/pcb-printf/Makefile (revision 2205) @@ -0,0 +1,38 @@ +TRUNK = ../.. +SRC=$(TRUNK)/src +CFLAGS_OP = -O3 +CFLAGS = -I$(TRUNK) -I$(SRC) -I$(TRUNK)/src_3rd + +GDS= $(TRUNK)/src_3rd/genvector/gds_char.o + +all: tester_spd + +test: tester.diff + @echo "*** all ok, QC PASS ***" + +tester: tester.o $(SRC)/pcb-printf.o $(SRC)/unit.o $(GDS) + +tester_spd: tester_spd.o $(SRC)/pcb-printf_spd.o $(SRC)/unit.o $(GDS) + +tester.o: tester.c + $(CC) -c $(CFLAGS) -o $@ tester.c + +tester_spd.o: tester.c + $(CC) -c $(CFLAGS_OP) -DSPEED $(CFLAGS) -o $@ tester.c + +tester.stdout: tester + ./tester > tester.stdout + +tester.diff: tester.stdout + diff -u tester.ref tester.stdout + +$(SRC)/pcb-printf.o: $(SRC)/pcb-printf.c $(SRC)/pcb-printf.h + +$(SRC)/unit.o: $(SRC)/unit.c $(SRC)/unit.h + +$(SRC)/pcb-printf_spd.o: $(SRC)/pcb-printf.c $(SRC)/pcb-printf.h + $(CC) -c $(CFLAGS_OP) -DSPEED $(CFLAGS) -o $@ ../../pcb-printf.c + +clean: + rm tester tester.o 2>/dev/null ; true + Index: trunk/tests/pcb-printf/tester.c =================================================================== --- trunk/tests/pcb-printf/tester.c (nonexistent) +++ trunk/tests/pcb-printf/tester.c (revision 2205) @@ -0,0 +1,71 @@ +#include +#include +#include "config.h" +#include "global.h" +#include "pcb-printf.h" + +#ifdef SPEED + char buff[8192]; + int pc = 0; +# define NUMREP 4000 +# define PCB_PRINTF(fmt, ...) \ + do { \ + pc++; \ + pcb_snprintf(buff, sizeof(buff), fmt, __VA_ARGS__); \ + } while(0) +#else +# define NUMREP 1 +# define PCB_PRINTF pcb_printf +#endif + +int main() +{ + Coord c[] = {0, 1, 1024, 1024*1024, 1024*1024*1024}; + char *fmt[] = { + "%mI", "%mm", "%mM", "%ml", "%mL", "%ms", "%mS", "%md", "%mD", "%m3", "%mr", + "%$mI", "%$mm", "%$mM", "%$ml", "%$mL", "%$ms", "%$mS", "%$md", "%$mD", "%$m3", "%$mr", + NULL }; + char **f; + int n, rep; + + setlocale(LC_ALL, ""); + + for(rep = 0; rep < NUMREP; rep++) { + for(n = 0; n < sizeof(c) / sizeof(c[0]); n++) { +#ifndef SPEED + printf("---------------\n"); +#endif + /* common format strings */ + for(f = fmt; *f != NULL; f++) { + char fmt_tmp[32]; + sprintf(fmt_tmp, "%s=%s\n", (*f)+1, *f); + PCB_PRINTF(fmt_tmp, c[n], c[n], c[n]); + } + + /* special: custom argument list */ + PCB_PRINTF("m*=%m* mil\n", "mil", c[n]); + PCB_PRINTF("m*=%m* mm\n", "mm", c[n]); + + PCB_PRINTF("ma=%ma\n", 1.1234); + PCB_PRINTF("ma=%ma\n", 130.1234); + PCB_PRINTF("ma=%ma\n", 555.1234); + + PCB_PRINTF("m+=%m+%mS mil\n", ALLOW_MIL, c[n]); + PCB_PRINTF("m+=%m+%mS mm\n", ALLOW_MM, c[n]); + PCB_PRINTF("m+=%m+%mS m\n", ALLOW_M, c[n]); + PCB_PRINTF("m+=%m+%mS mm or m\n", ALLOW_MM | ALLOW_M, c[n]); + } + } + +#ifdef SPEED + { + double spent = (double)clock() / (double)CLOCKS_PER_SEC; + printf("total number of pcb_printf calls: %d\n", pc); + printf("total number of CPU seconds spent: %.4f\n", spent); + printf("Average prints per second: %.4f\n", (double)pc/spent); + } +#endif + return 0; +} + + Index: trunk/tests/pcb-printf/tester.ref =================================================================== --- trunk/tests/pcb-printf/tester.ref (nonexistent) +++ trunk/tests/pcb-printf/tester.ref (revision 2205) @@ -0,0 +1,160 @@ +--------------- +mI=0 +mm=0.0000 +mM=0 +ml=0.00 +mL=0 +ms=0.0000 +mS=0 +md=(0.0000, 0.0000) +mD=(0, 0) +m3=(0, 0, 0) +mr=0 +$mI=0 +$mm=0.0000 +$mM=0 +$ml=0.00 +$mL=0 +$ms=0.0000 +$mS=0 +$md=(0.0000, 0.0000) mm +$mD=(0, 0) nm +$m3=(0, 0, 0) nm +$mr=0 +m*=0.00 mil +m*=0.0000 mm +ma=1 +ma=130 +ma=555 +m+=0.00 mil +m+=0.0000 mm +m+=0.00000 m +m+=0.0000 mm or m +--------------- +mI=1 +mm=0.0000 +mM=1 +ml=0.00 +mL=0 +ms=0.0000 +mS=1 +md=(0.0000, 0.0000) +mD=(1, 1) +m3=(1, 1, 1) +mr=0 +$mI=1 +$mm=0.0000 mm +$mM=1 nm +$ml=0.00 mil +$mL=0 cmil +$ms=0.0000 mm +$mS=1 nm +$md=(0.0000, 0.0000) mm +$mD=(1, 1) nm +$m3=(1, 1, 1) nm +$mr=0 +m*=0.00 mil +m*=0.0000 mm +ma=1 +ma=130 +ma=555 +m+=0.00 mil +m+=0.0000 mm +m+=0.00000 m +m+=0.0000 mm or m +--------------- +mI=1024 +mm=0.0010 +mM=1.02 +ml=0.04 +mL=4 +ms=0.0010 +mS=1.02 +md=(0.0010, 0.0010) +mD=(1.02, 1.02) +m3=(1.02, 1.02, 1.02) +mr=4 +$mI=1024 +$mm=0.0010 mm +$mM=1.02 um +$ml=0.04 mil +$mL=4 cmil +$ms=0.0010 mm +$mS=1.02 um +$md=(0.0010, 0.0010) mm +$mD=(1.02, 1.02) um +$m3=(1.02, 1.02, 1.02) um +$mr=4 +m*=0.04 mil +m*=0.0010 mm +ma=1 +ma=130 +ma=555 +m+=0.04 mil +m+=0.0010 mm +m+=0.00000 m +m+=0.0010 mm or m +--------------- +mI=1048576 +mm=1.0486 +mM=1.0486 +ml=41.28 +mL=41.28 +ms=1.0486 +mS=1.0486 +md=(1.0486, 1.0486) +mD=(1.0486, 1.0486) +m3=(1.0486, 1.0486, 1.0486) +mr=4128 +$mI=1048576 +$mm=1.0486 mm +$mM=1.0486 mm +$ml=41.28 mil +$mL=41.28 mil +$ms=1.0486 mm +$mS=1.0486 mm +$md=(1.0486, 1.0486) mm +$mD=(1.0486, 1.0486) mm +$m3=(1.0486, 1.0486, 1.0486) mm +$mr=4128 +m*=41.28 mil +m*=1.0486 mm +ma=1 +ma=130 +ma=555 +m+=41.28 mil +m+=1.0486 mm +m+=0.00105 m +m+=1.0486 mm or m +--------------- +mI=1073741824 +mm=1073.7418 +mM=1.07374 +ml=42273.30 +mL=42.27330 +ms=1073.7418 +mS=1.07374 +md=(1073.7418, 1073.7418) +mD=(1.07374, 1.07374) +m3=(1.07374, 1.07374, 1.07374) +mr=4227330 +$mI=1073741824 +$mm=1073.7418 mm +$mM=1.07374 m +$ml=42273.30 mil +$mL=42.27330 in +$ms=1073.7418 mm +$mS=1.07374 m +$md=(1073.7418, 1073.7418) mm +$mD=(1.07374, 1.07374) m +$m3=(1.07374, 1.07374, 1.07374) m +$mr=4227330 +m*=42273.30 mil +m*=1073.7418 mm +ma=1 +ma=130 +ma=555 +m+=42273.30 mil +m+=1073.7418 mm +m+=1.07374 m +m+=1.07374 mm or m