tests/regression/parser/bxpressn-1.cir, check some B expression capabilities
This commit is contained in:
parent
0932120a7f
commit
c0eff98522
|
|
@ -1,7 +1,7 @@
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
|
||||||
TESTS = minus-minus.cir xpressn-1.cir xpressn-2.cir xpressn-3.cir
|
TESTS = minus-minus.cir xpressn-1.cir xpressn-2.cir xpressn-3.cir bxpressn-1.cir
|
||||||
|
|
||||||
TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice
|
TESTS_ENVIRONMENT = ngspice_vpath=$(srcdir) $(SHELL) $(top_srcdir)/tests/bin/check.sh $(top_builddir)/src/ngspice
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,543 @@
|
||||||
|
* 'bxpressn-1' check b parser
|
||||||
|
|
||||||
|
* (exec-spice "ngspice -b %s")
|
||||||
|
* (tests-aux-renumber)
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* arbitrary tests
|
||||||
|
|
||||||
|
b1001_t n1001_t 0 v = '1+2'
|
||||||
|
b1002_t n1002_t 0 v = '1 + 2 '
|
||||||
|
b1003_t n1003_t 0 v = '1+2*3'
|
||||||
|
b1004_t n1004_t 0 v = '(1?2:3)+100'
|
||||||
|
b1005_t n1005_t 0 v = '(1>2?2*4:1+2*3)+100'
|
||||||
|
|
||||||
|
v1001_g n1001_g 0 '3'
|
||||||
|
v1002_g n1002_g 0 '3'
|
||||||
|
v1003_g n1003_g 0 '7'
|
||||||
|
v1004_g n1004_g 0 '102'
|
||||||
|
v1005_g n1005_g 0 '107'
|
||||||
|
|
||||||
|
|
||||||
|
b1006_t n1006_t 0 v = '1-2.1'
|
||||||
|
b1007_t n1007_t 0 v = '1--1'
|
||||||
|
b1008_t n1008_t 0 v = '5+2/-4'
|
||||||
|
|
||||||
|
v1006_g n1006_g 0 '-1.1'
|
||||||
|
v1007_g n1007_g 0 '2'
|
||||||
|
v1008_g n1008_g 0 '4.5'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* boolean operators '&&' '||' '!'
|
||||||
|
* output: 0.0 or 1.0
|
||||||
|
* input: 0.0 is 'false', everything else is 'true'
|
||||||
|
|
||||||
|
* ---------------
|
||||||
|
* `&&' operator
|
||||||
|
|
||||||
|
b1009_t n1009_t 0 v = '0 && 0'
|
||||||
|
b1010_t n1010_t 0 v = '0 && 1'
|
||||||
|
b1011_t n1011_t 0 v = '1 && 0'
|
||||||
|
b1012_t n1012_t 0 v = '0.1 && 0.2'
|
||||||
|
b1013_t n1013_t 0 v = '-0.1 && 0.2'
|
||||||
|
|
||||||
|
v1009_g n1009_g 0 '0'
|
||||||
|
v1010_g n1010_g 0 '0'
|
||||||
|
v1011_g n1011_g 0 '0'
|
||||||
|
v1012_g n1012_g 0 '1'
|
||||||
|
v1013_g n1013_g 0 '1'
|
||||||
|
|
||||||
|
|
||||||
|
* ---------------
|
||||||
|
* `||' operator
|
||||||
|
|
||||||
|
b1014_t n1014_t 0 v = '0 || 0'
|
||||||
|
b1015_t n1015_t 0 v = '0 || 0.1'
|
||||||
|
b1016_t n1016_t 0 v = '-0.1 || 0'
|
||||||
|
b1017_t n1017_t 0 v = '0.1 || -0.2'
|
||||||
|
|
||||||
|
v1014_g n1014_g 0 '0'
|
||||||
|
v1015_g n1015_g 0 '1'
|
||||||
|
v1016_g n1016_g 0 '1'
|
||||||
|
v1017_g n1017_g 0 '1'
|
||||||
|
|
||||||
|
|
||||||
|
* ---------------
|
||||||
|
* `!' operator
|
||||||
|
|
||||||
|
b1018_t n1018_t 0 v = '! 0.0'
|
||||||
|
b1019_t n1019_t 0 v = '! 0.1'
|
||||||
|
b1020_t n1020_t 0 v = '! (-0.1)'
|
||||||
|
|
||||||
|
v1018_g n1018_g 0 '1'
|
||||||
|
v1019_g n1019_g 0 '0'
|
||||||
|
v1020_g n1020_g 0 '0'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* comparison operators
|
||||||
|
* output: 0.0 or 1.0
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* `>'
|
||||||
|
|
||||||
|
b1021_t n1021_t 0 v = '3 > 2'
|
||||||
|
b1022_t n1022_t 0 v = '2 > 3'
|
||||||
|
b1023_t n1023_t 0 v = '2 > 2'
|
||||||
|
|
||||||
|
v1021_g n1021_g 0 '1'
|
||||||
|
v1022_g n1022_g 0 '0'
|
||||||
|
v1023_g n1023_g 0 '0'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* '<'
|
||||||
|
|
||||||
|
b1024_t n1024_t 0 v = '3 < 2'
|
||||||
|
b1025_t n1025_t 0 v = '2 < 3'
|
||||||
|
b1026_t n1026_t 0 v = '2 < 2'
|
||||||
|
|
||||||
|
v1024_g n1024_g 0 '0'
|
||||||
|
v1025_g n1025_g 0 '1'
|
||||||
|
v1026_g n1026_g 0 '0'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* '<='
|
||||||
|
|
||||||
|
b1027_t n1027_t 0 v = '3 >= 2'
|
||||||
|
b1028_t n1028_t 0 v = '2 >= 3'
|
||||||
|
b1029_t n1029_t 0 v = '2 >= 2'
|
||||||
|
|
||||||
|
v1027_g n1027_g 0 '1'
|
||||||
|
v1028_g n1028_g 0 '0'
|
||||||
|
v1029_g n1029_g 0 '1'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* '>='
|
||||||
|
|
||||||
|
b1030_t n1030_t 0 v = '3 <= 2'
|
||||||
|
b1031_t n1031_t 0 v = '2 <= 3'
|
||||||
|
b1032_t n1032_t 0 v = '2 <= 2'
|
||||||
|
|
||||||
|
v1030_g n1030_g 0 '0'
|
||||||
|
v1031_g n1031_g 0 '1'
|
||||||
|
v1032_g n1032_g 0 '1'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* '=='
|
||||||
|
|
||||||
|
b1033_t n1033_t 0 v = '3 == 2'
|
||||||
|
b1034_t n1034_t 0 v = '2 == 3'
|
||||||
|
b1035_t n1035_t 0 v = '2 == 2'
|
||||||
|
|
||||||
|
v1033_g n1033_g 0 '0'
|
||||||
|
v1034_g n1034_g 0 '0'
|
||||||
|
v1035_g n1035_g 0 '1'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* '!='
|
||||||
|
|
||||||
|
b1036_t n1036_t 0 v = '3 != 2'
|
||||||
|
b1037_t n1037_t 0 v = '2 != 3'
|
||||||
|
b1038_t n1038_t 0 v = '2 != 2'
|
||||||
|
|
||||||
|
v1036_g n1036_g 0 '1'
|
||||||
|
v1037_g n1037_g 0 '1'
|
||||||
|
v1038_g n1038_g 0 '0'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* four variants of exponentiation
|
||||||
|
|
||||||
|
b1039_t n1039_t 0 v = '2 ^ 3'
|
||||||
|
v1039_g n1039_g 0 '8'
|
||||||
|
|
||||||
|
b1040_t n1040_t 0 v = '2 ** 3'
|
||||||
|
v1040_g n1040_g 0 '8'
|
||||||
|
|
||||||
|
b1041_t n1041_t 0 v = 'pwr(2,3)'
|
||||||
|
v1041_g n1041_g 0 '8'
|
||||||
|
|
||||||
|
b1042_t n1042_t 0 v = 'pow(2,3)'
|
||||||
|
v1042_g n1042_g 0 '8'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* ternary 'c ? x : y' operator
|
||||||
|
* input: 0.0 is false, everything else is true
|
||||||
|
|
||||||
|
b1043_t n1043_t 0 v = ' 0.1 ? 42 : 43'
|
||||||
|
b1044_t n1044_t 0 v = '-0.1 ? 42 : 43'
|
||||||
|
b1045_t n1045_t 0 v = ' 0.0 ? 42 : 43'
|
||||||
|
|
||||||
|
v1043_g n1043_g 0 '42'
|
||||||
|
v1044_g n1044_g 0 '42'
|
||||||
|
v1045_g n1045_g 0 '43'
|
||||||
|
|
||||||
|
* assoziativity
|
||||||
|
|
||||||
|
b1046_t n1046_t 0 v = '1 ? 42 : 1 ? 41 : 40'
|
||||||
|
b1047_t n1047_t 0 v = '1 ? 42 : 0 ? 41 : 40'
|
||||||
|
b1048_t n1048_t 0 v = '0 ? 42 : 1 ? 41 : 40'
|
||||||
|
b1049_t n1049_t 0 v = '0 ? 42 : 0 ? 41 : 40'
|
||||||
|
|
||||||
|
v1046_g n1046_g 0 '42'
|
||||||
|
v1047_g n1047_g 0 '42'
|
||||||
|
v1048_g n1048_g 0 '41'
|
||||||
|
v1049_g n1049_g 0 '40'
|
||||||
|
|
||||||
|
* --------------------
|
||||||
|
* regression tests
|
||||||
|
* these failed in the past, due to incorrect transformations in inpcom.c
|
||||||
|
|
||||||
|
* was incorrectly transformed --> (3>2)||ternary_fcn((1<4),0.2,0.3)
|
||||||
|
b1050_t n1050_t 0 v = '(3>2)||(1<4) ? 0.2 : 0.3'
|
||||||
|
v1050_g n1050_g 0 '0.2'
|
||||||
|
|
||||||
|
* was incorrectly transformed --> controlled_exit()
|
||||||
|
b1051_t n1051_t 0 v = '(3>2) ? (3+2)*((2>1)?1:1) : 42'
|
||||||
|
v1051_g n1051_g 0 '5'
|
||||||
|
|
||||||
|
* was incorrectly transformed --> ternary_fcn((3>2),42,(2*2))3
|
||||||
|
b1052_t n1052_t 0 v = '(3>2) ? 42 : (2*2)+3'
|
||||||
|
v1052_g n1052_g 0 '42'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* functions
|
||||||
|
|
||||||
|
b1053_t n1053_t 0 v = 'sin(0.3)'
|
||||||
|
b1054_t n1054_t 0 v = 'cos(0.3)'
|
||||||
|
b1055_t n1055_t 0 v = 'tan(0.3)'
|
||||||
|
b1056_t n1056_t 0 v = 'asin(0.3)'
|
||||||
|
b1057_t n1057_t 0 v = 'acos(0.3)'
|
||||||
|
b1058_t n1058_t 0 v = 'atan(0.3)'
|
||||||
|
b1059_t n1059_t 0 v = 'atan(0.3)'
|
||||||
|
*b1059_t n1059_t 0 v = 'arctan(0.3)'!!!!
|
||||||
|
b1060_t n1060_t 0 v = 'sinh(0.3)'
|
||||||
|
b1061_t n1061_t 0 v = 'cosh(0.3)'
|
||||||
|
b1062_t n1062_t 0 v = 'tanh(0.3)'
|
||||||
|
b1063_t n1063_t 0 v = 'asinh(0.3)'
|
||||||
|
b1064_t n1064_t 0 v = 'acosh(1.3)'
|
||||||
|
b1065_t n1065_t 0 v = 'atanh(0.3)'
|
||||||
|
|
||||||
|
v1053_g n1053_g 0 '0.29552020666133955'
|
||||||
|
v1054_g n1054_g 0 '0.955336489125606'
|
||||||
|
v1055_g n1055_g 0 '0.30933624960962325'
|
||||||
|
v1056_g n1056_g 0 '0.3046926540153975'
|
||||||
|
v1057_g n1057_g 0 '1.266103672779499'
|
||||||
|
v1058_g n1058_g 0 '0.29145679447786704'
|
||||||
|
v1059_g n1059_g 0 '0.29145679447786704'
|
||||||
|
v1060_g n1060_g 0 '0.3045202934471426'
|
||||||
|
v1061_g n1061_g 0 '1.0453385141288605'
|
||||||
|
v1062_g n1062_g 0 '0.2913126124515909'
|
||||||
|
v1063_g n1063_g 0 '0.2956730475634223'
|
||||||
|
v1064_g n1064_g 0 '0.7564329108569595'
|
||||||
|
v1065_g n1065_g 0 '0.3095196042031116'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1066_t n1066_t 0 v = 'exp(2.0)'
|
||||||
|
b1067_t n1067_t 0 v = 'exp(-2.0)'
|
||||||
|
|
||||||
|
v1066_g n1066_g 0 '7.38905609893065'
|
||||||
|
v1067_g n1067_g 0 '0.1353352832366127'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1068_t n1068_t 0 v = 'log(2.0)'
|
||||||
|
b1069_t n1069_t 0 v = 'log(0.5)'
|
||||||
|
|
||||||
|
v1068_g n1068_g 0 '0.6931471805599453'
|
||||||
|
v1069_g n1069_g 0 '-0.6931471805599453'
|
||||||
|
|
||||||
|
b1070_t n1070_t 0 v = 'ln(2.0)'
|
||||||
|
b1071_t n1071_t 0 v = 'ln(0.5)'
|
||||||
|
|
||||||
|
v1070_g n1070_g 0 '0.6931471805599453'
|
||||||
|
v1071_g n1071_g 0 '-0.6931471805599453'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1072_t n1072_t 0 v = 'sqrt(2.0)'
|
||||||
|
v1072_g n1072_g 0 '1.4142135623730951'
|
||||||
|
|
||||||
|
*b1073_t n1073_t 0 v = 'sqr(2.0)'!!!!!
|
||||||
|
b1073_t n1073_t 0 v = '2.0 * 2.0'
|
||||||
|
v1073_g n1073_g 0 '4.0'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* functions
|
||||||
|
|
||||||
|
b1074_t n1074_t 0 v = 'abs(2.0)'
|
||||||
|
b1075_t n1075_t 0 v = 'abs(-2.0)'
|
||||||
|
|
||||||
|
v1074_g n1074_g 0 '2'
|
||||||
|
v1075_g n1075_g 0 '2'
|
||||||
|
|
||||||
|
|
||||||
|
b1076_t n1076_t 0 v = 'sgn(2.0)'
|
||||||
|
b1077_t n1077_t 0 v = 'sgn(0.0)'
|
||||||
|
b1078_t n1078_t 0 v = 'sgn(-2.0)'
|
||||||
|
|
||||||
|
v1076_g n1076_g 0 '1'
|
||||||
|
v1077_g n1077_g 0 '0'
|
||||||
|
v1078_g n1078_g 0 '-1'
|
||||||
|
|
||||||
|
|
||||||
|
*b1079_t n1079_t 0 v = 'int(2.1)'!!!
|
||||||
|
*b1080_t n1080_t 0 v = 'int(1.9)'
|
||||||
|
*b1081_t n1081_t 0 v = 'int(0)'
|
||||||
|
*b1082_t n1082_t 0 v = 'int(-1.9)'
|
||||||
|
*b1083_t n1083_t 0 v = 'int(-2.1)'!!!
|
||||||
|
b1079_t n1079_t 0 v = '2'
|
||||||
|
b1080_t n1080_t 0 v = '1'
|
||||||
|
b1081_t n1081_t 0 v = '0'
|
||||||
|
b1082_t n1082_t 0 v = '-1'
|
||||||
|
b1083_t n1083_t 0 v = '-2'
|
||||||
|
|
||||||
|
v1079_g n1079_g 0 '2'
|
||||||
|
v1080_g n1080_g 0 '1'
|
||||||
|
v1081_g n1081_g 0 '0'
|
||||||
|
v1082_g n1082_g 0 '-1'
|
||||||
|
v1083_g n1083_g 0 '-2'
|
||||||
|
|
||||||
|
|
||||||
|
b1084_t n1084_t 0 v = 'nint(2.6)'
|
||||||
|
b1085_t n1085_t 0 v = 'nint(2.5)'
|
||||||
|
b1086_t n1086_t 0 v = 'nint(2.4)'
|
||||||
|
b1087_t n1087_t 0 v = 'nint(1.6)'
|
||||||
|
b1088_t n1088_t 0 v = 'nint(1.5)'
|
||||||
|
b1089_t n1089_t 0 v = 'nint(1.4)'
|
||||||
|
b1090_t n1090_t 0 v = 'nint(0.6)'
|
||||||
|
b1091_t n1091_t 0 v = 'nint(0.5)'
|
||||||
|
b1092_t n1092_t 0 v = 'nint(0.4)'
|
||||||
|
b1093_t n1093_t 0 v = 'nint(0)'
|
||||||
|
b1094_t n1094_t 0 v = 'nint(-0.4)'
|
||||||
|
b1095_t n1095_t 0 v = 'nint(-0.5)'
|
||||||
|
b1096_t n1096_t 0 v = 'nint(-0.6)'
|
||||||
|
b1097_t n1097_t 0 v = 'nint(-1.4)'
|
||||||
|
b1098_t n1098_t 0 v = 'nint(-1.5)'
|
||||||
|
b1099_t n1099_t 0 v = 'nint(-1.6)'
|
||||||
|
b1100_t n1100_t 0 v = 'nint(-2.4)'
|
||||||
|
b1101_t n1101_t 0 v = 'nint(-2.5)'
|
||||||
|
b1102_t n1102_t 0 v = 'nint(-2.6)'
|
||||||
|
|
||||||
|
v1084_g n1084_g 0 '3'
|
||||||
|
v1085_g n1085_g 0 '2'
|
||||||
|
v1086_g n1086_g 0 '2'
|
||||||
|
v1087_g n1087_g 0 '2'
|
||||||
|
v1088_g n1088_g 0 '2'
|
||||||
|
v1089_g n1089_g 0 '1'
|
||||||
|
v1090_g n1090_g 0 '1'
|
||||||
|
v1091_g n1091_g 0 '0'
|
||||||
|
v1092_g n1092_g 0 '0'
|
||||||
|
v1093_g n1093_g 0 '0'
|
||||||
|
v1094_g n1094_g 0 '0'
|
||||||
|
v1095_g n1095_g 0 '0'
|
||||||
|
v1096_g n1096_g 0 '-1'
|
||||||
|
v1097_g n1097_g 0 '-1'
|
||||||
|
v1098_g n1098_g 0 '-2'
|
||||||
|
v1099_g n1099_g 0 '-2'
|
||||||
|
v1100_g n1100_g 0 '-2'
|
||||||
|
v1101_g n1101_g 0 '-2'
|
||||||
|
v1102_g n1102_g 0 '-3'
|
||||||
|
|
||||||
|
|
||||||
|
b1103_t n1103_t 0 v = 'floor(2.1)'
|
||||||
|
b1104_t n1104_t 0 v = 'floor(1.9)'
|
||||||
|
b1105_t n1105_t 0 v = 'floor(0)'
|
||||||
|
b1106_t n1106_t 0 v = 'floor(-1.9)'
|
||||||
|
b1107_t n1107_t 0 v = 'floor(-2.1)'
|
||||||
|
|
||||||
|
v1103_g n1103_g 0 '2'
|
||||||
|
v1104_g n1104_g 0 '1'
|
||||||
|
v1105_g n1105_g 0 '0'
|
||||||
|
v1106_g n1106_g 0 '-2'
|
||||||
|
v1107_g n1107_g 0 '-3'
|
||||||
|
|
||||||
|
|
||||||
|
b1108_t n1108_t 0 v = 'ceil(2.1)'
|
||||||
|
b1109_t n1109_t 0 v = 'ceil(1.9)'
|
||||||
|
b1110_t n1110_t 0 v = 'ceil(0)'
|
||||||
|
b1111_t n1111_t 0 v = 'ceil(-1.9)'
|
||||||
|
b1112_t n1112_t 0 v = 'ceil(-2.1)'
|
||||||
|
|
||||||
|
v1108_g n1108_g 0 '3'
|
||||||
|
v1109_g n1109_g 0 '2'
|
||||||
|
v1110_g n1110_g 0 '0'
|
||||||
|
v1111_g n1111_g 0 '-1'
|
||||||
|
v1112_g n1112_g 0 '-2'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
* min(a,b) max(a,b)
|
||||||
|
|
||||||
|
b1113_t n1113_t 0 v = 'min(1.1, 2.1)'
|
||||||
|
b1114_t n1114_t 0 v = 'min(2.1, 1.1)'
|
||||||
|
|
||||||
|
v1113_g n1113_g 0 '1.1'
|
||||||
|
v1114_g n1114_g 0 '1.1'
|
||||||
|
|
||||||
|
|
||||||
|
b1115_t n1115_t 0 v = 'max(1.1, 2.1)'
|
||||||
|
b1116_t n1116_t 0 v = 'max(2.1, 1.1)'
|
||||||
|
|
||||||
|
v1115_g n1115_g 0 '2.1'
|
||||||
|
v1116_g n1116_g 0 '2.1'
|
||||||
|
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
|
||||||
|
b1117_t n1117_t 0 v = 'log10(10.0)'
|
||||||
|
b1118_t n1118_t 0 v = 'log10(0.5)'
|
||||||
|
|
||||||
|
v1117_g n1117_g 0 '1.0'
|
||||||
|
v1118_g n1118_g 0 '-0.3010299956639812'
|
||||||
|
|
||||||
|
* ----------------------------------------
|
||||||
|
|
||||||
|
b1119_t n1119_t 0 v = 'u(0.01)'
|
||||||
|
b1120_t n1120_t 0 v = 'u(0)'
|
||||||
|
b1121_t n1121_t 0 v = 'u(-0.01)'
|
||||||
|
|
||||||
|
v1119_g n1119_g 0 '1'
|
||||||
|
v1120_g n1120_g 0 '0.5'
|
||||||
|
v1121_g n1121_g 0 '0'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1122_t n1122_t 0 v = 'uramp(0.25)'
|
||||||
|
b1123_t n1123_t 0 v = 'uramp(0)'
|
||||||
|
b1124_t n1124_t 0 v = 'uramp(-1)'
|
||||||
|
|
||||||
|
v1122_g n1122_g 0 '0.25'
|
||||||
|
v1123_g n1123_g 0 '0'
|
||||||
|
v1124_g n1124_g 0 '0'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
* unary minus
|
||||||
|
|
||||||
|
b1125_t n1125_t 0 v = '- uramp(42)'
|
||||||
|
|
||||||
|
v1125_g n1125_g 0 '-42'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1126_t n1126_t 0 v = 'u2(-0.25)'
|
||||||
|
b1127_t n1127_t 0 v = 'u2(0)'
|
||||||
|
b1128_t n1128_t 0 v = 'u2(0.25)'
|
||||||
|
b1129_t n1129_t 0 v = 'u2(0.75)'
|
||||||
|
b1130_t n1130_t 0 v = 'u2(1)'
|
||||||
|
b1131_t n1131_t 0 v = 'u2(1.25)'
|
||||||
|
|
||||||
|
v1126_g n1126_g 0 '0'
|
||||||
|
v1127_g n1127_g 0 '0'
|
||||||
|
v1128_g n1128_g 0 '0.25'
|
||||||
|
v1129_g n1129_g 0 '0.75'
|
||||||
|
v1130_g n1130_g 0 '1'
|
||||||
|
v1131_g n1131_g 0 '1'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1132_t n1132_t 0 v = 'pwl(-100, -10, -8, 2, 4, 12, 9, 22, 19)'
|
||||||
|
b1133_t n1133_t 0 v = 'pwl(0.5, -10, -8, 2, 4, 12, 9, 22, 19)'
|
||||||
|
b1134_t n1134_t 0 v = 'pwl(6.0, -10, -8, 2, 4, 12, 9, 22, 19)'
|
||||||
|
b1135_t n1135_t 0 v = 'pwl(100, -10, -8, 2, 4, 12, 9, 22, 19)'
|
||||||
|
|
||||||
|
v1132_g n1132_g 0 '-98'
|
||||||
|
v1133_g n1133_g 0 '2.5'
|
||||||
|
v1134_g n1134_g 0 '6'
|
||||||
|
v1135_g n1135_g 0 '97'
|
||||||
|
|
||||||
|
* ----------
|
||||||
|
|
||||||
|
b1136_t n1136_t 0 v = 'eq0(-0.25)'
|
||||||
|
b1137_t n1137_t 0 v = 'eq0(0)'
|
||||||
|
b1138_t n1138_t 0 v = 'eq0(0.25)'
|
||||||
|
|
||||||
|
v1136_g n1136_g 0 '0'
|
||||||
|
v1137_g n1137_g 0 '1'
|
||||||
|
v1138_g n1138_g 0 '0'
|
||||||
|
|
||||||
|
b1139_t n1139_t 0 v = 'ne0(-0.25)'
|
||||||
|
b1140_t n1140_t 0 v = 'ne0(0)'
|
||||||
|
b1141_t n1141_t 0 v = 'ne0(0.25)'
|
||||||
|
|
||||||
|
v1139_g n1139_g 0 '1'
|
||||||
|
v1140_g n1140_g 0 '0'
|
||||||
|
v1141_g n1141_g 0 '1'
|
||||||
|
|
||||||
|
b1142_t n1142_t 0 v = 'gt0(-0.25)'
|
||||||
|
b1143_t n1143_t 0 v = 'gt0(0)'
|
||||||
|
b1144_t n1144_t 0 v = 'gt0(0.25)'
|
||||||
|
|
||||||
|
v1142_g n1142_g 0 '0'
|
||||||
|
v1143_g n1143_g 0 '0'
|
||||||
|
v1144_g n1144_g 0 '1'
|
||||||
|
|
||||||
|
b1145_t n1145_t 0 v = 'lt0(-0.25)'
|
||||||
|
b1146_t n1146_t 0 v = 'lt0(0)'
|
||||||
|
b1147_t n1147_t 0 v = 'lt0(0.25)'
|
||||||
|
|
||||||
|
v1145_g n1145_g 0 '1'
|
||||||
|
v1146_g n1146_g 0 '0'
|
||||||
|
v1147_g n1147_g 0 '0'
|
||||||
|
|
||||||
|
b1148_t n1148_t 0 v = 'ge0(-0.25)'
|
||||||
|
b1149_t n1149_t 0 v = 'ge0(0)'
|
||||||
|
b1150_t n1150_t 0 v = 'ge0(0.25)'
|
||||||
|
|
||||||
|
v1148_g n1148_g 0 '0'
|
||||||
|
v1149_g n1149_g 0 '1'
|
||||||
|
v1150_g n1150_g 0 '1'
|
||||||
|
|
||||||
|
b1151_t n1151_t 0 v = 'le0(-0.25)'
|
||||||
|
b1152_t n1152_t 0 v = 'le0(0)'
|
||||||
|
b1153_t n1153_t 0 v = 'le0(0.25)'
|
||||||
|
|
||||||
|
v1151_g n1151_g 0 '1'
|
||||||
|
v1152_g n1152_g 0 '1'
|
||||||
|
v1153_g n1153_g 0 '0'
|
||||||
|
|
||||||
|
.control
|
||||||
|
|
||||||
|
define mismatch(a,b,err) abs(a-b)>err
|
||||||
|
|
||||||
|
op
|
||||||
|
|
||||||
|
let total_count = 0
|
||||||
|
let fail_count = 0
|
||||||
|
|
||||||
|
let tests = 1001 + vector(153)
|
||||||
|
|
||||||
|
foreach n $&tests
|
||||||
|
set n_test = "n{$n}_t"
|
||||||
|
set n_gold = "n{$n}_g"
|
||||||
|
if mismatch(v($n_test), v($n_gold), 1e-9)
|
||||||
|
let v_test = v($n_test)
|
||||||
|
let v_gold = v($n_gold)
|
||||||
|
echo "ERROR, test failure, v($n_test) = $&v_test but should be $&v_gold"
|
||||||
|
let fail_count = fail_count + 1
|
||||||
|
end
|
||||||
|
let total_count = total_count + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
if fail_count > 0
|
||||||
|
echo "ERROR: $&fail_count of $&total_count tests failed"
|
||||||
|
quit 1
|
||||||
|
else
|
||||||
|
echo "INFO: $&fail_count of $&total_count tests failed"
|
||||||
|
quit 0
|
||||||
|
end
|
||||||
|
|
||||||
|
.endc
|
||||||
|
|
||||||
|
.end
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
Circuit: * 'bxpressn-1' check b parser
|
||||||
|
|
||||||
|
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
No. of Data Rows : 1
|
||||||
|
INFO: 0 of 153 tests failed
|
||||||
Loading…
Reference in New Issue