📄 regress.cal
字号:
verify(++a == surd(3,3), '1211: ++a == surd(3,3)'); verify(--a == surd(2,3), '1212: --a == surd(2,3)'); verify(-a == surd(-2,-3), '1213: -a == surd(-2,-3)'); verify(a*2 == surd(4,6), '1214: a*2 == surd(4,6)'); verify(a*b == surd(-6,17), '1215: a*b == surd(-6,17)'); verify(a^2 == surd(-5,12), '1216: a^2 == surd(-5,12)'); verify(scale(a,2) == surd(8,12),'1217: scale(a,2) == surd(8,12)'); verify(a<<3 == surd(16,24), '1218: a<<3 == surd(16,24)'); verify(a/2 == surd(1,1.5), '1219: a/2 == surd(1,1.5)'); verify(a/b == surd(0.72,0.04), '1220: a/b == surd(0.72,0.04)'); verify(1/b == surd(0.12,-0.16), '1221: 1/b == surd(0.12,-0.16)'); verify(inverse(b) == 1/b, '1222: inverse(b) == 1/b'); verify(a != b, '1223: a != b'); surd_type = 2; print '1224: surd_type = 2'; verify(surd_type == 2, '1225: surd_type == 2'); verify(sgn(a) == 1, '1226: sgn(a) == 1'); verify(a < b, '1227: a < b'); verify(a <= a, '1228: a < a'); print '1229: Ending object test';}print '023: parsed test_obj()';/* * Test associations */define test_assoc(){ static a; static b; print '1300: Beginning associations test'; a = assoc(); verify(size(a) == 0, '1301: size(a) == 0'); a["curds"] = 13; print '1302: a["curds"] = 13'; verify(a["curds"] == 13, '1303: a["curds"] == 13'); a[13] = 17; print '1304: a[13] = 17'; verify(a[13] == 17, '1305: a[13] == 17'); verify(a[a["curds"]] == 17, '1306: a[a["curds"]] == 17'); a[17] = 19; print '1307: a[17] = 19'; verify(a[17] == 19, '1308: a[17] == 19'); verify(a[a["curds"]+4] == 19, '1309: a[a["curds"]+4] == 19'); verify(size(a) == 3, '1310: size(a) == 3'); verify(a[[search(a,17)]] == 17, '1311: (a[[search(a,17)]] == 17'); verify(isnull(search(a,16)), '1312: isnull(search(a,16))'); a["curds","whey"] = "spider"; print '1313: a["curds","whey"] = "spider"'; verify(a["curds","whey"] == "spider", '1314: a["curds","whey"] == "spider"'); verify(a[[rsearch(a,"spider")]] == "spider", '1315: a[[search(a,"spider")]] == "spider"'); b = a; print '1316: b = a'; verify(b[17] == 19, '1317: b[17] == 19'); verify(a == b, '1318: a == b'); print '1319: Ending associations test';}print '024: parsed test_assoc()';/* * Test lists */define test_list(){ static a; static b; print '1400: Beginning list test'; a = list(2,3,5); verify(a == list(2,3,5), '1401: a == list(2,3,5)'); verify(a[[0]] == 2, '1402: a[[0]] == 2'); verify(a[[1]] == 3, '1403: a[[1]] == 3'); verify(a[[2]] == 5, '1404: a[[2]] == 5'); verify(size(a) == 3, '1405: size(a) == 3'); verify(search(a,3) == 1, '1406: search(a,3) == 1'); verify(isnull(search(a,3,2)), '1407: isnull(search(a,3,2))'); verify(rsearch(a,3,2) == 1, '1408: rsearch(a,3,2) == 1'); push(a,7); print '1409: push(a,7)'; verify(search(a,7) == 0, '1410: search(a,7) == 0'); verify(pop(a) == 7, '1411: pop(a) == 7'); verify(size(a) == 3, '1412: size(a) == 3'); append(a,7); print '1413: append(a,7)'; verify(search(a,7) == 3, '1414: search(a,7) == 3'); verify(size(a) == 4, '1415: size(a) == 4'); verify(remove(a) == 7, '1416: remove(a) == 7'); verify(size(a) == 3, '1417: size(a) == 3'); b = a; print '1418: b = a'; insert(a,1,7); print '1410: insert(a,1,7)'; verify(search(a,2) == 0, '1420: search(a,2) == 0'); verify(search(a,7) == 1, '1421: search(a,7) == 1'); verify(search(a,3) == 2, '1422: search(a,3) == 2'); verify(search(a,5) == 3, '1423: search(a,5) == 3'); verify(size(a) == 4, '1424: size(a) == 4'); verify(delete(a,1) == 7, '1425: remove(a) == 7'); verify(search(a,2) == 0, '1426: search(a,2) == 0'); verify(search(a,3) == 1, '1427: search(a,3) == 1'); verify(search(a,5) == 2, '1428: search(a,5) == 2'); verify(size(a) == 3, '1429: size(a) == 3'); verify(a == b, '1430: a == b'); print '1431: Ending list test';}print '025: parsed test_list()';read -once "cryrand"; /* obtain our needed cryrand library */print '026: read cryrand';/* * Test cryrand */define test_cryrand(){ local init; /* initial generator state */ local state0; /* a generator state */ local state1; /* a generator state */ local state2; /* a generator state */ local tmp; print '1500: Beginning cryrand test'; /* test save and restore of the initial state */ tmp = scryrand(0); print '1501: tmp = scryrand(0)'; init = randstate(); print '1502: init = randstate()'; state0 = randstate(0); print '1503: state0 = randstate(0)'; verify(state0 == init, '1504: state0 == init'); /* test the crypto generator and save/restore of non-initial states */ verify(cryrand(40) == 0x9325e63866, '1505: cryrand(40) == 0x9325e63866'); state1 = randstate(); print '1506: state1 = randstate()'; verify(cryrand(36) == 0x4a171a7ff, '1507: cryrand(36) == 0x4a171a7ff'); state2 = randstate(state1); print '1508: state2 = randstate(state1)'; verify(randstate() == state1, '1509: randstate() == state1'); verify(cryrand(36) == 0x4a171a7ff, '1510: cryrand(36) == 0x4a171a7ff'); verify(state2 == randstate(), '1511: state2 == randstate()'); state0 = randstate(init); print '1512: state0 = randstate(init)'; verify(cryrand(40) == 0x9325e63866, '1513: cryrand(40) == 0x9325e63866'); verify(cryrand(18)<<18 | cryrand(18) == 0x4a171a7ff, \ '1514: cryrand(18)<<18 | cryrand(18) == 0x4a171a7ff'); /* test different forms of seeding the initial state */ tmp = srandom(0); print '1515: tmp = srandom(0)'; verify(randstate() == init, '1516: randstate() == init'); tmp = scryrand(0,-1,-1); print '1517: tmp = scryrand(0,-1,-1)'; verify(randstate() == init, '1518: randstate() == init'); tmp = sa55rand(0); print '1519: tmp = sa55rand(0)'; verify(randstate() == init, '1520: randstate() == init'); tmp = sshufrand(0); print '1521: tmp = sshufrand(0)'; verify(randstate() == init, '1522: randstate() == init'); tmp = srand(0); print '1523: tmp = srand(0)'; verify(randstate() == init, '1524: randstate() == init'); /* test the additive 55 and save/restore of initial state */ verify(a55rand() == 0xd83f26be64f3e34c, \ '1525: a55rand() == 0xd83f26be64f3e34c'); verify(a55rand() == 0x892d51655e2cfadf, \ '1526: a55rand() == 0x892d51655e2cfadf'); tmp = sa55rand(0); print '1527: tmp = sa55rand(0)'; verify(a55rand() == 0xd83f26be64f3e34c, \ '1528: a55rand() == 0xd83f26be64f3e34c'); /* test the shuffle generator */ tmp = sshufrand(0); print '1529: tmp = sshufrand(0)'; verify(shufrand() == 0x6a879c9a9cd4111c, \ '1530: shufrand() == 0x6a879c9a9cd4111c'); verify(shufrand() == 0xedd15f14a5c488c4, \ '1531: shufrand() == 0xedd15f14a5c488c4'); tmp = sshufrand(0); print '1532: tmp = sshufrand(0)'; verify(shufrand() == 0x6a879c9a9cd4111c, \ '1533: shufrand() == 0x6a879c9a9cd4111c'); tmp = srand(0); print '1534: tmp = srand(0)'; verify(shufrand() == 0x6a879c9a9cd4111c, \ '1535: shufrand() == 0x6a879c9a9cd4111c'); /* test the shuffle and additive 55 generator interaction */ tmp = sshufrand(0); print '1536: tmp = sshufrand(0)'; verify(a55rand() == 0xd83f26be64f3e34c, \ '1537: a55rand() == 0xd83f26be64f3e34c'); tmp = sa55rand(0); print '1538: tmp = sa55rand(0)'; verify(shufrand() == 0x6a879c9a9cd4111c, \ '1539: shufrand() == 0x6a879c9a9cd4111c'); /* test the crypto, shuffle and additive 55 interaction */ tmp = scryrand(0); print '1540: tmp = scryrand(0)'; verify(a55rand() == 0xd83f26be64f3e34c, \ '1541: a55rand() == 0xd83f26be64f3e34c'); verify(cryrand(40) == 0x9325e63866, '1542: cryrand(40) == 0x9325e63866'); tmp = scryrand(0); print '1543: tmp = scryrand(0)'; verify(shufrand() == 0x6a879c9a9cd4111c, \ '1544: shufrand() == 0x6a879c9a9cd4111c'); verify(cryrand(40)==0x9325e63866, '1545: cryrand(40) == 0x9325e63866'); /* test some of the misc generator interfaces */ /*scryrand(seed,len1,len2,arg4) random(a,b) nxtprime(n_arg, modval, modulus)*/ tmp = srand(0); print '1546: tmp = srand(0)'; verify(rand(12345678901234567890) == 0x6a879c9a9cd4111c, \ '1547: rand(12345678901234567890) == 0x6a879c9a9cd4111c'); verify(rand(216091) == 0x880f, '1548: rand(216091) == 0x880f'); tmp = scryrand(12,34,56); print '1549: tmp = scryrand(12,34,56)'; verify(cryrand(40)==0xf23ddd31f4, '1550: cryrand(40) == 0xf23ddd31f4'); tmp = scryrand(78); print '1551: tmp = scryrand(78)'; verify(cryrand(40)==0xac2b19be92, '1552: cryrand(40) == 0xac2b19be92'); tmp = scryrand(78^20+1); print '1553: tmp = scryrand(78^20+1)'; verify(cryrand(40)==0xff80f86b37, '1554: cryrand(40) == 0xff80f86b37'); tmp = scryrand(0,1000,2000,345678); print '1555: tmp = scryrand(0,1000,2000,345678)'; verify(cryrand(40)==0xffd1ced04, '1556: cryrand(40) == 0xffd1ced04'); tmp = scryrand(1,1000,2000,345678); print '1557: tmp = scryrand(1,1000,2000,345678)'; verify(cryrand(40)==0x4539c3849b, '1558: cryrand(40) == 0x4539c3849b'); tmp = scryrand(-1,0x5a7,0x8ef,0x936d4); print '1559: tmp = scryrand(-1,0x5a7,0x8ef,0x936d4)'; verify(cryrand(40)==0x4539c3849b, '1560: cryrand(40) == 0x4539c3849b'); verify(random() == 0xa5df751ccf2b5a01, \ '1561: random() == 0xa5df751ccf2b5a01'); tmp = srandom(0); print '1562: tmp = srandom(0)'; verify(random() == 0x9325e638664a171a, \ '1563: random() == 0x9325e638664a171a'); verify(random(100) == 0x3f, '1564: random(100) == 0x3f'); verify(random(-46,46) == -1, '1565: random(-46,46) == -1'); /* verify nxtprime */ verify(nxtprime(100000)==100003, '1566: nxtprime(100000) == 100003'); verify(nxtprime(100000,3,4)==100003, \ '1567: nxtprime(100000,3,4) == 100003'); verify(nxtprime(100000,4,7)==100069, \ '1568: nxtprime(100000,4,7) == 100069'); print '1569: Ending cryrand test';}print '027: parsed test_cryrand()';/* * Config mode/base testing */define test_mode(){ local tmp; print '1600: Beginning cryrand test'; tmp = config("mode", "frac"); print '1601: tmp = config("mode", "frac")'; tmp = config("mode", "frac"); print '1602: tmp = config("mode", "frac")'; verify(base() == 1/3, '1603: base() == 1/3'); tmp = config("mode", "int"); print '1604: tmp = config("mode", "int")'; verify(tmp == "frac", '1605: tmp == "frac"'); verify(base() == -10, '1606: base() == -10'); tmp = config("mode", "real"); print '1607: tmp = config("mode", "real")'; verify(tmp == "int", '1608: tmp == "int"'); verify(base() == 10, '1609: base() == 10'); tmp = config("mode", "exp"); print '1610: tmp = config("mode", "exp")'; verify(tmp == "real", '1611: tmp == "real"'); verify(base() == 1e20, '1612: base() == 1e20'); tmp = config("mode", "hex"); print '1613: tmp = config("mode", "hex")'; verify(tmp == "exp", '1614: tmp == "exp"'); verify(base() == 16, '1615: base() == 16'); tmp = config("mode", "oct"); print '1616: tmp = config("mode", "oct")'; verify(tmp == "hexadecimal", \ '1617: tmp == "hexadecimal"'); verify(base() == 8, '1618: base() == 8'); tmp = config("mode", "bin"); print '1619: tmp = config("mode", "bin")'; verify(tmp == "octal", '1620: tmp == "octal"'); verify(base() == 2, '1621: base() == 2'); tmp = config("mode", "real"); print '1621: tmp = config("mode", "real")'; verify(tmp == "binary", '1622: tmp == "binary"'); tmp = base(1/3); print '1623: tmp = base(1/3)'; verify(config("mode") == "frac", '1624: config("mode") == "frac"'); tmp = base(-10); print '1625: tmp = base(-10)'; verify(config("mode") == "int", '1626: config("mode") == "int"'); tmp = base(10); print '1627: tmp = base(10)'; verify(config("mode") == "real", '1628: config("mode") == "real"'); tmp = base(1e20); print '1629: tmp = base(1e20)'; verify(config("mode") == "exp", '1630: config("mode") == "exp"'); tmp = base(16); print '1631: tmp = base(16)'; verify(config("mode") == "hexadecimal", \ '1632: config("mode") == "hexadecimal"'); tmp = base(8); print '1633: tmp = base(16)'; verify(config("mode") == "octal", '1634: config("mode") == "octal"'); tmp = base(2); print '1635: tmp = base(16)'; verify(config("mode") == "binary", \ '1636: config("mode") == "binary"'); tmp = base(10); print '1637: tmp = base(10)'; print '1638: Ending cryrand test';}print '028: parsed test_mode()';/* * Report the number of errors found. */define count_errors(){ if (err == 0) { print "9998: passed all tests /\\../\\"; } else { print "****", err, "error(s) found \\/++\\/"; }}print '029: parsed count_errors()';print '030: Ending main part of regression test suite read';print;return test_booleans();print;return test_variables();print;return test_logicals();print;return test_arithmetic();print;return test_strings();print;return test_bignums();print;return test_functions();print;return test_matrix();print;print '1000: Beginning read test';value = 0;verify(value == 0, '1001: value == 0');read "test1000";verify(value == 1, '1002: value == 1');read -once "test1000";verify(value == 1, '1003: value == 1');read "test1000.cal";verify(value == 2, '1004: value == 2');read -once "test1000.cal";verify(value == 2, '1005: value == 2');read "test1000.cal";verify(value == 3, '1006: value == 3');print '1007: Ending read test';print;return test_lucas();print;return test_obj();print;return test_assoc();print;return test_list();print;return test_cryrand();print;return test_mode();print;return count_errors();print '9999: Ending regression tests';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -