if random(4) > 2 then put 1000 set z = 5.5 set z1 = 2 set z2 = z / z1 put z put z1 put z2 put integer(z2) put cos(z2) set x = 2 + 3 * (4 / 2) put x put power(2, 8) put power(2, 8, 0) put power(2) updatestage -- Type conversion put (1024/4096)*100 -- 0 put (1024/4096)*100.0 -- 0.0 put ((1024*1.0)/4096)*100.0 -- 25.0 put the sqrt of 9 scummvmAssertEqual(ilk(sqrt(EMPTY)), #float) scummvmAssertEqual(sqrt(EMPTY), 0.0) scummvmAssertEqual(ilk(sqrt(4)), #integer) scummvmAssertEqual(string(sqrt(0)), "0") scummvmAssertEqual(string(sqrt(4)), "2") scummvmAssertEqual(string(sqrt(5)), "2") scummvmAssertEqual(string(sqrt(8)), "3") scummvmAssertEqual(ilk(sqrt(4.0)), #float) scummvmAssertEqual(sqrt(0.0), 0.0) scummvmAssertEqual(sqrt(4.0), 2.0) scummvmAssertEqual(abs(sqrt(5.0) - 2.2361) < 0.0001, 1) scummvmAssertEqual(abs(sqrt(8.0) - 2.8284) < 0.0001, 1) scummvmAssertEqual(ilk(sqrt("4.0")), #float) scummvmAssertEqual(sqrt("0.0"), 0.0) scummvmAssertEqual(sqrt("4.0"), 2.0) scummvmAssertEqual(abs(sqrt("5.0") - 2.2361) < 0.0001, 1) scummvmAssertEqual(abs(sqrt("8.0") - 2.8284) < 0.0001, 1) scummvmAssertEqual(ilk(sqrt("4")), #float) scummvmAssertEqual(sqrt("0"), 0.0) scummvmAssertEqual(sqrt("4"), 2.0) scummvmAssertEqual(abs(sqrt("5") - 2.2361) < 0.0001, 1) scummvmAssertEqual(abs(sqrt("8") - 2.8284) < 0.0001, 1) -- Testing rounding set save to the scummvmVersion set the scummvmVersion to 300 scummvmAssertEqual(integer(2.5), 3) scummvmAssertEqual(integer(2.49), 2) scummvmAssertEqual(integer(2.1), 2) scummvmAssertEqual(integer(2.0), 2) scummvmAssertEqual(integer(1.9), 2) scummvmAssertEqual(integer(1.5), 2) scummvmAssertEqual(integer(1.49), 1) scummvmAssertEqual(integer(1.0), 1) scummvmAssertEqual(integer(0.0), 0) scummvmAssertEqual(integer(-0.49), 0) scummvmAssertEqual(integer(-0.5), 0) scummvmAssertEqual(integer(-1.0), 0) scummvmAssertEqual(integer(-1.49), 0) scummvmAssertEqual(integer(-1.5), -1) scummvmAssertEqual(integer(-1.9), -1) scummvmAssertEqual(integer(-2.0), -1) scummvmAssertEqual(integer(-2.1), -1) scummvmAssertEqual(integer(-2.49), -1) scummvmAssertEqual(integer(-2.5), -2) set the scummvmVersion to save -- Min/max - D4 has bugs related to handling VOID set the scummvmVersion to 400 scummvmAssertEqual(min(VOID, 30), 30) scummvmAssertEqual(ilk(max(VOID, 30)), #void) scummvmAssertEqual(ilk(min(30, VOID)), #void) scummvmAssertEqual(max(30, VOID), 30) scummvmAssertEqual(min(VOID, "test"), "test") scummvmAssertEqual(ilk(max(VOID, "test")), #void) scummvmAssertEqual(ilk(min("test", VOID)), #void) scummvmAssertEqual(max("test", VOID), "test") scummvmAssertEqual(min(1, VOID, 3), 3) scummvmAssertEqual(max(1, VOID, 3), 3) scummvmAssertEqual(min(VOID, 3, "test"), 3) scummvmAssertEqual(ilk(max(VOID, 3, "test")), #void) scummvmAssertEqual(min(1, VOID, 3, "test"), 3) scummvmAssertEqual(max(1, VOID, 3, "test"), "test") scummvmAssertEqual(min(VOID, "test", 3), 3) scummvmAssertEqual(ilk(max(VOID, "test", 3)), #void) scummvmAssertEqual(min(3, VOID, "test"), "test") scummvmAssertEqual(max(3, VOID, "test"), "test") scummvmAssertEqual(ilk(min(3, "test", VOID)), #void) scummvmAssertEqual(max(3, "test", VOID), "test") scummvmAssertEqual(ilk(min("test", 3, VOID)), #void) scummvmAssertEqual(max("test", 3, VOID), "test") scummvmAssertEqual(min("test", VOID, 3), 3) scummvmAssertEqual(max("test", VOID, 3), "test") scummvmAssertEqual(min("test", VOID, 3, "2.5"), "2.5") scummvmAssertEqual(max("test", VOID, 3, "2.5"), "test") scummvmAssertEqual(min(1, "test", VOID, 3, "2.5"), "2.5") scummvmAssertEqual(max(1, "test", VOID, 3, "2.5"), "test") scummvmAssertEqual(min(1, "test", 3, "2.5"), 1) scummvmAssertEqual(max(1, "test", 3, "2.5"), "test") -- D5 fixes the VOID bug set the scummvmVersion to 500 scummvmAssertEqual(ilk(min(VOID, 30)), #void) scummvmAssertEqual(max(VOID, 30), 30) scummvmAssertEqual(ilk(min(30, VOID)), #void) scummvmAssertEqual(max(30, VOID), 30) scummvmAssertEqual(min(VOID, "test"), "test") scummvmAssertEqual(ilk(max(VOID, "test")), #void) scummvmAssertEqual(min("test", VOID), "test") scummvmAssertEqual(ilk(max("test", VOID)), #void) scummvmAssertEqual(ilk(min(1, VOID, 3)), #void) scummvmAssertEqual(max(1, VOID, 3), 3) scummvmAssertEqual(min(VOID, 3, "test"), "test") scummvmAssertEqual(max(VOID, 3, "test"), "test") scummvmAssertEqual(min(1, VOID, 3, "test"), "test") scummvmAssertEqual(max(1, VOID, 3, "test"), "test") scummvmAssertEqual(min(VOID, "test", 3), 3) scummvmAssertEqual(max(VOID, "test", 3), 3) scummvmAssertEqual(min(3, VOID, "test"), "test") scummvmAssertEqual(max(3, VOID, "test"), "test") scummvmAssertEqual(ilk(min(3, "test", VOID)), #void) scummvmAssertEqual(ilk(max(3, "test", VOID)), #void) scummvmAssertEqual(ilk(min("test", 3, VOID)), #void) scummvmAssertEqual(ilk(max("test", 3, VOID)), #void) scummvmAssertEqual(min("test", VOID, 3), 3) scummvmAssertEqual(max("test", VOID, 3), 3) scummvmAssertEqual(min("test", VOID, 3, "2.5"), "2.5") scummvmAssertEqual(max("test", VOID, 3, "2.5"), 3) scummvmAssertEqual(min(1, "test", VOID, 3, "2.5"), "2.5") scummvmAssertEqual(max(1, "test", VOID, 3, "2.5"), 3) scummvmAssertEqual(min(1, "test", 3, "2.5"), 1) scummvmAssertEqual(max(1, "test", 3, "2.5"), "test") -- cases the same for both set the scummvmVersion to 400 scummvmAssertEqual(min(29, "30.0"), 29) scummvmAssertEqual(max(29, "30.0"), "30.0") scummvmAssertEqual(min(30, "30.0"), 30) scummvmAssertEqual(max(30, "30.0"), "30.0") scummvmAssertEqual(min(31, "30.0"), "30.0") scummvmAssertEqual(max(31, "30.0"), 31) scummvmAssertEqual(min(30.0, "30.1"), 30.0) scummvmAssertEqual(max(30.0, "30.1"), "30.1") scummvmAssertEqual(min(30.2, "30.1"), "30.1") scummvmAssertEqual(max(30.2, "30.1"), 30.2) scummvmAssertEqual(min(50000, "test"), 50000) scummvmAssertEqual(max(50000, "test"), "test") scummvmAssertEqual(min(5000.0, "test"), 5000.0) scummvmAssertEqual(max(5000.0, "test"), "test")