diff --git a/src/vhpi/vhpi-util.c b/src/vhpi/vhpi-util.c index 8fec652fb..e3a26b97c 100644 --- a/src/vhpi/vhpi-util.c +++ b/src/vhpi/vhpi-util.c @@ -64,12 +64,15 @@ int vhpi_vprintf(const char *format, va_list args) vhpi_clear_error(); char *buf LOCAL = xvasprintf(format, args); - const size_t len = strlen(buf); + size_t len = strlen(buf); for (char *eptr = buf + len - 1; eptr >= buf && *eptr == '\n'; eptr--) *eptr = '\0'; - notef("VHPI printf $green$%s$$", buf); + diag_t *d = diag_new(DIAG_NOTE, NULL); + diag_write(d, buf, len); + diag_emit(d); + return len; } diff --git a/test/regress/gold/vhpi1.txt b/test/regress/gold/vhpi1.txt index 58ccf5905..ec8dfe7f2 100644 --- a/test/regress/gold/vhpi1.txt +++ b/test/regress/gold/vhpi1.txt @@ -1,73 +1,73 @@ loading VHPI plugin -VHPI printf hello, world! -VHPI printf tool is nvc -VHPI printf tool version is -VHPI printf arg is +foo=bar -VHPI printf root handle -VHPI printf root name is VHPI1 -VHPI printf root full name is :VHPI1 -VHPI printf root port is X -VHPI printf root port is Y -VHPI printf root signal is V -VHPI printf root signal is B -VHPI printf root signal is R -VHPI printf root decl is V -VHPI printf root decl is B -VHPI printf root decl is R -VHPI printf arch handle -VHPI printf arch name is VHPI1-TEST -VHPI printf arch unit name is WORK.VHPI1-TEST -VHPI printf entity handle -VHPI printf entity name is VHPI1 -VHPI printf entity unit name is WORK.VHPI1 -VHPI printf x handle -VHPI printf x name X -VHPI printf x full name is :VHPI1:X -VHPI printf y handle -VHPI printf y name Y -VHPI printf y full name is :VHPI1:Y -VHPI printf r handle -VHPI printf r type handle -VHPI printf r type name is ZERO_TO_ONE -VHPI printf r type full name is @WORK:VHPI1-TEST:ZERO_TO_ONE -VHPI printf v handle -VHPI printf v name is V -VHPI printf v full name is :VHPI1:V -VHPI printf v type handle -VHPI printf v type name is BIT_VECTOR -VHPI printf v type full name is @STD:STANDARD:BIT_VECTOR -VHPI printf v dimensions 1 -VHPI printf v type range handle -VHPI printf v left bound 3 -VHPI printf v right bound 0 -VHPI printf v elem type handle -VHPI printf v elem type name is BIT -VHPI printf v elem type full name is @STD:STANDARD:BIT -VHPI printf v elem literal 0 is '0' -VHPI printf v elem literal 1 is '1' -VHPI printf v indexed name is V(3) -VHPI printf v indexed name is V(2) -VHPI printf v indexed name is V(1) -VHPI printf v indexed name is V(0) -VHPI printf name is A_NAME_WITH_MIXED_CASE -VHPI printf case name is A_NAME_WITH_MIXED_CASE -VHPI printf full case name is :VHPI1:A_NAME_WITH_MIXED_CASE -VHPI printf start of sim callback! user data is 'some user data' +hello, world! +tool is nvc +tool version is +arg is +foo=bar +root handle +root name is VHPI1 +root full name is :VHPI1 +root port is X +root port is Y +root signal is V +root signal is B +root signal is R +root decl is V +root decl is B +root decl is R +arch handle +arch name is VHPI1-TEST +arch unit name is WORK.VHPI1-TEST +entity handle +entity name is VHPI1 +entity unit name is WORK.VHPI1 +x handle +x name X +x full name is :VHPI1:X +y handle +y name Y +y full name is :VHPI1:Y +r handle +r type handle +r type name is ZERO_TO_ONE +r type full name is @WORK:VHPI1-TEST:ZERO_TO_ONE +v handle +v name is V +v full name is :VHPI1:V +v type handle +v type name is BIT_VECTOR +v type full name is @STD:STANDARD:BIT_VECTOR +v dimensions 1 +v type range handle +v left bound 3 +v right bound 0 +v elem type handle +v elem type name is BIT +v elem type full name is @STD:STANDARD:BIT +v elem literal 0 is '0' +v elem literal 1 is '1' +v indexed name is V(3) +v indexed name is V(2) +v indexed name is V(1) +v indexed name is V(0) +name is A_NAME_WITH_MIXED_CASE +case name is A_NAME_WITH_MIXED_CASE +full case name is :VHPI1:A_NAME_WITH_MIXED_CASE +start of sim callback! user data is 'some user data' 0ms+0: x=5 -VHPI printf after_5ns callback! +after_5ns callback! 5ns+1: x=70 -5000001fs+0: VHPI printf mutual callback! -5000001fs+0: VHPI printf mutual callback! -5000001fs+0: VHPI printf deferred work callback! -5000002fs+0: VHPI printf enabled callback! -VHPI printf y value changed to 71 -6ns+0: VHPI printf mutual callback! +5000001fs+0: mutual callback! +5000001fs+0: mutual callback! +5000001fs+0: deferred work callback! +5000002fs+0: enabled callback! +y value changed to 71 +6ns+0: mutual callback! 6ns+1: x=72 -VHPI printf y value changed to 73 +y value changed to 73 7ns+1: x=74 -VHPI printf y value changed to 75 -VHPI printf b bit string '0' -VHPI printf need 5 bytes for v string -VHPI printf v bit string '0011' +y value changed to 75 +b bit string '0' +need 5 bytes for v string +v bit string '0011' VHPI plugin requested end of simulation -VHPI printf end of sim callback +end of sim callback diff --git a/test/regress/gold/vhpi5.txt b/test/regress/gold/vhpi5.txt index acf3f38eb..d22e894e0 100644 --- a/test/regress/gold/vhpi5.txt +++ b/test/regress/gold/vhpi5.txt @@ -1,441 +1,441 @@ -VHPI printf test name is vhpi5 -VHPI printf hello, world! -VHPI printf tool is (null) -VHPI printf root handle -VHPI printf root name is VHPI5 -VHPI printf m handle -VHPI printf m elem 0 is A -VHPI printf m elem 1 is B -VHPI printf m elem 2 is C -VHPI printf M.A = 0000 -VHPI printf M.B = 0010 -VHPI printf M.C(0) = 0020 -VHPI printf M.C(1) = 0021 -VHPI printf N(0,0).A = 0000 -VHPI printf N(0,0).B = 0010 -VHPI printf N(0,0).C(0) = 0020 -VHPI printf N(0,0).C(1) = 0021 -VHPI printf N(0,1).A = 0100 -VHPI printf N(0,1).B = 0110 -VHPI printf N(0,1).C(0) = 0120 -VHPI printf N(0,1).C(1) = 0121 -VHPI printf N(0,2).A = 0200 -VHPI printf N(0,2).B = 0210 -VHPI printf N(0,2).C(0) = 0220 -VHPI printf N(0,2).C(1) = 0221 -VHPI printf N(0,3).A = 0300 -VHPI printf N(0,3).B = 0310 -VHPI printf N(0,3).C(0) = 0320 -VHPI printf N(0,3).C(1) = 0321 -VHPI printf N(0,4).A = 0400 -VHPI printf N(0,4).B = 0410 -VHPI printf N(0,4).C(0) = 0420 -VHPI printf N(0,4).C(1) = 0421 -VHPI printf N(1,0).A = 1000 -VHPI printf N(1,0).B = 1010 -VHPI printf N(1,0).C(0) = 1020 -VHPI printf N(1,0).C(1) = 1021 -VHPI printf N(1,1).A = 1100 -VHPI printf N(1,1).B = 1110 -VHPI printf N(1,1).C(0) = 1120 -VHPI printf N(1,1).C(1) = 1121 -VHPI printf N(1,2).A = 1200 -VHPI printf N(1,2).B = 1210 -VHPI printf N(1,2).C(0) = 1220 -VHPI printf N(1,2).C(1) = 1221 -VHPI printf N(1,3).A = 1300 -VHPI printf N(1,3).B = 1310 -VHPI printf N(1,3).C(0) = 1320 -VHPI printf N(1,3).C(1) = 1321 -VHPI printf N(1,4).A = 1400 -VHPI printf N(1,4).B = 1410 -VHPI printf N(1,4).C(0) = 1420 -VHPI printf N(1,4).C(1) = 1421 -VHPI printf N(2,0).A = 2000 -VHPI printf N(2,0).B = 2010 -VHPI printf N(2,0).C(0) = 2020 -VHPI printf N(2,0).C(1) = 2021 -VHPI printf N(2,1).A = 2100 -VHPI printf N(2,1).B = 2110 -VHPI printf N(2,1).C(0) = 2120 -VHPI printf N(2,1).C(1) = 2121 -VHPI printf N(2,2).A = 2200 -VHPI printf N(2,2).B = 2210 -VHPI printf N(2,2).C(0) = 2220 -VHPI printf N(2,2).C(1) = 2221 -VHPI printf N(2,3).A = 2300 -VHPI printf N(2,3).B = 2310 -VHPI printf N(2,3).C(0) = 2320 -VHPI printf N(2,3).C(1) = 2321 -VHPI printf N(2,4).A = 2400 -VHPI printf N(2,4).B = 2410 -VHPI printf N(2,4).C(0) = 2420 -VHPI printf N(2,4).C(1) = 2421 -VHPI printf N(3,0).A = 3000 -VHPI printf N(3,0).B = 3010 -VHPI printf N(3,0).C(0) = 3020 -VHPI printf N(3,0).C(1) = 3021 -VHPI printf N(3,1).A = 3100 -VHPI printf N(3,1).B = 3110 -VHPI printf N(3,1).C(0) = 3120 -VHPI printf N(3,1).C(1) = 3121 -VHPI printf N(3,2).A = 3200 -VHPI printf N(3,2).B = 3210 -VHPI printf N(3,2).C(0) = 3220 -VHPI printf N(3,2).C(1) = 3221 -VHPI printf N(3,3).A = 3300 -VHPI printf N(3,3).B = 3310 -VHPI printf N(3,3).C(0) = 3320 -VHPI printf N(3,3).C(1) = 3321 -VHPI printf N(3,4).A = 3400 -VHPI printf N(3,4).B = 3410 -VHPI printf N(3,4).C(0) = 3420 -VHPI printf N(3,4).C(1) = 3421 -VHPI printf N(4,0).A = 4000 -VHPI printf N(4,0).B = 4010 -VHPI printf N(4,0).C(0) = 4020 -VHPI printf N(4,0).C(1) = 4021 -VHPI printf N(4,1).A = 4100 -VHPI printf N(4,1).B = 4110 -VHPI printf N(4,1).C(0) = 4120 -VHPI printf N(4,1).C(1) = 4121 -VHPI printf N(4,2).A = 4200 -VHPI printf N(4,2).B = 4210 -VHPI printf N(4,2).C(0) = 4220 -VHPI printf N(4,2).C(1) = 4221 -VHPI printf N(4,3).A = 4300 -VHPI printf N(4,3).B = 4310 -VHPI printf N(4,3).C(0) = 4320 -VHPI printf N(4,3).C(1) = 4321 -VHPI printf N(4,4).A = 4400 -VHPI printf N(4,4).B = 4410 -VHPI printf N(4,4).C(0) = 4420 -VHPI printf N(4,4).C(1) = 4421 -VHPI printf N(5,0).A = 5000 -VHPI printf N(5,0).B = 5010 -VHPI printf N(5,0).C(0) = 5020 -VHPI printf N(5,0).C(1) = 5021 -VHPI printf N(5,1).A = 5100 -VHPI printf N(5,1).B = 5110 -VHPI printf N(5,1).C(0) = 5120 -VHPI printf N(5,1).C(1) = 5121 -VHPI printf N(5,2).A = 5200 -VHPI printf N(5,2).B = 5210 -VHPI printf N(5,2).C(0) = 5220 -VHPI printf N(5,2).C(1) = 5221 -VHPI printf N(5,3).A = 5300 -VHPI printf N(5,3).B = 5310 -VHPI printf N(5,3).C(0) = 5320 -VHPI printf N(5,3).C(1) = 5321 -VHPI printf N(5,4).A = 5400 -VHPI printf N(5,4).B = 5410 -VHPI printf N(5,4).C(0) = 5420 -VHPI printf N(5,4).C(1) = 5421 -VHPI printf N(6,0).A = 6000 -VHPI printf N(6,0).B = 6010 -VHPI printf N(6,0).C(0) = 6020 -VHPI printf N(6,0).C(1) = 6021 -VHPI printf N(6,1).A = 6100 -VHPI printf N(6,1).B = 6110 -VHPI printf N(6,1).C(0) = 6120 -VHPI printf N(6,1).C(1) = 6121 -VHPI printf N(6,2).A = 6200 -VHPI printf N(6,2).B = 6210 -VHPI printf N(6,2).C(0) = 6220 -VHPI printf N(6,2).C(1) = 6221 -VHPI printf N(6,3).A = 6300 -VHPI printf N(6,3).B = 6310 -VHPI printf N(6,3).C(0) = 6320 -VHPI printf N(6,3).C(1) = 6321 -VHPI printf N(6,4).A = 6400 -VHPI printf N(6,4).B = 6410 -VHPI printf N(6,4).C(0) = 6420 -VHPI printf N(6,4).C(1) = 6421 -VHPI printf O.A = 0000 -VHPI printf O.B = 1000 -VHPI printf O.C(0) = 2000 -VHPI printf O.C(1) = 2100 -VHPI printf O.C(2) = 2200 -VHPI printf O.C(3) = 2300 -VHPI printf O.C(4) = 2400 -VHPI printf O.D(0) = 3000 -VHPI printf O.D(1) = 3100 -VHPI printf O.D(2) = 3200 -VHPI printf O.D(3) = 3300 -VHPI printf O.D(4) = 3400 -VHPI printf O.E(0).A = 4000 -VHPI printf O.E(0).B = 4010 -VHPI printf O.E(0).C(0) = 4020 -VHPI printf O.E(0).C(1) = 4021 -VHPI printf O.E(1).A = 4100 -VHPI printf O.E(1).B = 4110 -VHPI printf O.E(1).C(0) = 4120 -VHPI printf O.E(1).C(1) = 4121 -VHPI printf O.E(2).A = 4200 -VHPI printf O.E(2).B = 4210 -VHPI printf O.E(2).C(0) = 4220 -VHPI printf O.E(2).C(1) = 4221 -VHPI printf O.E(3).A = 4300 -VHPI printf O.E(3).B = 4310 -VHPI printf O.E(3).C(0) = 4320 -VHPI printf O.E(3).C(1) = 4321 -VHPI printf O.E(4).A = 4400 -VHPI printf O.E(4).B = 4410 -VHPI printf O.E(4).C(0) = 4420 -VHPI printf O.E(4).C(1) = 4421 -VHPI printf O.F(0).A = 5000 -VHPI printf O.F(0).B = 5010 -VHPI printf O.F(0).C(0) = 5020 -VHPI printf O.F(0).C(1) = 5021 -VHPI printf O.F(1).A = 5100 -VHPI printf O.F(1).B = 5110 -VHPI printf O.F(1).C(0) = 5120 -VHPI printf O.F(1).C(1) = 5121 -VHPI printf O.F(2).A = 5200 -VHPI printf O.F(2).B = 5210 -VHPI printf O.F(2).C(0) = 5220 -VHPI printf O.F(2).C(1) = 5221 -VHPI printf O.F(3).A = 5300 -VHPI printf O.F(3).B = 5310 -VHPI printf O.F(3).C(0) = 5320 -VHPI printf O.F(3).C(1) = 5321 -VHPI printf O.F(4).A = 5400 -VHPI printf O.F(4).B = 5410 -VHPI printf O.F(4).C(0) = 5420 -VHPI printf O.F(4).C(1) = 5421 -VHPI printf O.G(0).A = 6000 -VHPI printf O.G(0).B = 6010 -VHPI printf O.G(0).C(0) = 6020 -VHPI printf O.G(0).C(1) = 6021 -VHPI printf O.G(1).A = 6100 -VHPI printf O.G(1).B = 6110 -VHPI printf O.G(1).C(0) = 6120 -VHPI printf O.G(1).C(1) = 6121 -VHPI printf O.G(2).A = 6200 -VHPI printf O.G(2).B = 6210 -VHPI printf O.G(2).C(0) = 6220 -VHPI printf O.G(2).C(1) = 6221 -VHPI printf O.G(3).A = 6300 -VHPI printf O.G(3).B = 6310 -VHPI printf O.G(3).C(0) = 6320 -VHPI printf O.G(3).C(1) = 6321 -VHPI printf O.G(4).A = 6400 -VHPI printf O.G(4).B = 6410 -VHPI printf O.G(4).C(0) = 6420 -VHPI printf O.G(4).C(1) = 6421 -VHPI printf M.A = 0000 -VHPI printf M.B = 0100 -VHPI printf M.C(0) = 0200 -VHPI printf M.C(1) = 1200 -VHPI printf N(0,0).A = 0000 -VHPI printf N(0,0).B = 0100 -VHPI printf N(0,0).C(0) = 0200 -VHPI printf N(0,0).C(1) = 1200 -VHPI printf N(0,1).A = 0010 -VHPI printf N(0,1).B = 0110 -VHPI printf N(0,1).C(0) = 0210 -VHPI printf N(0,1).C(1) = 1210 -VHPI printf N(0,2).A = 0020 -VHPI printf N(0,2).B = 0120 -VHPI printf N(0,2).C(0) = 0220 -VHPI printf N(0,2).C(1) = 1220 -VHPI printf N(0,3).A = 0030 -VHPI printf N(0,3).B = 0130 -VHPI printf N(0,3).C(0) = 0230 -VHPI printf N(0,3).C(1) = 1230 -VHPI printf N(0,4).A = 0040 -VHPI printf N(0,4).B = 0140 -VHPI printf N(0,4).C(0) = 0240 -VHPI printf N(0,4).C(1) = 1240 -VHPI printf N(1,0).A = 0001 -VHPI printf N(1,0).B = 0101 -VHPI printf N(1,0).C(0) = 0201 -VHPI printf N(1,0).C(1) = 1201 -VHPI printf N(1,1).A = 0011 -VHPI printf N(1,1).B = 0111 -VHPI printf N(1,1).C(0) = 0211 -VHPI printf N(1,1).C(1) = 1211 -VHPI printf N(1,2).A = 0021 -VHPI printf N(1,2).B = 0121 -VHPI printf N(1,2).C(0) = 0221 -VHPI printf N(1,2).C(1) = 1221 -VHPI printf N(1,3).A = 0031 -VHPI printf N(1,3).B = 0131 -VHPI printf N(1,3).C(0) = 0231 -VHPI printf N(1,3).C(1) = 1231 -VHPI printf N(1,4).A = 0041 -VHPI printf N(1,4).B = 0141 -VHPI printf N(1,4).C(0) = 0241 -VHPI printf N(1,4).C(1) = 1241 -VHPI printf N(2,0).A = 0002 -VHPI printf N(2,0).B = 0102 -VHPI printf N(2,0).C(0) = 0202 -VHPI printf N(2,0).C(1) = 1202 -VHPI printf N(2,1).A = 0012 -VHPI printf N(2,1).B = 0112 -VHPI printf N(2,1).C(0) = 0212 -VHPI printf N(2,1).C(1) = 1212 -VHPI printf N(2,2).A = 0022 -VHPI printf N(2,2).B = 0122 -VHPI printf N(2,2).C(0) = 0222 -VHPI printf N(2,2).C(1) = 1222 -VHPI printf N(2,3).A = 0032 -VHPI printf N(2,3).B = 0132 -VHPI printf N(2,3).C(0) = 0232 -VHPI printf N(2,3).C(1) = 1232 -VHPI printf N(2,4).A = 0042 -VHPI printf N(2,4).B = 0142 -VHPI printf N(2,4).C(0) = 0242 -VHPI printf N(2,4).C(1) = 1242 -VHPI printf N(3,0).A = 0003 -VHPI printf N(3,0).B = 0103 -VHPI printf N(3,0).C(0) = 0203 -VHPI printf N(3,0).C(1) = 1203 -VHPI printf N(3,1).A = 0013 -VHPI printf N(3,1).B = 0113 -VHPI printf N(3,1).C(0) = 0213 -VHPI printf N(3,1).C(1) = 1213 -VHPI printf N(3,2).A = 0023 -VHPI printf N(3,2).B = 0123 -VHPI printf N(3,2).C(0) = 0223 -VHPI printf N(3,2).C(1) = 1223 -VHPI printf N(3,3).A = 0033 -VHPI printf N(3,3).B = 0133 -VHPI printf N(3,3).C(0) = 0233 -VHPI printf N(3,3).C(1) = 1233 -VHPI printf N(3,4).A = 0043 -VHPI printf N(3,4).B = 0143 -VHPI printf N(3,4).C(0) = 0243 -VHPI printf N(3,4).C(1) = 1243 -VHPI printf N(4,0).A = 0004 -VHPI printf N(4,0).B = 0104 -VHPI printf N(4,0).C(0) = 0204 -VHPI printf N(4,0).C(1) = 1204 -VHPI printf N(4,1).A = 0014 -VHPI printf N(4,1).B = 0114 -VHPI printf N(4,1).C(0) = 0214 -VHPI printf N(4,1).C(1) = 1214 -VHPI printf N(4,2).A = 0024 -VHPI printf N(4,2).B = 0124 -VHPI printf N(4,2).C(0) = 0224 -VHPI printf N(4,2).C(1) = 1224 -VHPI printf N(4,3).A = 0034 -VHPI printf N(4,3).B = 0134 -VHPI printf N(4,3).C(0) = 0234 -VHPI printf N(4,3).C(1) = 1234 -VHPI printf N(4,4).A = 0044 -VHPI printf N(4,4).B = 0144 -VHPI printf N(4,4).C(0) = 0244 -VHPI printf N(4,4).C(1) = 1244 -VHPI printf N(5,0).A = 0005 -VHPI printf N(5,0).B = 0105 -VHPI printf N(5,0).C(0) = 0205 -VHPI printf N(5,0).C(1) = 1205 -VHPI printf N(5,1).A = 0015 -VHPI printf N(5,1).B = 0115 -VHPI printf N(5,1).C(0) = 0215 -VHPI printf N(5,1).C(1) = 1215 -VHPI printf N(5,2).A = 0025 -VHPI printf N(5,2).B = 0125 -VHPI printf N(5,2).C(0) = 0225 -VHPI printf N(5,2).C(1) = 1225 -VHPI printf N(5,3).A = 0035 -VHPI printf N(5,3).B = 0135 -VHPI printf N(5,3).C(0) = 0235 -VHPI printf N(5,3).C(1) = 1235 -VHPI printf N(5,4).A = 0045 -VHPI printf N(5,4).B = 0145 -VHPI printf N(5,4).C(0) = 0245 -VHPI printf N(5,4).C(1) = 1245 -VHPI printf N(6,0).A = 0006 -VHPI printf N(6,0).B = 0106 -VHPI printf N(6,0).C(0) = 0206 -VHPI printf N(6,0).C(1) = 1206 -VHPI printf N(6,1).A = 0016 -VHPI printf N(6,1).B = 0116 -VHPI printf N(6,1).C(0) = 0216 -VHPI printf N(6,1).C(1) = 1216 -VHPI printf N(6,2).A = 0026 -VHPI printf N(6,2).B = 0126 -VHPI printf N(6,2).C(0) = 0226 -VHPI printf N(6,2).C(1) = 1226 -VHPI printf N(6,3).A = 0036 -VHPI printf N(6,3).B = 0136 -VHPI printf N(6,3).C(0) = 0236 -VHPI printf N(6,3).C(1) = 1236 -VHPI printf N(6,4).A = 0046 -VHPI printf N(6,4).B = 0146 -VHPI printf N(6,4).C(0) = 0246 -VHPI printf N(6,4).C(1) = 1246 -VHPI printf O.A = 0000 -VHPI printf O.B = 0001 -VHPI printf O.C(0) = 0002 -VHPI printf O.C(1) = 0012 -VHPI printf O.C(2) = 0022 -VHPI printf O.C(3) = 0032 -VHPI printf O.C(4) = 0042 -VHPI printf O.D(0) = 0003 -VHPI printf O.D(1) = 0013 -VHPI printf O.D(2) = 0023 -VHPI printf O.D(3) = 0033 -VHPI printf O.D(4) = 0043 -VHPI printf O.E(0).A = 0004 -VHPI printf O.E(0).B = 0104 -VHPI printf O.E(0).C(0) = 0204 -VHPI printf O.E(0).C(1) = 1204 -VHPI printf O.E(1).A = 0014 -VHPI printf O.E(1).B = 0114 -VHPI printf O.E(1).C(0) = 0214 -VHPI printf O.E(1).C(1) = 1214 -VHPI printf O.E(2).A = 0024 -VHPI printf O.E(2).B = 0124 -VHPI printf O.E(2).C(0) = 0224 -VHPI printf O.E(2).C(1) = 1224 -VHPI printf O.E(3).A = 0034 -VHPI printf O.E(3).B = 0134 -VHPI printf O.E(3).C(0) = 0234 -VHPI printf O.E(3).C(1) = 1234 -VHPI printf O.E(4).A = 0044 -VHPI printf O.E(4).B = 0144 -VHPI printf O.E(4).C(0) = 0244 -VHPI printf O.E(4).C(1) = 1244 -VHPI printf O.F(0).A = 0005 -VHPI printf O.F(0).B = 0105 -VHPI printf O.F(0).C(0) = 0205 -VHPI printf O.F(0).C(1) = 1205 -VHPI printf O.F(1).A = 0015 -VHPI printf O.F(1).B = 0115 -VHPI printf O.F(1).C(0) = 0215 -VHPI printf O.F(1).C(1) = 1215 -VHPI printf O.F(2).A = 0025 -VHPI printf O.F(2).B = 0125 -VHPI printf O.F(2).C(0) = 0225 -VHPI printf O.F(2).C(1) = 1225 -VHPI printf O.F(3).A = 0035 -VHPI printf O.F(3).B = 0135 -VHPI printf O.F(3).C(0) = 0235 -VHPI printf O.F(3).C(1) = 1235 -VHPI printf O.F(4).A = 0045 -VHPI printf O.F(4).B = 0145 -VHPI printf O.F(4).C(0) = 0245 -VHPI printf O.F(4).C(1) = 1245 -VHPI printf O.G(0).A = 0006 -VHPI printf O.G(0).B = 0106 -VHPI printf O.G(0).C(0) = 0206 -VHPI printf O.G(0).C(1) = 1206 -VHPI printf O.G(1).A = 0016 -VHPI printf O.G(1).B = 0116 -VHPI printf O.G(1).C(0) = 0216 -VHPI printf O.G(1).C(1) = 1216 -VHPI printf O.G(2).A = 0026 -VHPI printf O.G(2).B = 0126 -VHPI printf O.G(2).C(0) = 0226 -VHPI printf O.G(2).C(1) = 1226 -VHPI printf O.G(3).A = 0036 -VHPI printf O.G(3).B = 0136 -VHPI printf O.G(3).C(0) = 0236 -VHPI printf O.G(3).C(1) = 1236 -VHPI printf O.G(4).A = 0046 -VHPI printf O.G(4).B = 0146 -VHPI printf O.G(4).C(0) = 0246 -VHPI printf O.G(4).C(1) = 1246 +test name is vhpi5 +hello, world! +tool is (null) +root handle +root name is VHPI5 +m handle +m elem 0 is A +m elem 1 is B +m elem 2 is C +M.A = 0000 +M.B = 0010 +M.C(0) = 0020 +M.C(1) = 0021 +N(0,0).A = 0000 +N(0,0).B = 0010 +N(0,0).C(0) = 0020 +N(0,0).C(1) = 0021 +N(0,1).A = 0100 +N(0,1).B = 0110 +N(0,1).C(0) = 0120 +N(0,1).C(1) = 0121 +N(0,2).A = 0200 +N(0,2).B = 0210 +N(0,2).C(0) = 0220 +N(0,2).C(1) = 0221 +N(0,3).A = 0300 +N(0,3).B = 0310 +N(0,3).C(0) = 0320 +N(0,3).C(1) = 0321 +N(0,4).A = 0400 +N(0,4).B = 0410 +N(0,4).C(0) = 0420 +N(0,4).C(1) = 0421 +N(1,0).A = 1000 +N(1,0).B = 1010 +N(1,0).C(0) = 1020 +N(1,0).C(1) = 1021 +N(1,1).A = 1100 +N(1,1).B = 1110 +N(1,1).C(0) = 1120 +N(1,1).C(1) = 1121 +N(1,2).A = 1200 +N(1,2).B = 1210 +N(1,2).C(0) = 1220 +N(1,2).C(1) = 1221 +N(1,3).A = 1300 +N(1,3).B = 1310 +N(1,3).C(0) = 1320 +N(1,3).C(1) = 1321 +N(1,4).A = 1400 +N(1,4).B = 1410 +N(1,4).C(0) = 1420 +N(1,4).C(1) = 1421 +N(2,0).A = 2000 +N(2,0).B = 2010 +N(2,0).C(0) = 2020 +N(2,0).C(1) = 2021 +N(2,1).A = 2100 +N(2,1).B = 2110 +N(2,1).C(0) = 2120 +N(2,1).C(1) = 2121 +N(2,2).A = 2200 +N(2,2).B = 2210 +N(2,2).C(0) = 2220 +N(2,2).C(1) = 2221 +N(2,3).A = 2300 +N(2,3).B = 2310 +N(2,3).C(0) = 2320 +N(2,3).C(1) = 2321 +N(2,4).A = 2400 +N(2,4).B = 2410 +N(2,4).C(0) = 2420 +N(2,4).C(1) = 2421 +N(3,0).A = 3000 +N(3,0).B = 3010 +N(3,0).C(0) = 3020 +N(3,0).C(1) = 3021 +N(3,1).A = 3100 +N(3,1).B = 3110 +N(3,1).C(0) = 3120 +N(3,1).C(1) = 3121 +N(3,2).A = 3200 +N(3,2).B = 3210 +N(3,2).C(0) = 3220 +N(3,2).C(1) = 3221 +N(3,3).A = 3300 +N(3,3).B = 3310 +N(3,3).C(0) = 3320 +N(3,3).C(1) = 3321 +N(3,4).A = 3400 +N(3,4).B = 3410 +N(3,4).C(0) = 3420 +N(3,4).C(1) = 3421 +N(4,0).A = 4000 +N(4,0).B = 4010 +N(4,0).C(0) = 4020 +N(4,0).C(1) = 4021 +N(4,1).A = 4100 +N(4,1).B = 4110 +N(4,1).C(0) = 4120 +N(4,1).C(1) = 4121 +N(4,2).A = 4200 +N(4,2).B = 4210 +N(4,2).C(0) = 4220 +N(4,2).C(1) = 4221 +N(4,3).A = 4300 +N(4,3).B = 4310 +N(4,3).C(0) = 4320 +N(4,3).C(1) = 4321 +N(4,4).A = 4400 +N(4,4).B = 4410 +N(4,4).C(0) = 4420 +N(4,4).C(1) = 4421 +N(5,0).A = 5000 +N(5,0).B = 5010 +N(5,0).C(0) = 5020 +N(5,0).C(1) = 5021 +N(5,1).A = 5100 +N(5,1).B = 5110 +N(5,1).C(0) = 5120 +N(5,1).C(1) = 5121 +N(5,2).A = 5200 +N(5,2).B = 5210 +N(5,2).C(0) = 5220 +N(5,2).C(1) = 5221 +N(5,3).A = 5300 +N(5,3).B = 5310 +N(5,3).C(0) = 5320 +N(5,3).C(1) = 5321 +N(5,4).A = 5400 +N(5,4).B = 5410 +N(5,4).C(0) = 5420 +N(5,4).C(1) = 5421 +N(6,0).A = 6000 +N(6,0).B = 6010 +N(6,0).C(0) = 6020 +N(6,0).C(1) = 6021 +N(6,1).A = 6100 +N(6,1).B = 6110 +N(6,1).C(0) = 6120 +N(6,1).C(1) = 6121 +N(6,2).A = 6200 +N(6,2).B = 6210 +N(6,2).C(0) = 6220 +N(6,2).C(1) = 6221 +N(6,3).A = 6300 +N(6,3).B = 6310 +N(6,3).C(0) = 6320 +N(6,3).C(1) = 6321 +N(6,4).A = 6400 +N(6,4).B = 6410 +N(6,4).C(0) = 6420 +N(6,4).C(1) = 6421 +O.A = 0000 +O.B = 1000 +O.C(0) = 2000 +O.C(1) = 2100 +O.C(2) = 2200 +O.C(3) = 2300 +O.C(4) = 2400 +O.D(0) = 3000 +O.D(1) = 3100 +O.D(2) = 3200 +O.D(3) = 3300 +O.D(4) = 3400 +O.E(0).A = 4000 +O.E(0).B = 4010 +O.E(0).C(0) = 4020 +O.E(0).C(1) = 4021 +O.E(1).A = 4100 +O.E(1).B = 4110 +O.E(1).C(0) = 4120 +O.E(1).C(1) = 4121 +O.E(2).A = 4200 +O.E(2).B = 4210 +O.E(2).C(0) = 4220 +O.E(2).C(1) = 4221 +O.E(3).A = 4300 +O.E(3).B = 4310 +O.E(3).C(0) = 4320 +O.E(3).C(1) = 4321 +O.E(4).A = 4400 +O.E(4).B = 4410 +O.E(4).C(0) = 4420 +O.E(4).C(1) = 4421 +O.F(0).A = 5000 +O.F(0).B = 5010 +O.F(0).C(0) = 5020 +O.F(0).C(1) = 5021 +O.F(1).A = 5100 +O.F(1).B = 5110 +O.F(1).C(0) = 5120 +O.F(1).C(1) = 5121 +O.F(2).A = 5200 +O.F(2).B = 5210 +O.F(2).C(0) = 5220 +O.F(2).C(1) = 5221 +O.F(3).A = 5300 +O.F(3).B = 5310 +O.F(3).C(0) = 5320 +O.F(3).C(1) = 5321 +O.F(4).A = 5400 +O.F(4).B = 5410 +O.F(4).C(0) = 5420 +O.F(4).C(1) = 5421 +O.G(0).A = 6000 +O.G(0).B = 6010 +O.G(0).C(0) = 6020 +O.G(0).C(1) = 6021 +O.G(1).A = 6100 +O.G(1).B = 6110 +O.G(1).C(0) = 6120 +O.G(1).C(1) = 6121 +O.G(2).A = 6200 +O.G(2).B = 6210 +O.G(2).C(0) = 6220 +O.G(2).C(1) = 6221 +O.G(3).A = 6300 +O.G(3).B = 6310 +O.G(3).C(0) = 6320 +O.G(3).C(1) = 6321 +O.G(4).A = 6400 +O.G(4).B = 6410 +O.G(4).C(0) = 6420 +O.G(4).C(1) = 6421 +M.A = 0000 +M.B = 0100 +M.C(0) = 0200 +M.C(1) = 1200 +N(0,0).A = 0000 +N(0,0).B = 0100 +N(0,0).C(0) = 0200 +N(0,0).C(1) = 1200 +N(0,1).A = 0010 +N(0,1).B = 0110 +N(0,1).C(0) = 0210 +N(0,1).C(1) = 1210 +N(0,2).A = 0020 +N(0,2).B = 0120 +N(0,2).C(0) = 0220 +N(0,2).C(1) = 1220 +N(0,3).A = 0030 +N(0,3).B = 0130 +N(0,3).C(0) = 0230 +N(0,3).C(1) = 1230 +N(0,4).A = 0040 +N(0,4).B = 0140 +N(0,4).C(0) = 0240 +N(0,4).C(1) = 1240 +N(1,0).A = 0001 +N(1,0).B = 0101 +N(1,0).C(0) = 0201 +N(1,0).C(1) = 1201 +N(1,1).A = 0011 +N(1,1).B = 0111 +N(1,1).C(0) = 0211 +N(1,1).C(1) = 1211 +N(1,2).A = 0021 +N(1,2).B = 0121 +N(1,2).C(0) = 0221 +N(1,2).C(1) = 1221 +N(1,3).A = 0031 +N(1,3).B = 0131 +N(1,3).C(0) = 0231 +N(1,3).C(1) = 1231 +N(1,4).A = 0041 +N(1,4).B = 0141 +N(1,4).C(0) = 0241 +N(1,4).C(1) = 1241 +N(2,0).A = 0002 +N(2,0).B = 0102 +N(2,0).C(0) = 0202 +N(2,0).C(1) = 1202 +N(2,1).A = 0012 +N(2,1).B = 0112 +N(2,1).C(0) = 0212 +N(2,1).C(1) = 1212 +N(2,2).A = 0022 +N(2,2).B = 0122 +N(2,2).C(0) = 0222 +N(2,2).C(1) = 1222 +N(2,3).A = 0032 +N(2,3).B = 0132 +N(2,3).C(0) = 0232 +N(2,3).C(1) = 1232 +N(2,4).A = 0042 +N(2,4).B = 0142 +N(2,4).C(0) = 0242 +N(2,4).C(1) = 1242 +N(3,0).A = 0003 +N(3,0).B = 0103 +N(3,0).C(0) = 0203 +N(3,0).C(1) = 1203 +N(3,1).A = 0013 +N(3,1).B = 0113 +N(3,1).C(0) = 0213 +N(3,1).C(1) = 1213 +N(3,2).A = 0023 +N(3,2).B = 0123 +N(3,2).C(0) = 0223 +N(3,2).C(1) = 1223 +N(3,3).A = 0033 +N(3,3).B = 0133 +N(3,3).C(0) = 0233 +N(3,3).C(1) = 1233 +N(3,4).A = 0043 +N(3,4).B = 0143 +N(3,4).C(0) = 0243 +N(3,4).C(1) = 1243 +N(4,0).A = 0004 +N(4,0).B = 0104 +N(4,0).C(0) = 0204 +N(4,0).C(1) = 1204 +N(4,1).A = 0014 +N(4,1).B = 0114 +N(4,1).C(0) = 0214 +N(4,1).C(1) = 1214 +N(4,2).A = 0024 +N(4,2).B = 0124 +N(4,2).C(0) = 0224 +N(4,2).C(1) = 1224 +N(4,3).A = 0034 +N(4,3).B = 0134 +N(4,3).C(0) = 0234 +N(4,3).C(1) = 1234 +N(4,4).A = 0044 +N(4,4).B = 0144 +N(4,4).C(0) = 0244 +N(4,4).C(1) = 1244 +N(5,0).A = 0005 +N(5,0).B = 0105 +N(5,0).C(0) = 0205 +N(5,0).C(1) = 1205 +N(5,1).A = 0015 +N(5,1).B = 0115 +N(5,1).C(0) = 0215 +N(5,1).C(1) = 1215 +N(5,2).A = 0025 +N(5,2).B = 0125 +N(5,2).C(0) = 0225 +N(5,2).C(1) = 1225 +N(5,3).A = 0035 +N(5,3).B = 0135 +N(5,3).C(0) = 0235 +N(5,3).C(1) = 1235 +N(5,4).A = 0045 +N(5,4).B = 0145 +N(5,4).C(0) = 0245 +N(5,4).C(1) = 1245 +N(6,0).A = 0006 +N(6,0).B = 0106 +N(6,0).C(0) = 0206 +N(6,0).C(1) = 1206 +N(6,1).A = 0016 +N(6,1).B = 0116 +N(6,1).C(0) = 0216 +N(6,1).C(1) = 1216 +N(6,2).A = 0026 +N(6,2).B = 0126 +N(6,2).C(0) = 0226 +N(6,2).C(1) = 1226 +N(6,3).A = 0036 +N(6,3).B = 0136 +N(6,3).C(0) = 0236 +N(6,3).C(1) = 1236 +N(6,4).A = 0046 +N(6,4).B = 0146 +N(6,4).C(0) = 0246 +N(6,4).C(1) = 1246 +O.A = 0000 +O.B = 0001 +O.C(0) = 0002 +O.C(1) = 0012 +O.C(2) = 0022 +O.C(3) = 0032 +O.C(4) = 0042 +O.D(0) = 0003 +O.D(1) = 0013 +O.D(2) = 0023 +O.D(3) = 0033 +O.D(4) = 0043 +O.E(0).A = 0004 +O.E(0).B = 0104 +O.E(0).C(0) = 0204 +O.E(0).C(1) = 1204 +O.E(1).A = 0014 +O.E(1).B = 0114 +O.E(1).C(0) = 0214 +O.E(1).C(1) = 1214 +O.E(2).A = 0024 +O.E(2).B = 0124 +O.E(2).C(0) = 0224 +O.E(2).C(1) = 1224 +O.E(3).A = 0034 +O.E(3).B = 0134 +O.E(3).C(0) = 0234 +O.E(3).C(1) = 1234 +O.E(4).A = 0044 +O.E(4).B = 0144 +O.E(4).C(0) = 0244 +O.E(4).C(1) = 1244 +O.F(0).A = 0005 +O.F(0).B = 0105 +O.F(0).C(0) = 0205 +O.F(0).C(1) = 1205 +O.F(1).A = 0015 +O.F(1).B = 0115 +O.F(1).C(0) = 0215 +O.F(1).C(1) = 1215 +O.F(2).A = 0025 +O.F(2).B = 0125 +O.F(2).C(0) = 0225 +O.F(2).C(1) = 1225 +O.F(3).A = 0035 +O.F(3).B = 0135 +O.F(3).C(0) = 0235 +O.F(3).C(1) = 1235 +O.F(4).A = 0045 +O.F(4).B = 0145 +O.F(4).C(0) = 0245 +O.F(4).C(1) = 1245 +O.G(0).A = 0006 +O.G(0).B = 0106 +O.G(0).C(0) = 0206 +O.G(0).C(1) = 1206 +O.G(1).A = 0016 +O.G(1).B = 0116 +O.G(1).C(0) = 0216 +O.G(1).C(1) = 1216 +O.G(2).A = 0026 +O.G(2).B = 0126 +O.G(2).C(0) = 0226 +O.G(2).C(1) = 1226 +O.G(3).A = 0036 +O.G(3).B = 0136 +O.G(3).C(0) = 0236 +O.G(3).C(1) = 1236 +O.G(4).A = 0046 +O.G(4).B = 0146 +O.G(4).C(0) = 0246 +O.G(4).C(1) = 1246