Add the new test suite.

This test suite has been in use for a long time now, in place of the obsolete and unmanageable testparser.py and testfuncs.py. It verifies the complete optimizer output to stdout and stderr, to ensure that the output matches the expectations.

See unit_tests/README.txt for more info.
This commit is contained in:
Sei Lisa 2019-01-04 20:26:26 +01:00
parent 7fbde0269c
commit 1867dc78e7
547 changed files with 11680 additions and 0 deletions

View file

@ -0,0 +1,8 @@
[ 1 + 1
, (1 + 2) + llGetLinkNumber()
, 1 + (2 + llGetLinkNumber())
, 3 + (4 + llGetLinkNumber())
, 3 * (4 * llGetLinkNumber()) // todo
, "a" + "b"
, "a" + ("b" + llGetObjectName())
]

View file

@ -0,0 +1,8 @@
[ 2
, 3 + llGetLinkNumber()
, 3 + llGetLinkNumber()
, 7 + llGetLinkNumber()
, 3 * (4 * llGetLinkNumber())
, "ab"
, "ab" + llGetObjectName()
]

View file

@ -0,0 +1,134 @@
[ (string)llDetectedKey(999)
, (key)"xyz"
, (integer)"3.14e+0a"
, (integer)"a3.14e+0a"
, (integer)"0XA3.14e+0a"
, (integer)"3333333333333"
, (integer)3333333333333.
, (integer)"4124567890"
, (integer)"-4124567890"
, (integer)"-4294967296"
, (integer)"-4294967295"
, (integer)"-4294967294"
, (integer)"4294967294"
, (integer)"4294967295"
, (integer)"4294967296"
, (integer)" +12345 "
, (integer)" ++12345 "
, (integer)" +-12345 "
, (integer)" + 12345 "
, (integer)" - 12345 "
, (integer)" -+12345 "
, (integer)" --12345 "
, (integer)" -12345 "
, (float)"3.14e+0a"
, (float)"+3.14e+0a"
, (float)"++3.14e+0a"
, (float)"-3.14e+0a"
, (float)"--3.14e+0a"
, (float)"0x3.14p+0a"
, (float)"1.1754944e-38"
, (float)"1.1754943e-38"
, (float)"1.1754942e-38"
, (float)"1.1754943157898258346e-38"
, (float)"1.17549431578982583459e-38"
// Known Mismatch:
//, (float)"1.175494315789825834599e-38" // should give 0 but it fails
, (vector)"<5.31,7.13,0x9.99"
, (vector)"<5.31, 7.13, 0x9.99>"
, (vector)"<5.31 , 7.13 , 0x9.99>"
, (vector)"5.31, 7.13, 0x9.99>"
, (vector)"<5.31, a7.13, 0x9.99>"
, (vector)"<1,1,2+"
, (vector)"<1,1,2a"
, (vector)"<1,1,inf"
, (vector)"<1,1,info"
, (vector)"<1,1,infi"
, (vector)"<1,1,infix"
, (vector)"<1,1,infinite"
, (vector)"<1,1,iNfInItY"
, (vector)"<1,1,infinitys"
, (vector)"<1,1,infinities"
, (vector)"<inf,1,1>"
, (vector)"<infinity,1,1>"
, (vector)"<infini,1,1>"
, (vector)"<infinite,1,1>"
, (quaternion)"<-nan,nan,-nan,nan>"
, (string)-.5e-6
, (string)((float)"-0x1.0C6F7Ap-21")
, (string).5e-6
, (string)((float)"-0x1.0C6F78p-21")
, (string)((float)"0x1.0C6F78p-21")
, (string)<.5e-5,-.5e-5,(float)"-0x1.4F8B58p-18">
, (string)<(float)"0x1.4F8B58p-18",(float)"-0x1.4F8B56p-18",(float)"0x1.4F8B56p-18">
, (string)-123456789.
, (string)-123456784.
, (string)-123456740.
, (string)-12345.674
, (string)-1.2345674
, (string)-1.2345675
, (string)<-123456740., -12345.674, -1.2345674, -1.234564>
, (string)[<-123456750., -12345.675, -12345.676>]
, (string)<-123456750., -12345.675, -12345.676, -12.345675>
, (string)<1234567.5, 1234567.4, 123456.75, 123456.74>
, (string)[<1234567.5, 1234567.4, 0.>]
, (string)<12345675., 12345674., 9.999999>
, (string)1e-7
, (string)1e-6
, (string)1e-5
, (string)1e-4
, (string)1e-3
, (string)1e-2
, (string)1e-1
, (string)1e0
, (string)1e1
, (string)1e2
, (string)1e3
, (string)1e4
, (string)1e5
, (string)1e6
, (string)1e7
, (string)1e8
, (string)1e9
, (string)1e10
, (string)1e11
, (string)1e12
, (string)1e13
, (string)1e14
, (string)1e15
, (string)1e16
, (string)1e17
, (string)1e18
, (string)1e19
, (string)1e20
, (string)1e21
, (string)1e22
, (string)1e23
, (string)1e24
, (string)1e25
, (string)1e26
, (string)1e27
, (string)1e28
, (string)1e29
, (string)1e30
, (string)1e31
, (string)1e32
, (string)1e33
, (string)1e34
, (string)1e35
, (string)1e36
, (string)1e37
, (string)1e38
, (string)1e39
, (string)-1e39
, (string)(1e39*0)
, llList2CSV([1e0,1e1,1e2,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13,1e14,
1e15,1e16,1e17,1e18,1e19,1e20,1e21,1e22,1e23,1e24,1e25,1e26,1e27,
1e28,1e29,1e30,1e31,1e32,1e33,1e34,1e35,1e36,1e37,1e38])
, llList2CSV((list)<(float)"NaN", 1e40*0, 1e40, -1e40>)
, llList2CSV((list)"str")
, (string)[1,3.14,(key)"blah",<1.,0.,0.,0.>]
, llSin(-2147483648)
, llSin(2147483647)
, llSin(2147483647.0)
]

View file

@ -0,0 +1,130 @@
[ "00000000-0000-0000-0000-000000000000"
, ((key)"xyz")
, 3
, 0
, 163
, -1
, -2147483648
, -170399406
, 170399406
, -1
, 1
, 2
, -2
, -1
, -1
, 12345
, 0
, 0
, 0
, 0
, 0
, 0
, -12345
, 3.14
, 3.14
, 0.
, -3.14
, 0.
, 3.078125
, 1.1754943e-38
, 0.
, 0.
, 1.1754943e-38
, 0.
, <5.31, 7.13, 9.597656>
, <5.31, 7.13, 9.597656>
, <0., 0., 0.>
, <0., 0., 0.>
, <0., 0., 0.>
, <1., 1., 2.>
, <1., 1., 2.>
, <1., 1., 1e40>
, <1., 1., 1e40>
, <0., 0., 0.>
, <0., 0., 0.>
, <0., 0., 0.>
, <1., 1., 1e40>
, <1., 1., 1e40>
, <0., 0., 0.>
, <1e40, 1., 1.>
, <1e40, 1., 1.>
, <0., 0., 0.>
, <0., 0., 0.>
, <(1e40*0), (-1e40*0), (1e40*0), (-1e40*0)>
, "-0.000001"
, "-0.000001"
, "0.000001"
, "0.000000"
, "0.000000"
, "<0.00001, -0.00001, -0.00001>"
, "<0.00001, 0.00000, 0.00000>"
, "-123456800.000000"
, "-123456800.000000"
, "-123456700.000000"
, "-12345.670000"
, "-1.234567"
, "-1.234568"
, "<-123456700.00000, -12345.67000, -1.23457, -1.23456>"
, "<-123456800.000000, -12345.670000, -12345.680000>"
, "<-123456800.00000, -12345.67000, -12345.68000, -12.34568>"
, "<1234568.00000, 1234567.00000, 123456.80000, 123456.70000>"
, "<1234568.000000, 1234567.000000, 0.000000>"
, "<12345680.00000, 12345670.00000, 10.00000>"
, "0.000000"
, "0.000001"
, "0.000010"
, "0.000100"
, "0.001000"
, "0.010000"
, "0.100000"
, "1.000000"
, "10.000000"
, "100.000000"
, "1000.000000"
, "10000.000000"
, "100000.000000"
, "1000000.000000"
, "10000000.000000"
, "100000000.000000"
, "1000000000.000000"
, "10000000000.000000"
, "100000000000.000000"
, "1000000000000.000000"
, "10000000000000.000000"
, "100000000000000.000000"
, "1000000000000000.000000"
, "10000000000000000.000000"
, "100000000000000000.000000"
, "1000000000000000000.000000"
, "10000000000000000000.000000"
, "100000000000000000000.000000"
, "1000000000000000000000.000000"
, "10000000000000000000000.000000"
, "100000000000000000000000.000000"
, "1000000000000000000000000.000000"
, "10000000000000000000000000.000000"
, "100000000000000000000000000.000000"
, "1000000000000000000000000000.000000"
, "9999999000000000000000000000.000000"
, "100000000000000000000000000000.000000"
, "1000000000000000000000000000000.000000"
, "10000000000000000000000000000000.000000"
, "100000000000000000000000000000000.000000"
, "1000000000000000000000000000000000.000000"
, "10000000000000000000000000000000000.000000"
, "100000000000000000000000000000000000.000000"
, "1000000000000000000000000000000000000.000000"
, "10000000000000000000000000000000000000.000000"
, "100000000000000000000000000000000000000.000000"
, "Infinity"
, "-Infinity"
, "NaN"
, "1.000000, 10.000000, 100.000000, 1000.000000, 10000.000000, 100000.000000, 1000000.000000, 10000000.000000, 100000000.000000, 1000000000.000000, 10000000000.000000, 99999997952.000000, 999999995904.000000, 9999999827968.000000, 100000000376832.000000, 999999986991104.000000, 10000000272564224.000000, 99999998430674944.000000, 999999984306749440.000000, 9999999980506447872.000000, 100000002004087734272.000000, 1000000020040877342720.000000, 9999999778196308361216.000000, 99999997781963083612160.000000, 1000000013848427855085568.000000, 9999999562023526247432192.000000, 100000002537764290115403776.000000, 999999988484154753734934528.000000, 9999999442119689768320106496.000000, 100000001504746621987668885504.000000, 1000000015047466219876688855040.000000, 9999999848243207295109594873856.000000, 100000003318135351409612647563264.000000, 999999994495727286427992885035008.000000, 9999999790214767953607394487959552.000000, 100000004091847875962975319375216640.000000, 999999961690316245365415600208216064.000000, 9999999933815812510711506376257961984.000000, 99999996802856924650656260769173209088.000000"
, "<nan, -nan, inf, -inf>"
, "str"
, "13.140000blah<1.000000, 0.000000, 0.000000, 0.000000>"
, 0.9713102
, -0.9713102
, -0.9713102
]

View file

@ -0,0 +1,34 @@
[ llGetExperienceErrorMessage(-2)
, llGetExperienceErrorMessage(-1)
, llGetExperienceErrorMessage( 0)
, llGetExperienceErrorMessage( 1)
, llGetExperienceErrorMessage( 2)
, llGetExperienceErrorMessage( 3)
, llGetExperienceErrorMessage( 4)
, llGetExperienceErrorMessage( 5)
, llGetExperienceErrorMessage( 6)
, llGetExperienceErrorMessage( 7)
, llGetExperienceErrorMessage( 8)
, llGetExperienceErrorMessage( 9)
, llGetExperienceErrorMessage(10)
, llGetExperienceErrorMessage(11)
, llGetExperienceErrorMessage(12)
, llGetExperienceErrorMessage(13)
, llGetExperienceErrorMessage(14)
, llGetExperienceErrorMessage(15)
, llGetExperienceErrorMessage(16)
, llGetExperienceErrorMessage(17)
, llGetExperienceErrorMessage(18)
, llGetExperienceErrorMessage(19)
, llGetExperienceErrorMessage(20)
, llGetExperienceErrorMessage(21)
, llGetExperienceErrorMessage(22)
, llGetExperienceErrorMessage(23)
, llGetExperienceErrorMessage(24)
, llGetExperienceErrorMessage(25)
, llGetExperienceErrorMessage(26)
, llGetExperienceErrorMessage(27)
, llGetExperienceErrorMessage(28)
, llGetExperienceErrorMessage(29)
, llGetExperienceErrorMessage(30)
]

View file

@ -0,0 +1,34 @@
[ "unknown error id"
, "unknown error id"
, "no error"
, "exceeded throttle"
, "experiences are disabled"
, "invalid parameters"
, "operation not permitted"
, "script not associated with an experience"
, "not found"
, "invalid experience"
, "experience is disabled"
, "experience is suspended"
, "unknown error"
, "experience data quota exceeded"
, "key-value store is disabled"
, "key-value store communication failed"
, "key doesn't exist"
, "retry update"
, "experience content rating too high"
, "not allowed to run in current location"
, "experience permissions request timed out"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
, "unknown error id"
]

View file

@ -0,0 +1,19 @@
[ llIntegerToBase64(-680658713)
, llIntegerToBase64(-1)
, llIntegerToBase64(0)
, llIntegerToBase64(1)
, llIntegerToBase64(2)
, llIntegerToBase64(3)
, llIntegerToBase64(-2147483648)
, llIntegerToBase64(2147483647)
, llBase64ToInteger("123456789")
, llBase64ToInteger("12345A===")
, llBase64ToInteger("12345678")
, llBase64ToInteger("123456")
, llBase64ToInteger("123456==")
, llBase64ToInteger("12345w==")
, llBase64ToInteger("12345.")
, llBase64ToInteger("gAAAAA")
, llBase64ToInteger("/////w")
]

View file

@ -0,0 +1,18 @@
[ "12345w=="
, "/////w=="
, "AAAAAA=="
, "AAAAAQ=="
, "AAAAAg=="
, "AAAAAw=="
, "gAAAAA=="
, "f////w=="
, 0
, 0
, -680658713
, -680658713
, -680658713
, -680658713
, -680658944
, -2147483648
, -1
]

View file

@ -0,0 +1,44 @@
[ llList2Key([], 0)
, llList2Key([""], 1)
, llList2Key([(key)"a"], 0)
, llList2Key([2], 0)
, llList2Key([llGetKey(), "x"], 1) // this generates LIST, not CONST
, llList2Key([llGetKey(), "x"], 0)
, llList2Key([llSetRegionPos(<1,1,1>), "x"], 1) // not SEF
, llList2Key([<1,0,0>],-1)
, llList2Float([1], 0)
, llList2Float([1], 1)
, llList2Float([1.], 0)
, llList2Float([PI_BY_TWO], -1)
, llList2Float(["3"], 0)
, llList2Float([(key)"3"], 0)
, llList2Float([], 0)
, llList2Integer([1], 0)
, llList2Integer([1], 1)
, llList2Integer([1.], 0)
, llList2Integer([PI_BY_TWO], -1)
, llList2Integer(["3"], 0)
, llList2Integer([(key)"3"], 0)
, llList2Integer([], 0)
, llList2Vector([<1,2,3>], 0)
, llList2Vector([<1,2,3>], -1)
, llList2Vector([<1,2,3>], 2)
, llList2Vector([<1,2,3,4>], 0)
, llList2Vector(["abc"], 0)
, llList2Vector(["<1,2,3>"], 0)
, llList2Vector([], 0)
, llList2Rot([<1,2,3,4>], 0)
, llList2Rot([<1,2,3,4>], -1)
, llList2Rot([<1,2,3,4>], 2)
, llList2Rot([<1,2,3>], 0)
, llList2Rot(["abc"], 0)
, llList2Rot(["<1,2,3,4>"], 0)
, llList2Rot([], 0)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], 0)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], -1)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], 1)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], -2)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], 2)
, llList2String(["a", (key)"b", 1, PI, <1,2,3>, <1,2,3,4>], -3)
, llList2String([], -3)
]

View file

@ -0,0 +1,44 @@
[ ((key)"")
, ((key)"")
, ((key)"a")
, ((key)"")
, ((key)"x")
, llList2Key([llGetKey(), "x"], 0)
, llList2Key([llSetRegionPos(<1., 1., 1.>), "x"], 1)
, ((key)"")
, 1.
, 0.
, 1.
, 1.5707964
, 3.
, 0.
, 0.
, 1
, 0
, 1
, 1
, 3
, 0
, 0
, <1., 2., 3.>
, <1., 2., 3.>
, <0., 0., 0.>
, <0., 0., 0.>
, <0., 0., 0.>
, <0., 0., 0.>
, <0., 0., 0.>
, <1., 2., 3., 4.>
, <1., 2., 3., 4.>
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, "a"
, "<1.000000, 2.000000, 3.000000, 4.000000>"
, "b"
, "<1.000000, 2.000000, 3.000000>"
, "1"
, "3.141593"
, ""
]

View file

@ -0,0 +1,138 @@
llListInsertList([1,2,3],[4,5],-1)
+ "********"
+ llListInsertList([1,2,3],[4,5],-5)
+ "********"
+ llListInsertList([], [1], 0)
+ "********"
+ llListInsertList([], [1], 3)
+ "********"
+ llListInsertList([], [1], -1)
+ "********"
+ llListInsertList([1,2,3,4,5],[9],-3)
+ "********"
+ llList2ListStrided([1,2,3,4,5],0,-1,2)
+ "********"
+ llList2ListStrided([1,2,3,4,5],1,-1,2)
+ "********"
+ llList2ListStrided([1,2,3,4,5],0,-2,2)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],0,-4,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],0,-3,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],0,-1,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],-3,3,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],-2,-3,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],-2,-2,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],-2,-1,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],4,3,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],4,4,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],4,5,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],5,5,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],5,6,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,5,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,6,3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,2,-3)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,2,-2)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,2,-1)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,2,0)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,2,1)
+ "********"
+ llList2ListStrided([1,2,3,4,5,6,7,8,9,10,11,12],6,20,3)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7],2,3)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[],2,3)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7],2,3)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7],2,-1)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[],4,1)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7,8],4,1)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7,8],6,6)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7,8],7,6)
+ "********"
+ llListReplaceList([0,1,2,3,4,5],[6,7,8],7,8)
+ "********"
+ llParseString2List("[ 1 ]2|3|4|5", ["|"], ["[ ", " ]"])
+ "********"
+ llParseString2List("[ 1 ]2|3|4|5", ["|"], ["|", "|"])
+ "********"
+ llParseString2List("1abc2ab3abc4",["ab","abc"],[])
+ "********"
+ llParseString2List("1abc2ab3abc4",["abc","ab"],[])
+ "********"
+ llParseString2List("1abc2ab3abc4",[""],[])
+ "********"
+ llParseString2List("1abc2ab3abc4",[],[""])
+ "********"
+ llParseString2List("1bab1", ["a", "bb"], [])
+ "********"
+ llParseString2List("1bab1", [], ["a", "bb"])
+ "********"
+ llParseStringKeepNulls("1abc2ab3abc4",["ab"],["abc"])
+ "********"
+ llParseStringKeepNulls("1abc2ab3abc4",["ab"],["a"])
+ "********"
+ llParseStringKeepNulls("1abc2ab3abc4",["ab"],["ab"])
+ "********"
+ llParseStringKeepNulls("1abc2ab3abc4",[""],[])
+ "********"
+ llParseStringKeepNulls("1abc2ab3abc4",[],[""])
+ "********"
+ llParseStringKeepNulls("1bab1", ["a", "bb"], [])
+ "********"
+ llParseStringKeepNulls("1bab1", [], ["a", "bb"])
+ "********"
+ llParseStringKeepNulls("",[],[])
+ "********"
+ llParseStringKeepNulls("",[],[""])
+ "********"
+ llParseStringKeepNulls("",[""],[])
+ "********"
+ llParseStringKeepNulls("",[""],[""])
+ "********"
+ llParseString2List("",[],[])
+ "********"
+ llParseString2List("",[],[""])
+ "********"
+ llParseString2List("",[""],[])
+ "********"
+ llParseString2List("",[""],[""])
+ "********"
+ llParseStringKeepNulls("a",[""],[])
+ "********"
+ llListReplaceList([0,1,2,3],[5],-5,-4)
+ "********"
+ llListReplaceList([0,1,2,3],[5],-5,-5)
+ "********"
+ llListReplaceList([0,1,2,3],[5],-5,-6)
+ "********"
+ llListReplaceList([0,1,2,3],[5],-5,-7)
+ "********"
+ llGetListLength([])
+ llGetListLength([""])
+ llGetListLength(["",""])

View file

@ -0,0 +1,278 @@
[ 1
, 2
, 4
, 5
, 3
, "********"
, 4
, 5
, 1
, 2
, 3
, "********"
, 1
, "********"
, 1
, "********"
, 1
, "********"
, 1
, 2
, 9
, 3
, 4
, 5
, "********"
, 1
, 3
, 5
, "********"
, 3
, 5
, "********"
, 1
, 3
, "********"
, 1
, 4
, 7
, "********"
, 1
, 4
, 7
, 10
, "********"
, 1
, 4
, 7
, 10
, "********"
, 1
, 4
, 7
, 10
, "********"
, 1
, 4
, 7
, 10
, "********"
, "********"
, "********"
, 1
, 4
, 7
, 10
, "********"
, "********"
, "********"
, "********"
, 7
, "********"
, 1
, 4
, 7
, 10
, "********"
, 7
, "********"
, 1
, 4
, 7
, 10
, "********"
, 1
, 3
, 5
, 7
, 9
, 11
, "********"
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, "********"
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, "********"
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
, 10
, 11
, 12
, "********"
, 7
, 10
, "********"
, 0
, 1
, 6
, 7
, 4
, 5
, "********"
, 0
, 1
, 4
, 5
, "********"
, 0
, 1
, 6
, 7
, 4
, 5
, "********"
, 0
, 1
, 6
, 7
, "********"
, 2
, 3
, "********"
, 2
, 3
, 6
, 7
, 8
, "********"
, 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, "********"
, 6
, 7
, 8
, "********"
, 0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, "********"
, "[ "
, "1"
, " ]"
, "2"
, "3"
, "4"
, "5"
, "********"
, "[ 1 ]2"
, "3"
, "4"
, "5"
, "********"
, "1"
, "c2"
, "3"
, "c4"
, "********"
, "1"
, "2"
, "3"
, "4"
, "********"
, "1abc2ab3abc4"
, "********"
, "1abc2ab3abc4"
, "********"
, "1b"
, "b1"
, "********"
, "1b"
, "a"
, "b1"
, "********"
, "1"
, "c2"
, "3"
, "c4"
, "********"
, "1"
, "c2"
, "3"
, "c4"
, "********"
, "1"
, "c2"
, "3"
, "c4"
, "********"
, "1abc2ab3abc4"
, "********"
, "1abc2ab3abc4"
, "********"
, "1b"
, "b1"
, "********"
, "1b"
, "a"
, "b1"
, "********"
, ""
, "********"
, ""
, "********"
, ""
, "********"
, ""
, "********"
, "********"
, "********"
, "********"
, "********"
, "a"
, "********"
, 1
, 2
, 3
, "********"
, 0
, 1
, 2
, 3
, "********"
, "********"
, "********"
, 0
, 1
, 2
]

View file

@ -0,0 +1,169 @@
llDeleteSubList([1,2,3,4], -9, -9)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, -3)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, -2)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 7)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 8)
+ "********"
+ llDeleteSubList([1,2,3,4], -9, 9)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, -9)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, -3)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, 7)
+ "********"
+ llDeleteSubList([1,2,3,4], -5, 8)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], -4, 8)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, -3)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, -2)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 1)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 2)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], -2, 5)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, -3)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, -2)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 1)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 2)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], -1, 5)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, -9)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], 0, 5)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, 2)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], 3, 5)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, -9)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, 2)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], 4, 5)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, -9)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, -5)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, -4)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, -1)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, 0)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, 2)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, 3)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, 4)
+ "********"
+ llDeleteSubList([1,2,3,4], 9, 5)
+ "********"
+ llDeleteSubList([], 0, -1)

View file

@ -0,0 +1,222 @@
[ 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 2
, 3
, 4
, "********"
, 3
, 4
, "********"
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, "********"
, "********"
, "********"
, "********"
, "********"
, 1
, 2
, 3
, 4
, "********"
, 2
, 3
, 4
, "********"
, 3
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, "********"
, "********"
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, "********"
, "********"
, 1
, 2
, "********"
, 2
, "********"
, "********"
, 1
, 2
, 4
, "********"
, 1
, 2
, "********"
, 2
, "********"
, "********"
, 1
, 2
, 4
, "********"
, 1
, 2
, "********"
, 1
, 2
, "********"
, 1
, 2
, "********"
, 1
, 2
, 3
, "********"
, 2
, 3
, "********"
, 3
, "********"
, "********"
, 1
, 2
, 3
, "********"
, 2
, 3
, "********"
, 3
, "********"
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, "********"
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, "********"
, "********"
, 1
, 2
, 3
, "********"
, 2
, 3
, "********"
, 1
, 2
, 3
, "********"
, 2
, 3
, "********"
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 2
, 3
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, 4
, "********"
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 2
, 3
, 4
, "********"
, "********"
, 2
, 3
, 4
, "********"
, 4
, "********"
, "********"
, "********"
, "********"
]

View file

@ -0,0 +1,85 @@
llList2List([1,2,3,4], -9, -9)
+ "********" + llList2List([1,2,3,4], -9, -5)
+ "********" + llList2List([1,2,3,4], -9, -4)
+ "********" + llList2List([1,2,3,4], -9, -3)
+ "********" + llList2List([1,2,3,4], -9, -2)
+ "********" + llList2List([1,2,3,4], -9, -1)
+ "********" + llList2List([1,2,3,4], -9, 0)
+ "********" + llList2List([1,2,3,4], -9, 3)
+ "********" + llList2List([1,2,3,4], -9, 4)
+ "********" + llList2List([1,2,3,4], -9, 7)
+ "********" + llList2List([1,2,3,4], -9, 8)
+ "********" + llList2List([1,2,3,4], -9, 9)
+ "********" + llList2List([1,2,3,4], -5, -9)
+ "********" + llList2List([1,2,3,4], -5, -5)
+ "********" + llList2List([1,2,3,4], -5, -4)
+ "********" + llList2List([1,2,3,4], -5, -3)
+ "********" + llList2List([1,2,3,4], -5, -1)
+ "********" + llList2List([1,2,3,4], -5, 0)
+ "********" + llList2List([1,2,3,4], -5, 3)
+ "********" + llList2List([1,2,3,4], -5, 4)
+ "********" + llList2List([1,2,3,4], -5, 7)
+ "********" + llList2List([1,2,3,4], -5, 8)
+ "********" + llList2List([1,2,3,4], -4, -5)
+ "********" + llList2List([1,2,3,4], -4, -4)
+ "********" + llList2List([1,2,3,4], -4, -1)
+ "********" + llList2List([1,2,3,4], -4, 0)
+ "********" + llList2List([1,2,3,4], -4, 3)
+ "********" + llList2List([1,2,3,4], -4, 4)
+ "********" + llList2List([1,2,3,4], -4, 8)
+ "********" + llList2List([1,2,3,4], -2, -5)
+ "********" + llList2List([1,2,3,4], -2, -4)
+ "********" + llList2List([1,2,3,4], -2, -3)
+ "********" + llList2List([1,2,3,4], -2, -2)
+ "********" + llList2List([1,2,3,4], -2, -1)
+ "********" + llList2List([1,2,3,4], -2, 0)
+ "********" + llList2List([1,2,3,4], -2, 1)
+ "********" + llList2List([1,2,3,4], -2, 2)
+ "********" + llList2List([1,2,3,4], -2, 3)
+ "********" + llList2List([1,2,3,4], -2, 4)
+ "********" + llList2List([1,2,3,4], -2, 5)
+ "********" + llList2List([1,2,3,4], -1, -5)
+ "********" + llList2List([1,2,3,4], -1, -4)
+ "********" + llList2List([1,2,3,4], -1, -3)
+ "********" + llList2List([1,2,3,4], -1, -2)
+ "********" + llList2List([1,2,3,4], -1, -1)
+ "********" + llList2List([1,2,3,4], -1, 0)
+ "********" + llList2List([1,2,3,4], -1, 1)
+ "********" + llList2List([1,2,3,4], -1, 2)
+ "********" + llList2List([1,2,3,4], -1, 3)
+ "********" + llList2List([1,2,3,4], -1, 4)
+ "********" + llList2List([1,2,3,4], -1, 5)
+ "********" + llList2List([1,2,3,4], 0, -9)
+ "********" + llList2List([1,2,3,4], 0, -5)
+ "********" + llList2List([1,2,3,4], 0, -4)
+ "********" + llList2List([1,2,3,4], 0, -1)
+ "********" + llList2List([1,2,3,4], 0, 0)
+ "********" + llList2List([1,2,3,4], 0, 3)
+ "********" + llList2List([1,2,3,4], 0, 5)
+ "********" + llList2List([1,2,3,4], 3, -5)
+ "********" + llList2List([1,2,3,4], 3, -4)
+ "********" + llList2List([1,2,3,4], 3, -1)
+ "********" + llList2List([1,2,3,4], 3, 0)
+ "********" + llList2List([1,2,3,4], 3, 2)
+ "********" + llList2List([1,2,3,4], 3, 3)
+ "********" + llList2List([1,2,3,4], 3, 4)
+ "********" + llList2List([1,2,3,4], 3, 5)
+ "********" + llList2List([1,2,3,4], 4, -9)
+ "********" + llList2List([1,2,3,4], 4, -5)
+ "********" + llList2List([1,2,3,4], 4, -4)
+ "********" + llList2List([1,2,3,4], 4, -1)
+ "********" + llList2List([1,2,3,4], 4, 0)
+ "********" + llList2List([1,2,3,4], 4, 2)
+ "********" + llList2List([1,2,3,4], 4, 3)
+ "********" + llList2List([1,2,3,4], 4, 4)
+ "********" + llList2List([1,2,3,4], 4, 5)
+ "********" + llList2List([1,2,3,4], 9, -9)
+ "********" + llList2List([1,2,3,4], 9, -5)
+ "********" + llList2List([1,2,3,4], 9, -4)
+ "********" + llList2List([1,2,3,4], 9, -1)
+ "********" + llList2List([1,2,3,4], 9, 0)
+ "********" + llList2List([1,2,3,4], 9, 2)
+ "********" + llList2List([1,2,3,4], 9, 3)
+ "********" + llList2List([1,2,3,4], 9, 4)
+ "********" + llList2List([1,2,3,4], 9, 5)
+ "********" + llList2List([], 0, -1)

View file

@ -0,0 +1,284 @@
[ "********"
, "********"
, 1
, "********"
, 1
, 2
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, "********"
, 1
, "********"
, 1
, 2
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 3
, 4
, "********"
, 1
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 3
, "********"
, 3
, 4
, "********"
, 1
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 3
, "********"
, 3
, 4
, "********"
, 3
, 4
, "********"
, 3
, 4
, "********"
, 4
, "********"
, 1
, 4
, "********"
, 1
, 2
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 4
, "********"
, 1
, 4
, "********"
, 1
, 2
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 4
, "********"
, 4
, "********"
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 4
, "********"
, 1
, 4
, "********"
, 4
, "********"
, 1
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 4
, "********"
, 4
, "********"
, 4
, "********"
, "********"
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, 4
, "********"
, "********"
, "********"
, "********"
, "********"
, 1
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, "********"
, 1
, 2
, 3
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
, 1
, 2
, 3
, 4
, "********"
]

View file

@ -0,0 +1,8 @@
[ llGetListLength(llDeleteSubList([llSetRegionPos(<0,0,0>)], 0, -1))
, llGetListLength(llListReplaceList([llSetRegionPos(<0,0,0>)], [], 0, -1))
, llGetListLength(llDeleteSubList(llGetLinkPrimitiveParams(LINK_THIS,[1,2,3]), 0, -1))
, llGetListLength(llListReplaceList(
llGetLinkPrimitiveParams(LINK_THIS,[1,2,3]), [], 0, -1
))
, llGetListLength(llDeleteSubList(llGetLinkPrimitiveParams(LINK_THIS,[1,2,3]), 0, -2))
]

View file

@ -0,0 +1,6 @@
[ llGetListLength(llDeleteSubList((list)llSetRegionPos(<0., 0., 0.>), 0, -1))
, llGetListLength(llListReplaceList((list)llSetRegionPos(<0., 0., 0.>), [], 0, -1))
, 0
, 0
, llGetListLength(llDeleteSubList(llGetLinkPrimitiveParams(-4, [1, 2, 3]), 0, -2))
]

View file

@ -0,0 +1 @@
llEscapeURL("" + llUnescapeURL("%09") + "\n " + llUnescapeURL("%0D") + "" + llUnescapeURL("%1A") + " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀ")

View file

@ -0,0 +1 @@
"%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20%21%22%23%24%25%26%27%28%29%2A%2B%2C%2D%2E%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E%5F%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%7F%C2%80%C2%81%C2%82%C2%83%C2%84%C2%85%C2%86%C2%87%C2%88%C2%89%C2%8A%C2%8B%C2%8C%C2%8D%C2%8E%C2%8F%C2%90%C2%91%C2%92%C2%93%C2%94%C2%95%C2%96%C2%97%C2%98%C2%99%C2%9A%C2%9B%C2%9C%C2%9D%C2%9E%C2%9F%C2%A0%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2%AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF%C4%80"

View file

@ -0,0 +1 @@
main.py -O clear,optimize,constfold,addstrings,foldtabs,expr -

View file

@ -0,0 +1,31 @@
[ llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
]

View file

@ -0,0 +1,2 @@
REGEX
[[,] [0-9]{7}\.[0-9]*

View file

@ -0,0 +1,31 @@
[ llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
, llFrand(16777216)
]

View file

@ -0,0 +1,2 @@
REGEX
[[,] [0-9]{8}\.[0-9]*

View file

@ -0,0 +1 @@
llGenerateKey()

View file

@ -0,0 +1,2 @@
REGEX
^\(\(key\)"[a-z0-9]{8}(?:-[a-z0-9]{4}){4}[a-z0-9]{8}"\)$

View file

@ -0,0 +1,21 @@
[ llListFindList([1e40*0], [1e40*0]) // finds it...
, llListFindList([-1e40*0], [-1e40*0])
, llListFindList([1e40*0, -1e40*0], [-1e40*0, 1e40*0])
, llListFindList([-0.], [0.])
, llListFindList([0.], [-0.])
, llListFindList([1, 1e40*0, 1., 1e40*0], [1., 1e40*0])
, llListFindList([1, 1e40*0, 1., 1e40*0], [2.])
, llListFindList([<1e40*0,0.,0.>], [<1e40*0,0.,0.>]) // ... but this doesnt?!
, llListFindList([<0.,0.,0.>], [<0.,0.,0.>])
, llListFindList([<0.,0.,0.,1e40*0>], [<0.,0.,0.,1e40*0>])
, llListFindList([<0.,0.,0.,-1e40*0>], [<0.,0.,0.,-1e40*0>])
, llListFindList([(key)"12345678-ABCD-5678-1234-123456781234"],
[(key)"12345678-abcd-5678-1234-123456781234"]) // case differs
, llListFindList([(key)"12345678-abcd-5678-1234-123456781234"],
[(key)"12345678-abcd-5678-1234-123456781234"]) // identical
, llListFindList(["12345678-abcd-5678-1234-123456781234",
(key)"12345678-abcd-5678-1234-123456781234"],
[(key)"12345678-abcd-5678-1234-123456781234"])
, llListFindList([], [""])
]

View file

@ -0,0 +1,16 @@
[ 0
, 0
, 0
, 0
, 0
, 2
, -1
, -1
, 0
, -1
, -1
, -1
, 0
, 1
, -1
]

View file

@ -0,0 +1,16 @@
[ llListStatistics(1, [])
, llListStatistics(0, [1.,5.,2,3,9,-1])
, llListStatistics(1, [1.,5.,-2,3,9,-1])
, llListStatistics(2, [1.,5.,2,3,9,-1])
, llListStatistics(3, [1.,5.,2,3,9,-1])
, llListStatistics(4, [1.,5.,2,3,9,-1])
, llListStatistics(4, [1.,5.,1e40*0,2,3,9,-1])
, llListStatistics(5, [1.,5.,2,3,9,-1])
, llListStatistics(6, [1.,5.,2,3,9,-1])
, llListStatistics(7, [1.,5.,2,3,9,-1])
, llListStatistics(8, [1.,5.,2,3,9,-1])
, llListStatistics(9, [1.,5.,2.,3.,1e40*0,9.])
, llListStatistics(9, [1.,5.,2.,3.,1e40*0,-9.])
, llListStatistics(9, [1.,5.,2.,3.,1.,9.])
, llListStatistics(10, [1.,5.,2,3,9,-1])
]

View file

@ -0,0 +1,16 @@
[ 0.
, 10.
, -2.
, 9.
, 3.1666667
, 2.5
, -1.
, 3.488075
, 19.
, 121.
, 6.
, (1e40*0)
, 0.
, 2.5423028
, 0.
]

View file

@ -0,0 +1,18 @@
[ llLog((float)"NaN")
, llLog(1e40*0)
, llLog(-1e40)
, llLog(1e40)
, llLog(-1.)
, llLog(-0.)
, llLog(1.)
, llLog((float)"0x1.5bf0a8p1") // e
, llLog10((float)"NaN")
, llLog10(1e40*0)
, llLog10(-1e40)
, llLog10(1e40)
, llLog10(-1.)
, llLog10(-0.)
, llLog10(1.)
, llLog10(100.)
, llLog(1e40)
]

View file

@ -0,0 +1,18 @@
[ 0.
, 0.
, 0.
, 1e40
, 0.
, 0.
, 0.
, 0.99999994
, 0.
, 0.
, 0.
, 1e40
, 0.
, 0.
, 0.
, 2.
, 1e40
]

View file

@ -0,0 +1,70 @@
[ llModPow(65535, 3, 0)
, llModPow(65535, 3, 41)
, llModPow(65535, 3, -2147483648)
, llModPow(65535, 3, -2147483647)
, llModPow(65533, 3, -2147483648)
, llModPow(65533, 3, -2147483645)
, llModPow(65533, 3, 2147483645)
, llModPow(65533, 3, 555)
, llModPow(65533, 3, 1073741823)
, llModPow(65533, 3, 1073741824)
, llModPow(65533, 3, 1073741825)
, llModPow(32767, 3, 1073741825)
, llModPow(32767, 3, 107374182)
, llModPow(32767, 3, 10737418)
, llModPow(32767, 3, 1073741)
, llModPow(32767, 3, 107374)
, llModPow(32767, 3, 507374)
, llModPow(32767, 3, 907374)
, llModPow(32767, 3, 707374)
, llModPow(32767, 3, 607374)
, llModPow(32767, 3, 600374)
, llModPow(32767, 3, 550374)
, llModPow(32767, 3, 520374)
, llModPow(32767, 3, 510374)
, llModPow(32767, 3, 500374)
, llModPow(32767, 3, 300374)
, llModPow(32767, 3, 100374)
, llModPow(32767, 3, 130374)
, llModPow(32767, 3, 132374)
, llModPow(32767, 3, 142374)
, llModPow(32767, 3, 172374)
, llModPow(32767, 3, 192374)
, llModPow(32767, 3, 199374)
, llModPow(32767, 3, 209374)
, llModPow(32767, 3, 259374)
, llModPow(32767, 3, 269374)
, llModPow(32767, 3, 261374)
, llModPow(32767, 3, 260374)
, llModPow(32767, 3, 250374)
, llModPow(32767, 3, 259375)
, llModPow(32767, 3, 260000)
, llModPow(32767, 3, 259999)
, llModPow(32767, 3, 259500)
, llModPow(32767, 3, 259750)
, llModPow(32767, 3, 259850)
, llModPow(32767, 3, 259800)
, llModPow(32767, 3, 259790)
, llModPow(32767, 3, 259770)
, llModPow(32767, 3, 259780)
, llModPow(32767, 3, 259785)
, llModPow(32767, 3, 259782)
, llModPow(32767, 3, 259781)
, llModPow(32767, 2, 259781)
, llModPow(32767, 2, 259782)
, llModPow(32767, 3, 259782)
, llModPow(-1, 3, 259782)
, llModPow(-1, -3, 259782)
, llModPow(0, 0, 0)
, llModPow(1, 0, 0)
, llModPow(1, 0, 1)
, llModPow(1, 0, 2)
, llModPow(1, 0, 3)
, llModPow(1, 0, 4)
, llModPow(1, 1, 1)
, llModPow(5, 1, 1)
, llModPow(5, 25, 7)
, llModPow(5, 25, 13)
, llModPow(5, 25, 17)
, llModPow(41, 1, 17)
]

View file

@ -0,0 +1,70 @@
[ 0
, 34
, 196607
, 131071
, 1769445
, 1572843
, 1966047
, 142
, 1966045
, 1769445
, 1572845
, 98302
, 216275
, 876887
, 230066
, 54345
, 161343
, 346875
, 690307
, 139309
, 146813
, 389875
, 301047
, 36839
, 115989
, 83681
, 23425
, 64819
, 66641
, 93049
, 59569
, 66591
, 112231
, 54343
, 84733
, 49913
, 85865
, 2379
, 78307
, 99163
, 254367
, 90487
, 19663
, 29663
, 49367
, 164967
, 137017
, 64183
, 237863
, 162132
, 85797
, 157054
, 1416
, 257065
, 85797
, 251271
, 251271
, 0
, 0
, 0
, 1
, 1
, 1
, 0
, 0
, 5
, 5
, 12
, 7
]

View file

@ -0,0 +1,210 @@
[ llPow((float)"nan", (float)"nan")
, llPow((float)"nan", -1e40)
, llPow((float)"nan", -2.1)
, llPow((float)"nan", -2.)
, llPow((float)"nan", -1.)
, llPow((float)"nan", -0.1)
, llPow((float)"nan", -0.)
, llPow((float)"nan", 0.)
, llPow((float)"nan", 0.1)
, llPow((float)"nan", 1.)
, llPow((float)"nan", 2.)
, llPow((float)"nan", 2.1)
, llPow((float)"nan", 1e40)
, llPow((float)"nan", 1e40*0)
, llPow(-1e40, (float)"nan")
, llPow(-1e40, -1e40)
, llPow(-1e40, -2.1)
, llPow(-1e40, -2.)
, llPow(-1e40, -1.)
, llPow(-1e40, -0.1)
, llPow(-1e40, -0.)
, llPow(-1e40, 0.)
, llPow(-1e40, 0.1)
, llPow(-1e40, 1.)
, llPow(-1e40, 2.)
, llPow(-1e40, 2.1)
, llPow(-1e40, 1e40)
, llPow(-1e40, 1e40*0)
, llPow(-2.1, (float)"nan")
, llPow(-2.1, -1e40)
, llPow(-2.1, -2.1)
, llPow(-2.1, -2.)
, llPow(-2.1, -1.)
, llPow(-2.1, -0.1)
, llPow(-2.1, -0.)
, llPow(-2.1, 0.)
, llPow(-2.1, 0.1)
, llPow(-2.1, 1.)
, llPow(-2.1, 2.)
, llPow(-2.1, 2.1)
, llPow(-2.1, 1e40)
, llPow(-2.1, 1e40*0)
, llPow(-2., (float)"nan")
, llPow(-2., -1e40)
, llPow(-2., -2.1)
, llPow(-2., -2.)
, llPow(-2., -1.)
, llPow(-2., -0.1)
, llPow(-2., -0.)
, llPow(-2., 0.)
, llPow(-2., 0.1)
, llPow(-2., 1.)
, llPow(-2., 2.)
, llPow(-2., 2.1)
, llPow(-2., 1e40)
, llPow(-2., 1e40*0)
, llPow(-1., (float)"nan")
, llPow(-1., -1e40)
, llPow(-1., -2.1)
, llPow(-1., -2.)
, llPow(-1., -1.)
, llPow(-1., -0.1)
, llPow(-1., -0.)
, llPow(-1., 0.)
, llPow(-1., 0.1)
, llPow(-1., 1.)
, llPow(-1., 2.)
, llPow(-1., 2.1)
, llPow(-1., 1e40)
, llPow(-1., 1e40*0)
, llPow(-0.1, (float)"nan")
, llPow(-0.1, -1e40)
, llPow(-0.1, -2.1)
, llPow(-0.1, -2.)
, llPow(-0.1, -1.)
, llPow(-0.1, -0.1)
, llPow(-0.1, -0.)
, llPow(-0.1, 0.)
, llPow(-0.1, 0.1)
, llPow(-0.1, 1.)
, llPow(-0.1, 2.)
, llPow(-0.1, 2.1)
, llPow(-0.1, 1e40)
, llPow(-0.1, 1e40*0)
, llPow(-0., (float)"nan")
, llPow(-0., -1e40)
, llPow(-0., -2.1)
, llPow(-0., -2.)
, llPow(-0., -1.)
, llPow(-0., -0.1)
, llPow(-0., -0.)
, llPow(-0., 0.)
, llPow(-0., 0.1)
, llPow(-0., 1.)
, llPow(-0., 2.)
, llPow(-0., 2.1)
, llPow(-0., 1e40)
, llPow(-0., 1e40*0)
, llPow(0., (float)"nan")
, llPow(0., -1e40)
, llPow(0., -2.1)
, llPow(0., -2.)
, llPow(0., -1.)
, llPow(0., -0.1)
, llPow(0., -0.)
, llPow(0., 0.)
, llPow(0., 0.1)
, llPow(0., 1.)
, llPow(0., 2.)
, llPow(0., 2.1)
, llPow(0., 1e40)
, llPow(0., 1e40*0)
, llPow(0.1, (float)"nan")
, llPow(0.1, -1e40)
, llPow(0.1, -2.1)
, llPow(0.1, -2.)
, llPow(0.1, -1.)
, llPow(0.1, -0.1)
, llPow(0.1, -0.)
, llPow(0.1, 0.)
, llPow(0.1, 0.1)
, llPow(0.1, 1.)
, llPow(0.1, 2.)
, llPow(0.1, 2.1)
, llPow(0.1, 1e40)
, llPow(0.1, 1e40*0)
, llPow(1., (float)"nan")
, llPow(1., -1e40)
, llPow(1., -2.1)
, llPow(1., -2.)
, llPow(1., -1.)
, llPow(1., -0.1)
, llPow(1., -0.)
, llPow(1., 0.)
, llPow(1., 0.1)
, llPow(1., 1.)
, llPow(1., 2.)
, llPow(1., 2.1)
, llPow(1., 1e40)
, llPow(1., 1e40*0)
, llPow(2., (float)"nan")
, llPow(2., -1e40)
, llPow(2., -2.1)
, llPow(2., -2.)
, llPow(2., -1.)
, llPow(2., -0.1)
, llPow(2., -0.)
, llPow(2., 0.)
, llPow(2., 0.1)
, llPow(2., 1.)
, llPow(2., 2.)
, llPow(2., 2.1)
, llPow(2., 1e40)
, llPow(2., 1e40*0)
, llPow(2.1, (float)"nan")
, llPow(2.1, -1e40)
, llPow(2.1, -2.1)
, llPow(2.1, -2.)
, llPow(2.1, -1.)
, llPow(2.1, -0.1)
, llPow(2.1, -0.)
, llPow(2.1, 0.)
, llPow(2.1, 0.1)
, llPow(2.1, 1.)
, llPow(2.1, 2.)
, llPow(2.1, 2.1)
, llPow(2.1, 1e40)
, llPow(2.1, 1e40*0)
, llPow(1e40, (float)"nan")
, llPow(1e40, -1e40)
, llPow(1e40, -2.1)
, llPow(1e40, -2.)
, llPow(1e40, -1.)
, llPow(1e40, -0.1)
, llPow(1e40, -0.)
, llPow(1e40, 0.)
, llPow(1e40, 0.1)
, llPow(1e40, 1.)
, llPow(1e40, 2.)
, llPow(1e40, 2.1)
, llPow(1e40, 1e40)
, llPow(1e40, 1e40*0)
, llPow(1e40*0, (float)"nan")
, llPow(1e40*0, -1e40)
, llPow(1e40*0, -2.1)
, llPow(1e40*0, -2.)
, llPow(1e40*0, -1.)
, llPow(1e40*0, -0.1)
, llPow(1e40*0, -0.)
, llPow(1e40*0, 0.)
, llPow(1e40*0, 0.1)
, llPow(1e40*0, 1.)
, llPow(1e40*0, 2.)
, llPow(1e40*0, 2.1)
, llPow(1e40*0, 1e40)
, llPow(1e40*0, 1e40*0)
]

View file

@ -0,0 +1,197 @@
[ (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, 0.
, 0.
, 0.
, 0.
, 0.
, 1.
, 1.
, 1e40
, ((float)-1e40)
, 1e40
, 1e40
, 1e40
, (-1e40*0)
, (-1e40*0)
, 0.
, (1e40*0)
, 0.22675739
, -0.4761905
, (1e40*0)
, 1.
, 1.
, (1e40*0)
, -2.1
, 4.4099993
, (1e40*0)
, 1e40
, (-1e40*0)
, (-1e40*0)
, 0.
, (1e40*0)
, 0.25
, -0.5
, (1e40*0)
, 1.
, 1.
, (1e40*0)
, -2.
, 4.
, (1e40*0)
, 1e40
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (1e40*0)
, 1.
, -1.
, (1e40*0)
, 1.
, 1.
, (1e40*0)
, -1.
, 1.
, (1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, 1e40
, (1e40*0)
, 100.
, -10.
, (1e40*0)
, 1.
, 1.
, (1e40*0)
, -0.1
, 0.010000001
, (1e40*0)
, 0.
, (-1e40*0)
, (-1e40*0)
, 1e40
, 1e40
, 1e40
, ((float)-1e40)
, 1e40
, 1.
, 1.
, 0.
, 0.
, 0.
, 0.
, 0.
, (-1e40*0)
, (-1e40*0)
, 1e40
, 1e40
, 1e40
, 1e40
, 1e40
, 1.
, 1.
, 0.
, 0.
, 0.
, 0.
, 0.
, (-1e40*0)
, (-1e40*0)
, 1e40
, 125.89251
, 100.
, 10.
, 1.2589254
, 1.
, 1.
, 0.7943282
, 0.1
, 0.010000001
, 0.007943285
, 0.
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, 1.
, 1.
, 1.
, 1.
, 1.
, 1.
, 1.
, 1.
, 1.
, 1.
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, 0.
, 0.23325826
, 0.25
, 0.5
, 0.933033
, 1.
, 1.
, 1.0717734
, 2.
, 4.
, 4.2870936
, 1e40
, (-1e40*0)
, (-1e40*0)
, 0.
, 0.2105424
, 0.22675739
, 0.4761905
, 0.9284918
, 1.
, 1.
, 1.0770154
, 2.1
, 4.4099993
, 4.749637
, 1e40
, (-1e40*0)
, (-1e40*0)
, 0.
, 0.
, 0.
, 0.
, 0.
, 1.
, 1.
, 1e40
, 1e40
, 1e40
, 1e40
, 1e40
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
]

View file

@ -0,0 +1,82 @@
[ llUnescapeURL("%")
, llUnescapeURL("%%")
, llUnescapeURL("%4%252Fabc")
, llEscapeURL(llUnescapeURL("%%4%252Fabc"))
, llStringToBase64(llUnescapeURL("%%4%252Fabc"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c%"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c%2"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c%%"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c%%2"))
, llEscapeURL(llUnescapeURL("%.44%25%%2Fa←c%%%2346"))
, llEscapeURL(llUnescapeURL("%4.%25"))
// Test UTF-8 validity
, llEscapeURL(llUnescapeURL("%C3%81%80%E3%81%C3%80ABC%D3"))
, llEscapeURL(llUnescapeURL("%C3%81%80%E3%81%C3%80ABC%00%D3"))
, llEscapeURL(llUnescapeURL("%E0%80%80%80%80%80%80%E3%81%C3%80ABC%00%D3"))
// test UTF-8 valid ranges
// thorough control codes
, llEscapeURL(llUnescapeURL("%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F"))
, llEscapeURL(llUnescapeURL("%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F"))
// DEL
, llEscapeURL(llUnescapeURL("%7Fx"))
// invalid ranges
, llEscapeURL(llUnescapeURL("%80%80x"))
, llEscapeURL(llUnescapeURL("%BF%BFx"))
// aliased
, llEscapeURL(llUnescapeURL("%C0%80x"))
, llEscapeURL(llUnescapeURL("%C1%BFx"))
// valid range
, llEscapeURL(llUnescapeURL("%C2%80x"))
, llEscapeURL(llUnescapeURL("%DF%BFx"))
// aliased
, llEscapeURL(llUnescapeURL("%E0%80%80x"))
, llEscapeURL(llUnescapeURL("%E0%9F%BFx"))
// valid range
, llEscapeURL(llUnescapeURL("%E0%A0%80x"))
, llEscapeURL(llUnescapeURL("%ED%9F%BFx"))
// invalid (UTF-16 high surrogates)
, llEscapeURL(llUnescapeURL("%ED%A0%80x"))
, llEscapeURL(llUnescapeURL("%ED%AF%BFx"))
// invalid (UTF-16 low surrogates)
, llEscapeURL(llUnescapeURL("%ED%B0%80x"))
, llEscapeURL(llUnescapeURL("%ED%BF%BFx"))
// valid range
, llEscapeURL(llUnescapeURL("%EE%80%80x"))
, llEscapeURL(llUnescapeURL("%EF%BF%BFx"))
// aliased
, llEscapeURL(llUnescapeURL("%F0%80%80%80x"))
, llEscapeURL(llUnescapeURL("%F0%8F%BF%BFx"))
// valid range
, llEscapeURL(llUnescapeURL("%F0%90%80%80x"))
, llEscapeURL(llUnescapeURL("%F4%8F%BF%BFx"))
// codepoints > U+10FFFF (all invalid)
, llEscapeURL(llUnescapeURL("%F4%90%80%80x"))
, llEscapeURL(llUnescapeURL("%F7%BF%BF%BFx"))
, llEscapeURL(llUnescapeURL("%F8%80%80%80%80x"))
, llEscapeURL(llUnescapeURL("%F8%87%BF%BF%BFx"))
, llEscapeURL(llUnescapeURL("%F8%88%80%80%80x"))
, llEscapeURL(llUnescapeURL("%FB%BF%BF%BF%BFx"))
, llEscapeURL(llUnescapeURL("%FC%80%80%80%80%80x"))
, llEscapeURL(llUnescapeURL("%FC%83%BF%BF%BF%BFx"))
, llEscapeURL(llUnescapeURL("%FC%84%80%80%80%80x"))
, llEscapeURL(llUnescapeURL("%FD%BF%BF%BF%BF%BFx"))
// FE and FF are used for the UTF-16 and UTF-32 BOM
, llEscapeURL(llUnescapeURL("%FE%B0%80%80%80%80%80%80x"))
, llEscapeURL(llUnescapeURL("%FF%BF%BF%BF%BF%BF%BF%BFx"))
// short or invalid sequences
, llEscapeURL(llUnescapeURL("%80"))
, llEscapeURL(llUnescapeURL("%BF"))
, llEscapeURL(llUnescapeURL("%C2"))
, llEscapeURL(llUnescapeURL("%E1"))
, llEscapeURL(llUnescapeURL("%E1%80"))
, llEscapeURL(llUnescapeURL("%F1"))
, llEscapeURL(llUnescapeURL("%F1%80"))
, llEscapeURL(llUnescapeURL("%F1%80%80"))
// Test that U+FFFD is preserved even with invalid characters
, llEscapeURL(llUnescapeURL("%EF%BF%BD%90"))
]

View file

@ -0,0 +1,60 @@
[ ""
, ""
, "@252Fabc"
, "%04%252Fabc"
, "BCUyRmFiYw=="
, "%044%25%02Fa%E2%86%90c"
, "%044%25%02Fa%E2%86%90c"
, "%044%25%02Fa%E2%86%90c"
, "%044%25%02Fa%E2%86%90c"
, "%044%25%02Fa%E2%86%90c%02"
, "%044%25%02Fa%E2%86%90c"
, "%40%25"
, "%C3%81%3F%3F%3F%C3%80ABC%3F"
, "%C3%81%3F%3F%3F%C3%80ABC"
, "%3F%3F%3F%3F%3F%3F%3F%3F%3F%C3%80ABC"
, "%01%02%03%04%05%06%07%08%09%0A%0B%0C%0D%0E%0F"
, "%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F"
, "%7Fx"
, "%3F%3Fx"
, "%3F%3Fx"
, "%3F%3Fx"
, "%3F%3Fx"
, "%C2%80x"
, "%DF%BFx"
, "%3F%3F%3Fx"
, "%3F%3F%3Fx"
, "%E0%A0%80x"
, "%ED%9F%BFx"
, "%3F%3F%3Fx"
, "%3F%3F%3Fx"
, "%3F%3F%3Fx"
, "%3F%3F%3Fx"
, "%EE%80%80x"
, "%EF%BF%BFx"
, "%3F%3F%3F%3Fx"
, "%3F%3F%3F%3Fx"
, "%F0%90%80%80x"
, "%F4%8F%BF%BFx"
, "%3F%3F%3F%3Fx"
, "%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3F%3F%3Fx"
, "%3F%3F%3F%3F%3F%3F%3F%3Fx"
, "%3F"
, "%3F"
, "%3F"
, "%3F"
, "%3F%3F"
, "%3F"
, "%3F%3F"
, "%3F%3F%3F"
, "%EF%BF%BD%3F"
]

View file

@ -0,0 +1 @@
main.py -O clear,optimize,constfold,addstrings,foldtabs,expr -

View file

@ -0,0 +1,7 @@
[ 1e40/1e40
, 1./0
, 1/0
, (float)"nan" / 1
, 1./(float)"nan"
, 5%0
]

View file

@ -0,0 +1,7 @@
[ 1e40 / 1e40
, 1. / 0
, 1 / 0
, (-1e40*0) / 1
, 1. / (-1e40*0)
, 5 % 0
]

View file

@ -0,0 +1,67 @@
[ llAbs(0)
, llAbs(4)
, llAbs(-4)
, llAbs(2147483647)
, llAbs(-2147483647)
, llAbs(-2147483649)
, llAbs(-2147483650)
, llFabs(-0.0)
, llFabs(1e40)
, llFabs(-1e40)
, llFabs(2147483648.)
, llFabs(-2147483648.)
, llFabs(1e40*0)
, llFabs(-1e40*0)
, llFabs(1.0)
, llFabs(1.0000001)
, llFabs(0.99999995)
, llFloor(-0.0)
, llFloor(1e40)
, llFloor(2147483648.)
, llFloor(-2147483648.)
, llFloor(1e40*0)
, llFloor(-1e40*0)
, llFloor(1.0)
, llFloor(1.0000001)
, llFloor(0.99999995)
, llCeil(-0.0)
, llCeil(1e40)
, llCeil(2147483648.)
, llCeil(-2147483648.)
, llCeil(1e40*0)
, llCeil(-1e40*0)
, llCeil(1.0)
, llCeil(1.0000001)
, llCeil(0.99999995)
, llRound(-0.0)
, llRound(1e40)
, llRound(2147483648.)
, llRound(-2147483648.)
, llRound(1e40*0)
, llRound(-1e40*0)
, llRound(1.0)
, llRound(1.0000001)
, llRound(0.99999995)
, llRound(0.49999997) // gives 1!
, llRound(0.5)
, llRound(0.50000005)
, llRound(-0.49999997) // gives 0
, llRound(-0.5) // gives 0
, llRound(-0.50000005) // gives -1
, llRound(-2.5)
, llRound(-3.5)
, llSqrt(-1.)
, llSqrt(0.)
, llSqrt(-0.)
, llSqrt(1.)
, llSqrt(2.)
, llSqrt(1e40)
, llSqrt(1e40*0)
, llSqrt(-1e40*0)
, llVecMag(<-0.,-0.,-0.>)
, llVecMag(<48, 60, 64>)
, llVecMag(<-48, -60, -64>)
, llVecDist(<0,0,0>, <0,0,0>)
, llVecDist(<0,0,0>, <48,-60,-64>)
, llVecDist(<-30,30,30>, <18,-30,-34>)
]

View file

@ -0,0 +1,67 @@
[ 0
, 4
, 4
, 2147483647
, 2147483647
, 2147483647
, 2147483646
, -0.
, 1e40
, 1e40
, 2147483648.
, 2147483648.
, (1e40*0)
, (-1e40*0)
, 1.
, 1.0000001
, 0.99999994
, 0
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, 1
, 1
, 0
, 0
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, 1
, 2
, 1
, 0
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, -2147483648
, 1
, 1
, 1
, 1
, 1
, 1
, 0
, 0
, -1
, -2
, -3
, (1e40*0)
, 0.
, -0.
, 1.
, 1.4142135
, 1e40
, (1e40*0)
, (-1e40*0)
, 0.
, 100.
, 100.
, 0.
, 100.
, 100.
]

View file

@ -0,0 +1,13 @@
[ llDumpList2String([1e11], "/")
, llFrand(0.0)
, llFrand(-0.0)
, llFrand(1e40)
, llFrand(-1e40)
, llFrand(1e40*0)
, llFrand((float)"nan")
, llDumpList2String(llCSV2List("a,<<1,2>,3,4,\">5,6, \"1,3\",7<<>,8,9"), "|")
, llGetListEntryType([], 0)
, llGetListEntryType([[]], 0)
, llMD5String("", 0)
, llSHA1String("")
]

View file

@ -0,0 +1,13 @@
[ "100000000000.000000"
, 0.
, 0.
, 0.
, 0.
, (1e40*0)
, (-1e40*0)
, "a|<<1,2>,3,4,\">5|6|\"1|3\"|7<<>,8,9"
, 0
, 0
, "1a9d5db22c73a993ff0b42f64b396873"
, "da39a3ee5e6b4b0d3255bfef95601890afd80709"
]

View file

@ -0,0 +1,66 @@
[ (float)"inf"
, (float)"-inf"
, (float)"+inf"
, (float)"--inf"
, (float)"+-inf"
, 1e400
, 1e39
, -1e400
, -0*1e40
, 0*1e40
, 1e20
, llList2CSV([(float)"nan"])
, llList2CSV([-(float)"nan"])
, llList2CSV([(float)"-nan"])
, llList2CSV([(float)"-nanometre"])
, llList2CSV([(float)"--nan"])
, -0.
, 0.
, -0
, 0
, (float)"-0x13"
, (float)"+0x13"
, (float)"-0x13p1"
, (float)"+0x13p1"
, <-0, -0., 0>
, (vector)"<nan,-0,-0.>"
, (vector)"<-nan,1,1>"
, (vector)"<nano,nano,nano>"
, (vector)"<nan,nan,nano>"
, (vector)"<nan(1),nan,nano>"
, (string)<0,0,0>
, (string)[<0,0,0>]
, (list)<(float)"nan", 2, 3>
, (list)[<(float)"nan", 2, 3>]
, (float)"1e-38"
, (vector)"<1e-38,0,0>"
, 1e40/1
, 1e40-1e40
, (1e40*0)*(1e40*0)
, (-1e40*0)*(1e40*0)
, (1e40*0)*(-1e40*0)
, (-1e40*0)*(-1e40*0)
, -0. < 0.
, 1e40 < 1e40
, -1e40 < 1e40
, <3.,0.,-0.>*0.
, <3.,0.,-0.>*-0.
, <3.,0.,-0.>*1e40
, <3.,0.,-0.>*-1e40
, <3.,0.,-0.>*(1e40*0)
, <3.,0.,-0.>*(-1e40*0)
, <1e40,1e40*0,-1e40*0>*0.
, <1e40,1e40*0,-1e40*0>*-0.
, <1e40,1e40*0,-1e40*0>*1e40
, <1e40,1e40*0,-1e40*0>*-1e40
, <1e40,1e40*0,-1e40*0>*(1e40*0)
, <1e40,1e40*0,-1e40*0>*(-1e40*0)
, <3.,0.,-0.>/1e40
, <3.,0.,-0.>/-1e40
, <3.,0.,-0.>/(1e40*0)
, <3.,0.,-0.>/(-1e40*0)
, <1e40,1e40*0,-1e40*0>/1e40
, <1e40,1e40*0,-1e40*0>/-1e40
, <1e40,1e40*0,-1e40*0>/(1e40*0)
, <1e40,1e40*0,-1e40*0>/(-1e40*0)
]

View file

@ -0,0 +1,66 @@
[ 1e40
, ((float)-1e40)
, 1e40
, 0.
, 0.
, 1e40
, 1e40
, ((float)-1e40)
, (-1e40*0)
, (1e40*0)
, 1e20
, "nan"
, "-nan"
, "nan"
, "nan"
, "0.000000"
, -0.
, 0.
, 0
, 0
, -19.
, 19.
, -38.
, 38.
, <0., -0., 0.>
, <(-1e40*0), -0., -0.>
, <(1e40*0), 1., 1.>
, <0., 0., 0.>
, <(-1e40*0), (-1e40*0), (-1e40*0)>
, <0., 0., 0.>
, "<0.00000, 0.00000, 0.00000>"
, "<0.000000, 0.000000, 0.000000>"
, [<(-1e40*0), 2., 3.>]
, [<(-1e40*0), 2., 3.>]
, 0.
, <1e-38, 0., 0.>
, 1e40
, (1e40*0)
, (1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, 0
, 0
, 1
, <0., 0., -0.>
, <-0., -0., 0.>
, <1e40, (1e40*0), (1e40*0)>
, <((float)-1e40), (1e40*0), (1e40*0)>
, <(1e40*0), (1e40*0), (1e40*0)>
, <(-1e40*0), (-1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <1e40, (1e40*0), (-1e40*0)>
, <((float)-1e40), (1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <(-1e40*0), (-1e40*0), (-1e40*0)>
, <0., 0., -0.>
, <-0., -0., 0.>
, <(1e40*0), (1e40*0), (1e40*0)>
, <(-1e40*0), (-1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <(1e40*0), (1e40*0), (-1e40*0)>
, <(-1e40*0), (-1e40*0), (-1e40*0)>
]

View file

@ -0,0 +1,42 @@
[ 1 == 1
, 1e40*0 == 1e40*0
, (float)"nan" == (float)"nan"
, (float)"nan" == 1e40*0
, 3.14==3.14
, 1 == 2
, 3.14 == 3.1399999
, 1 != 1
, (float)"nan" != (float)"nan"
, "a" != "b"
, "a" == "b"
, "a" != "a"
, "a" == "a"
, [1,2] != [3,4]
, [1,2] == [3,4]
, [1] != [2,3]
, <1,2,3,4> == <1.,2.,3.,4.2>
, <1,2,3> == <1.,2.,3.>
, (key)NULL_KEY == (key)TEXTURE_BLANK
, (key)NULL_KEY != (key)TEXTURE_BLANK
, (key)NULL_KEY == NULL_KEY
, (key)"ABCDEFAB-ABCD-ABCD-ABCD-ABCDEFABCDEF" ==
(key)"abcdefab-abcd-abcd-abcd-abcdefabcdef"
, 1 == 1.
, 1 < 2
, 2 > 1
, 2 < 2
, 2 > 2
, 3 < 2
, 2 > 3
, -2 < -1
, -2. < -1.
, -1. < -1.
, -0. < 0.
, (float)"nan" < 2
, (float)"nan" > 2
, 2 < (float)"nan"
, 2 > (float)"nan"
, (float)"nan" < (1e40*0)
, 1e40 < 1e40
, -1e40 < 1e40
]

View file

@ -0,0 +1,41 @@
[ 1
, 0
, 0
, 0
, 1
, 0
, 0
, 0
, 1
, 1
, 0
, 0
, 1
, 0
, 1
, -1
, 0
, 1
, 0
, 1
, 1
, 0
, 1
, 1
, 1
, 0
, 0
, 0
, 0
, 1
, 1
, 0
, 0
, 0
, 0
, 0
, 0
, 0
, 0
, 1
]

View file

@ -0,0 +1,107 @@
[ 1*0
, (-1)*0
, (-1.)*0.
, (-0.)*1.
, (-0.)*-1.
, 0/9
, (-1)/-9
, (-8)/-9
, (-9)/-9
, (-1)/9
, (-8)/9
, (-9)/9
, 1/-9
, 8/-9
, 9/-9
, 1/9
, 8/9
, 9/9
, 0x80000000/-1
, <3,6,9>/3
, -(-2147483648)
, -(2147483647)
, (-2147483648)+(-1)
, (-2147483648.)+(-1.)
, (-2147483648.)+(-1)
, (-2147483648)+(-1.)
, -<-.5,.5,.4>
, -<-.5,.5,.4,-.4>
, <1.,2.,3.>+<2.,4.,6.>
, <1.,2.,3.,4.>+<2.,4.,6.,8.>
, ["1"] + ["2"]
, "1" + ["2"]
, ["1"] + "2"
, "1" + "2"
, 1-2
, 1.-2
, 1-2.
, 1.-2.
, (-2147483647)-2
, <1.,2.,3>-<2.,4.,6>
, <1.,2.,3.,4.>-<2.,4.,6.,8.>
, 2.*<1.,2.,3.>
, <1.6, 3.2, 6.4, 6.8> * <1., 0., 0., 0.>
, 1*2
, 1*2.
, 1.*2
, 1.*2.
, <3.,4.,5.>*<3.,4.,5.>
, <3.,4.,5.>*1.
, <3.,4.,5.>*ZERO_ROTATION
, <3.,4.,5.>*<.22,.26,.38,.86>
, <3.,4.,5.>/<.22,.26,.38,.86>
, 0 % 5
, 1 % 5
, 2 % 5
, 3 % 5
, 4 % 5
, 5 % 5
, 6 % 5
, (-1) % 5
, (-2) % 5
, (-3) % 5
, (-4) % 5
, (-5) % 5
, (-6) % 5
, 0 % -5
, 1 % -5
, 2 % -5
, 3 % -5
, 4 % -5
, 5 % -5
, 6 % -5
, (-1) % -5
, (-2) % -5
, (-3) % -5
, (-4) % -5
, (-5) % -5
, (-6) % -5
, (-2147483648) % 5
, (-2147483648) % -5
, 5 % (-2147483648)
, 5 % 2147483647
, <1,0,0>%<0,1,0>
, 1 << -33
, 1 << -1
, 1 << 0
, 1 << 1
, 1 << 31
, 1 << 32
, 1 << 33
, 1 << 63
, 1 << 64
, 1 << 66
, 1 << 66
, 0xC0000000 >> -33
, 0xC0000000 >> -1
, 0xC0000000 >> 0
, 0xC0000000 >> 1
, 0xC0000000 >> 30
, 0xC0000000 >> 31
, 0xC0000000 >> 32
, 0xC0000000 >> 33
, 0xC0000000 >> 63
, 0xC0000000 >> 64
, 0xC0000000 >> 65
, 0xC0000000 >> 66
]

View file

@ -0,0 +1,107 @@
[ 0
, 0
, -0.
, -0.
, 0.
, 0
, 0
, 0
, 1
, 0
, 0
, -1
, 0
, 0
, -1
, 0
, 0
, 1
, -2147483648
, <1., 2., 3.>
, -2147483648
, -2147483647
, 2147483647
, -2147483648.
, -2147483648.
, -2147483648.
, <0.5, -0.5, -0.4>
, <0.5, -0.5, -0.4, 0.4>
, <3., 6., 9.>
, <3., 6., 9., 12.>
, ["1", "2"]
, ["1", "2"]
, ["1", "2"]
, "12"
, -1
, -1.
, -1.
, -1.
, 2147483647
, <-1., -2., -3.>
, <-1., -2., -3., -4.>
, <2., 4., 6.>
, <6.8, -6.4, 3.2, -1.6>
, 2
, 2.
, 2.
, 2.
, 50.
, <3., 4., 5.>
, <3., 4., 5.>
, <2.6432, 3.8576, 5.304>
, <3.4, 3.72, 4.96>
, 0
, 1
, 2
, 3
, 4
, 0
, 1
, -1
, -2
, -3
, -4
, 0
, -1
, 0
, 1
, 2
, 3
, 4
, 0
, 1
, -1
, -2
, -3
, -4
, 0
, -1
, -3
, -3
, 5
, 5
, <0., 0., 1.>
, -2147483648
, -2147483648
, 1
, 2
, -2147483648
, 1
, 2
, -2147483648
, 1
, 4
, 4
, -1
, -1
, -1073741824
, -536870912
, -1
, -1
, -1073741824
, -536870912
, -1
, -1073741824
, -536870912
, -268435456
]

View file

@ -0,0 +1,36 @@
// Operator optimization tests
[ llGetLinkNumber() + 1
, llGetLinkNumber() + 2
, llGetLinkNumber() + 3
, llGetLinkNumber() + 4
, llGetLinkNumber() - 1
, llGetLinkNumber() - 2
, llGetLinkNumber() - 3
, llGetLinkNumber() - 4
, -~-~-~llGetLinkNumber()
, ~-~-~-llGetLinkNumber()
, llGetLinkNumber() + 3 + 2
// currently optimized to -3 + -~-~llGetLinkNumber(); we could do better here
, 2 + llGetLinkNumber() - 3
, -(-llGetLinkNumber() + 2)
, llGetLinkNumber()==2
, llGetLinkNumber() + llGetLinkNumber() + llGetLinkNumber()
, llGetLinkNumber() > 2
// TODO: Reduce stack here: Swap to 2 > llGetLinkNumber()
, llGetLinkNumber() < 2
, llGetTime() + 1 + 2
, 5 + llGetLinkNumber() + 6
, llGetLinkNumber() - 5 == 0
// TODO: Can be simplified by adding 5 to both sides.
// Don't do the same with > and < because of wraparound.
, llGetLinkNumber() - 5 == 12
, llGetLinkNumber() - 5 != 12
, -(-1-(-(-1-(-(-1-(llGetLinkNumber()))))))
, -1-llGetLinkNumber()
, -~~-llGetLinkNumber()
, (llGetLinkNumber() + 2) + (llGetLinkNumber() + 2)
, (llGetLinkNumber() + 2) + (llGetLinkNumber() - 2)
, (llGetLinkNumber() - 2) + (llGetLinkNumber() - 2)
, (llGetLinkNumber() + 5) + (llGetLinkNumber() + 5)
, llGetLinkNumber()*llGetLinkNumber() - llGetLinkNumber()*llGetLinkNumber()
]

View file

@ -0,0 +1,31 @@
[ -~llGetLinkNumber()
, -~-~llGetLinkNumber()
, 3 + llGetLinkNumber()
, 4 + llGetLinkNumber()
, ~-llGetLinkNumber()
, ~-~-llGetLinkNumber()
, ((integer)-3) + llGetLinkNumber()
, ((integer)-4) + llGetLinkNumber()
, 3 + llGetLinkNumber()
, ((integer)-3) + llGetLinkNumber()
, 5 + llGetLinkNumber()
, ~-llGetLinkNumber()
, ~-~-llGetLinkNumber()
, llGetLinkNumber() == 2
, llGetLinkNumber() + llGetLinkNumber() + llGetLinkNumber()
, 2 < llGetLinkNumber()
, llGetLinkNumber() < 2
, 2 + (1 + llGetTime())
, 11 + llGetLinkNumber()
, 5 == llGetLinkNumber()
, ((integer)-5) + llGetLinkNumber() == 12
, !(((integer)-5) + llGetLinkNumber() == 12)
, 3 + llGetLinkNumber()
, ~llGetLinkNumber()
, llGetLinkNumber()
, -((~-~llGetLinkNumber()) + (~-~llGetLinkNumber()))
, -~-~llGetLinkNumber() + (~-~-llGetLinkNumber())
, (~-~-llGetLinkNumber()) + (~-~-llGetLinkNumber())
, 5 + llGetLinkNumber() + (5 + llGetLinkNumber())
, 0
]

View file

@ -0,0 +1 @@
main.py -O clear,expr,optimize,constfold,optsigns -

View file

@ -0,0 +1,111 @@
[ llRot2Fwd(<1,0,0,0>)
, llRot2Fwd(<0,1,0,0>)
, llRot2Fwd(<0,0,1,0>)
, llRot2Fwd(<0,0,0,1>)
, llRot2Fwd(<0,0,0,0>)
, llRot2Fwd(<.5,.5,.5,.5>)
, llRot2Fwd(<-.5,.5,.5,.5>)
, llRot2Fwd(<.5,-.5,.5,.5>)
, llRot2Fwd(<.5,.5,-.5,.5>)
, llRot2Fwd(<.5,-.5,-.5,.5>)
, llRot2Fwd(<-.5,.5,-.5,.5>)
, llRot2Fwd(<-.5,-.5,.5,.5>)
, llRot2Fwd(<-.5,-.5,-.5,.5>)
, llRot2Fwd(<-.5,-.5,-.5,-.5>)
, llRot2Fwd(<-0.16, 0.2, -0.88, 0.4>)
, llRot2Fwd(<-16, 20, -88, 40>)
, llRot2Left(<1,0,0,0>)
, llRot2Left(<0,1,0,0>)
, llRot2Left(<0,0,1,0>)
, llRot2Left(<0,0,0,1>)
, llRot2Left(<0,0,0,0>)
, llRot2Left(<.5,.5,.5,.5>)
, llRot2Left(<-.5,.5,.5,.5>)
, llRot2Left(<.5,-.5,.5,.5>)
, llRot2Left(<.5,.5,-.5,.5>)
, llRot2Left(<.5,-.5,-.5,.5>)
, llRot2Left(<-.5,.5,-.5,.5>)
, llRot2Left(<-.5,-.5,.5,.5>)
, llRot2Left(<-.5,-.5,-.5,.5>)
, llRot2Left(<-.5,-.5,-.5,-.5>)
, llRot2Left(<-0.16, 0.2, -0.88, 0.4>)
, llRot2Left(<-16, 20, -88, 40>)
, llRot2Up(<1,0,0,0>)
, llRot2Up(<0,1,0,0>)
, llRot2Up(<0,0,1,0>)
, llRot2Up(<0,0,0,1>)
, llRot2Up(<0,0,0,0>)
, llRot2Up(<.5,.5,.5,.5>)
, llRot2Up(<-.5,.5,.5,.5>)
, llRot2Up(<.5,-.5,.5,.5>)
, llRot2Up(<.5,.5,-.5,.5>)
, llRot2Up(<.5,-.5,-.5,.5>)
, llRot2Up(<-.5,.5,-.5,.5>)
, llRot2Up(<-.5,-.5,.5,.5>)
, llRot2Up(<-.5,-.5,-.5,.5>)
, llRot2Up(<-.5,-.5,-.5,-.5>)
, llRot2Up(<-0.16, 0.2, -0.88, 0.4>)
, llRot2Up(<-16, 20, -88, 40>)
, llAngleBetween(<0.58, 0.26, 0.22, -0.74>, <-0.62, -0.34, 0.7, 0.1>)
, llAngleBetween(<0.58, 0.26, 0.22, -0.74>, <0,0,0,0>)
, llAngleBetween(<0, 0, 1, 0>, <0,0,0,0>)
, llAngleBetween(<1, 1, 1, 1>, <0,1,1,1>)
, llAxes2Rot(<0,0,0>,<0,0,0>,<0,0,0>)
, llAxes2Rot(<0.00000001,0,0>,<0,0,0>,<0,0,0>)
, llAxes2Rot(<-0.00000001,0,0>,<0,0,0>,<0,0,0>)
, llAxes2Rot(<-0.00000001,0,0>,<0,-1,0>,<0,0,0>)
, llAxes2Rot(<0,0,0>,<0,1,0>,<0,0,1>)
, llAxes2Rot(<1,0,0>,<0,1,0>,<0,0,1>)
, llAxes2Rot(<1,0,0>,<0,-1,0>,<0,0,-1>)
, "********"
, llAxisAngle2Rot(<0,0,0>,0) // invalid vector
, llAxisAngle2Rot(<0,0,0>,PI)
, llAxisAngle2Rot(<0,0,1>,0)
, llAxisAngle2Rot(<0,0,1>,1)
, llAxisAngle2Rot(<3,4,2>,1) // non-normalized
, llRot2Euler(<0,1,0,1>) // Singularity
, llRot2Euler(<0.5,0.5,0.5,0.5000005>) // Singularity, and special case
, llRot2Euler(<0,0,0,0>)
, llEuler2Rot(<1,2,3>)
, llEuler2Rot(<1,2,-3>)
, llEuler2Rot(<1,-2,3>)
, llEuler2Rot(<1,-2,-3>)
, llEuler2Rot(<-1,2,3>)
, llEuler2Rot(<-1,2,-3>)
, llEuler2Rot(<-1,-2,3>)
, llEuler2Rot(<-1,-2,-3>)
, llEuler2Rot(<1,3,2>)
, llEuler2Rot(<2,1,3>)
, llEuler2Rot(<2,3,1>)
, llEuler2Rot(<3,1,2>)
, llEuler2Rot(<3,2,1>)
, llEuler2Rot(<-2.395147, 0.006141, -1.193234>)
, llEuler2Rot(<3.139854, 1.517441, 1.255878>)
, llEuler2Rot(<0.04639, -2.645807, 0.33886>)
, llEuler2Rot(<-1.422952, -2.752072, 2.961577>)
, llEuler2Rot(<1.279703, 2.996797, -2.377522>)
, llEuler2Rot(<-2.128544, -2.863647, -1.894819>)
, llEuler2Rot(<1.857047, -1.549855, -2.276513>)
, llEuler2Rot(<1.716022, 2.143527, -0.121504>)
, llRot2Axis(<0,0,0,0>)
, llRot2Axis(<0,0,0,1>)
, llRot2Axis(<1,1,1,1>)
, llRot2Axis(<-0.78, 0.54, 0.18, 0.26>)
, llRot2Axis(<78, -54, -18, -26>)
, llRot2Axis(<-.48, .6, .64, 1.>)
, llRotBetween(<1,0,0>, <0,1,0>) // <0., 0., 0.707107, 0.707107>
, llRotBetween(<1,0,0>, <0,0,1>) // <0., -0.707107, 0., 0.707107>
, llRotBetween(<0,1,0>, <0,0,1>) // <0.707107, 0., 0., 0.707107>
, llRotBetween(<1,1,0>, <-1,-1,0>) // <0.707107, -0.707107, 0., 0.>
, llRotBetween(<1,0,1>, <-1,0,-1>) // <0.707107, 0., -0.707107, 0.>
, llRotBetween(<0,1,1>, <0,-1,-1>) // <1., 0., 0., 0.>
, llRotBetween(<1,0,0>, <-2,0,0>) // <0., 0., 1., 0.>
, llRotBetween(<0,1,0>, <0,-2,0>) // <1., 0., 0., 0.>
, llRotBetween(<0,0,1>, <0,0,-2>) // <1., 0., 0., 0.>
, llRotBetween(<1,0,0>, <2,0,0>) // <0., 0., 0., 1.>
, llRotBetween(<1,2,3>, <-1,-2,-3>) // <0.963624, -0.14825, -0.222375, 0.>
]

View file

@ -0,0 +1,107 @@
[ <1., 0., 0.>
, <-1., 0., 0.>
, <-1., 0., 0.>
, <1., 0., 0.>
, <1., 0., 0.>
, <0., 1., 0.>
, <0., 0., -1.>
, <0., 0., 1.>
, <0., 0., -1.>
, <0., -1., 0.>
, <0., -1., 0.>
, <0., 1., 0.>
, <0., 0., 1.>
, <0., 1., 0.>
, <-0.6288, -0.768, 0.12159999>
, <-0.6288, -0.768, 0.1216>
, <0., -1., 0.>
, <0., 1., 0.>
, <0., -1., 0.>
, <0., 1., 0.>
, <0., 1., 0.>
, <0., 0., 1.>
, <-1., 0., 0.>
, <-1., 0., 0.>
, <1., 0., 0.>
, <0., 0., 1.>
, <0., 0., -1.>
, <0., 0., -1.>
, <1., 0., 0.>
, <0., 0., 1.>
, <0.64, -0.59999996, -0.48>
, <0.64, -0.6, -0.48>
, <0., 0., -1.>
, <0., 0., -1.>
, <0., 0., 1.>
, <0., 0., 1.>
, <0., 0., 1.>
, <1., 0., 0.>
, <0., 1., 0.>
, <0., -1., 0.>
, <0., -1., 0.>
, <-1., 0., 0.>
, <1., 0., 0.>
, <-1., 0., 0.>
, <0., 1., 0.>
, <1., 0., 0.>
, <0.4416, -0.224, 0.8688>
, <0.4416, -0.224, 0.8688>
, 2.3878784
, 1.475452
, 3.1415927
, 1.0471976
, <1., 0., 0., 0.>
, <0., 0., 0., 0.5>
, <0., 1., 0., 0.>
, <0., 0., 1., 0.>
, <0., 0., 0., 0.8660254>
, <0., 0., 0., 1.>
, <1., 0., 0., 0.>
, "********"
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, <0., 0., 0., 1.>
, <0., 0., 0.47942554, 0.87758255>
, <0.26708126, 0.35610833, 0.17805417, 0.87758255>
, <0., 1.5707962, 0.>
, <0., 1.5707964, 1.5707964>
, <0., 0., 0.>
, <0.7549338, -0.20614922, 0.5015091, -0.36887136>
, <0.718287, -0.31062245, 0.44443511, -0.43595284>
, <0.718287, 0.31062245, -0.44443511, -0.43595284>
, <0.7549338, 0.20614922, -0.5015091, -0.36887136>
, <0.718287, 0.31062245, 0.44443511, 0.43595284>
, <0.7549338, 0.20614922, 0.5015091, 0.36887136>
, <0.7549338, -0.20614922, -0.5015091, 0.36887136>
, <0.718287, -0.31062245, -0.44443511, 0.43595284>
, <0.7549338, 0.44443511, 0.31062245, -0.36887136>
, <-0.31062245, 0.718287, -0.5015091, 0.36887136>
, <0.31062245, 0.44443511, 0.7549338, -0.36887136>
, <-0.5015091, 0.718287, -0.31062245, 0.36887136>
, <0.5015091, -0.20614922, 0.7549338, -0.36887136>
, <0.7709168, 0.5222393, 0.20722392, -0.30001938>
, <0.5876303, -0.42585864, 0.5571223, -0.40367043>
, <0.15781294, 0.9562529, -0.019199894, -0.24557461>
, <0.7514303, -0.059062503, -0.203569, 0.624839>
, <-0.7263019, 0.33835446, 0.16817036, 0.57421296>
, <0.31937572, -0.37883684, 0.451, 0.7423482>
, <-0.62032556, -0.34373307, 0.6234085, 0.3292501>
, <0.32653406, 0.59511566, 0.6440529, 0.35271614>
, <0., 0., 0.>
, <0., 0., 0.>
, <0.57735025, 0.57735025, 0.57735025>
, <-0.8077807, 0.55923283, 0.18641093>
, <-0.8077807, 0.5592328, 0.18641093>
, <-0.48, 0.6, 0.64>
, <0., 0., 0.70710676, 0.70710676>
, <0., -0.70710676, 0., 0.70710676>
, <0.70710676, 0., 0., 0.70710676>
, <0.70710676, -0.70710676, 0., 0.>
, <0.70710676, 0., -0.70710676, 0.>
, <1., 0., 0., 0.>
, <0., 0., 1., 0.>
, <1., 0., 0., 0.>
, <1., 0., 0., 0.>
, <0., 0., 0., 1.>
, <0.9636241, -0.14824985, -0.2223748, 0.>
]

View file

@ -0,0 +1,104 @@
[ llStringToBase64("𝄞Áañ# +")
, llStringToBase64("")
, llBase64ToString("8J2EnsOBYcOxIyAr")
, llBase64ToString("")
, llBase64ToString("1")
, llBase64ToString("12")
, llBase64ToString("14A")
// Embedded and trailing NUL tests
, llBase64ToString("QUJDAERFRg") // 'ABC\x00DEF'
, llBase64ToString("AEEAQgBD") // '\x00A\x00B\x00C'
, llBase64ToString("AEEAQgBDAA") // '\x00A\x00B\x00C\x00'
, llBase64ToString("AEEAQgBDAAA=") // '\x00A\x00B\x00C\x00\x00'
// Miscellaneous tests
, llBase64ToString("gIAA")
, llBase64ToString("gAA")
, llBase64ToString("44AA")
, llBase64ToString("4IAh")
, llBase64ToString("gICAgGE")
, llBase64ToString("QQA")
, llBase64ToString("AEE=")
, llBase64ToString("wKE")
, llBase64ToString("9ICA")
, llBase64ToString("94CAgICA")
, llBase64ToString("4ICA")
, llBase64ToString("4IA")
, llUnescapeURL("%E0%80") // compare the result with the above's (extra "?")
// Invalid characters tests
, llBase64ToString("w4GA44HDgEFCQ9M") // C3 81 80 E3 81 C3 80 41 42 43 D3
, llBase64ToString("w4GA44HDgEFCQwDT") // C3 81 80 E3 81 C3 80 41 42 43 00 D3
, llBase64ToString("4ICAgICAgOOBw4BBQkMA0w") // E0 80 80 80 80 80 80 E3 81 C3 80 41 42 43 00 D3
// Test all UTF-8 ranges
// Normal ASCII range
, llBase64ToString("AHg") // 00 78
, llBase64ToString("AXg") // 01 78
, llBase64ToString("f3g") // 7F 78
, llBase64ToString("AQIDBAUGBwgJCgsMDQ4P") // 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
, llBase64ToString("EBESExQVFhcYGRobHB0eHw") // 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
// Invalid range (characters used for 2nd position and on)
, llBase64ToString("gIB4") // 80 80 78
, llBase64ToString("v794") // BF BF 78
// Aliased range U+0000 - U+007F
, llBase64ToString("wIB4") // C0 80 78
, llBase64ToString("wb94") // C1 BF 78
// Valid U+0080 - U+07FF
, llBase64ToString("woB4") // C2 80 78
, llBase64ToString("3794") // DF BF 78
// Aliased range U+0000 - U+07FF
, llBase64ToString("4ICAeA") // E0 80 80 78
, llBase64ToString("4J+/eA") // E0 9F BF 78
// Valid U+0800 - U+D7FF
, llBase64ToString("4KCAeA") // E0 A0 80 78
, llBase64ToString("7Z+/eA") // ED 9F BF 78
// UTF-16 surrogates area
// High surrogates U+D800 - U+DBFF
, llBase64ToString("7aCAeA") // ED A0 80 78
, llBase64ToString("7a+/eA") // ED AF BF 78
// Low surrogates U+DC00 - U+DFFF
, llBase64ToString("7bCAeA") // ED B0 80 78
, llBase64ToString("7b+/eA") // ED BF BF 78
// Valid U+E000 - U+FFFF
, llBase64ToString("7oCAeA") // EE 80 80 78
, llBase64ToString("77+/eA") // EF BF BF 78
// Aliased range U+0000 - U+FFFF
, llBase64ToString("8ICAgHg") // F0 80 80 80 78
, llBase64ToString("8I+/v3g") // F0 8F BF BF 78
// Valid range U+10000 - U+10FFFF
, llBase64ToString("8JCAgHg") // F0 90 80 80 78
, llBase64ToString("9I+/v3g") // F4 8F BF BF 78
// Out of range U+110000 - U + 1FFFFF
, llBase64ToString("9JCAgHg") // F4 90 80 80 78
, llBase64ToString("97+/v3g") // F7 BF BF BF 78
// Aliased range U+0000 - U+1FFFFF
, llBase64ToString("+ICAgIB4") // F8 80 80 80 80 78
, llBase64ToString("+Ie/v794") // F8 87 BF BF BF 78
// Out of range U+200000 - U+3FFFFFF
, llBase64ToString("+IiAgIB4") // F8 88 80 80 80 78
, llBase64ToString("+7+/v794") // FB BF BF BF BF 78
// Aliased range U+0000 - U+3FFFFFF
, llBase64ToString("/ICAgICAeA") // FC 80 80 80 80 80 78
, llBase64ToString("/IO/v7+/eA") // FC 83 BF BF BF BF 78
// Out of range U+4000000 - U+7FFFFFFF
, llBase64ToString("/ISAgICAeA") // FC 84 80 80 80 80 78
, llBase64ToString("/b+/v7+/eA") // FD BF BF BF BF BF 78
// Invalid in UTF-8 (used for UTF-16 BOM)
, llBase64ToString("/rCAgICAgIB4") // FE B0 80 80 80 80 80 80 78
, llBase64ToString("/7+/v7+/v794") // FF BF BF BF BF BF BF BF 78
// Short or invalid sequences
, llBase64ToString("gA") // 80
, llBase64ToString("vw") // BF
, llBase64ToString("wg") // C2
, llBase64ToString("4Q") // E1
, llBase64ToString("4YA") // E1 80
, llBase64ToString("8Q") // F1
, llBase64ToString("8YA") // F1 80
, llBase64ToString("8YCA") // F1 80 80
, llBase64ToString("+ICAgA") // F8 80 80 80
, llBase64ToString("+IiAgA") // F8 88 80 80
, llBase64ToString("/ICAgIA") // FC 80 80 80 80
, llBase64ToString("/ISAgIA") // FC 84 80 80 80
, llBase64ToString("77+9kA") // EF BF BD 90
]

View file

@ -0,0 +1,78 @@
[ "8J2EnsOBYcOxIyAr"
, ""
, "𝄞Áañ# +"
, ""
, ""
, "?"
, "׀"
, "ABC?DEF"
, "?A?B?C"
, "?A?B?C"
, "?A?B?C?"
, "??"
, "?"
, "?"
, "?!"
, "????a"
, "A"
, "?A"
, "?"
, "?"
, "??????"
, "?"
, "?"
, "??"
, "Á??ÀABC?"
, "Á??ÀABC??"
, "??????ÀABC??"
, "?x"
, "?x"
, "x"
, "???????? \n????"
, "???????????????"
, "??x"
, "??x"
, "?x"
, "?x"
, "€x"
, "߿x"
, "?x"
, "?x"
, "ࠀx"
, "퟿x"
, "???x"
, "???x"
, "???x"
, "???x"
, "x"
, "￿x"
, "?x"
, "?x"
, "𐀀x"
, "􏿿x"
, "????x"
, "????x"
, "?x"
, "?x"
, "?????x"
, "?????x"
, "?x"
, "?x"
, "??????x"
, "??????x"
, "????????x"
, "????????x"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "?"
, "<22>?"
]

View file

@ -0,0 +1 @@
main.py -O clear,optimize,constfold,addstrings,foldtabs,expr -

View file

@ -0,0 +1,33 @@
llListSort([<1.,2.,3.,4.>,<2.,3.,4.,5.>,<5.,4.,3.,2.>,<0.,-1.,-2.,-3.>,
<4.,3.,2.,1.>,<3.,2.,1.,0.>],1,0)
+ "********"
+ llListSort([<1.,2.,3.,4.>,<2.,3.,4.,5.>,<5.,4.,3.,2.>,<0.,-1.,-2.,-3.>,
<4.,3.,2.,1.>,<3.,2.,1.,0.>],1,1)
+ "********"
+ llListSort([<1.,0.,0.>,<0.,3.,0.>,<0.,0.,1.>,<3.,0.,0.>],1,1)
+ "********"
+ llListSort([2,0,1,1,2,2,2,3,2,4,1,5,2,6], 2, 1)
+ "********"
+ llListSort([2,0,1,1,2,2,2,3,2,4,1,5,2,6], 2, 0)
+ "********"
+ llListSort([2,0,1,1,2,2,2,3,2,4,1,5,2,6,3], 2, 1)
+ "********"
// NaN in sort behaves strangely. Also when inside vectors.
+ llListSort([-1., 9., 3., 2., (float)"NaN", 5., 1.],1,1)
+ "********"
+ llListSort([<2.,0.,0.>,<1.,(float)"NaN",0.>],1,1)
+ "********"
+ llListSort([<1.,(float)"NaN",0.>,<2.,0.,0.>],1,1)
+ "********"
+ llListSort([<2.,0.,0.>,<1.,(float)"NaN",0.>],1,0)
+ "********"
+ llListSort([<1.,(float)"NaN",0.>,<2.,0.,0.>],1,0)
+ "********"
// This proves that it does not sort by UTF-16 words, but by code points.
// Otherwise u"\U0001d41a" would be before u"\ufb01" (because the UTF-16
// of u"\U0001d41a" is 0xD835 0xDC1A)
+ llListSort(["fi","á", "𝐚", "a"],1,1)
+ "********"
+ llListSort([2, "B", "C", 3, 1, "A"], 1, TRUE)
+ "********"
+ llListSort([2, "B", "C", 3, 1, "A"], 1, FALSE)

View file

@ -0,0 +1,104 @@
[ <3., 2., 1., 0.>
, <4., 3., 2., 1.>
, <0., -1., -2., -3.>
, <5., 4., 3., 2.>
, <2., 3., 4., 5.>
, <1., 2., 3., 4.>
, "********"
, <1., 2., 3., 4.>
, <2., 3., 4., 5.>
, <5., 4., 3., 2.>
, <0., -1., -2., -3.>
, <4., 3., 2., 1.>
, <3., 2., 1., 0.>
, "********"
, <1., 0., 0.>
, <0., 0., 1.>
, <0., 3., 0.>
, <3., 0., 0.>
, "********"
, 1
, 1
, 1
, 5
, 2
, 2
, 2
, 3
, 2
, 4
, 2
, 0
, 2
, 6
, "********"
, 2
, 6
, 2
, 4
, 2
, 3
, 2
, 2
, 2
, 0
, 1
, 5
, 1
, 1
, "********"
, 2
, 0
, 1
, 1
, 2
, 2
, 2
, 3
, 2
, 4
, 1
, 5
, 2
, 6
, 3
, "********"
, 1.
, 5.
, (-1e40*0)
, -1.
, 2.
, 3.
, 9.
, "********"
, <1., (-1e40*0), 0.>
, <2., 0., 0.>
, "********"
, <2., 0., 0.>
, <1., (-1e40*0), 0.>
, "********"
, <2., 0., 0.>
, <1., (-1e40*0), 0.>
, "********"
, <1., (-1e40*0), 0.>
, <2., 0., 0.>
, "********"
, "a"
, "á"
, "fi"
, "𝐚"
, "********"
, 1
, "A"
, "B"
, 2
, 3
, "C"
, "********"
, "A"
, 3
, 1
, "C"
, "B"
, 2
]

View file

@ -0,0 +1,195 @@
[ llInsertString("", -3, "abc")
, llInsertString("", -1, "abc")
, llInsertString("", 0, "abc")
, llInsertString("", 1, "abc")
, llInsertString("", 3, "abc")
, llInsertString("xy", -3, "abc")
, llInsertString("xy", -1, "abc")
, llInsertString("xy", 0, "abc")
, llInsertString("xy", 1, "abc")
, llInsertString("xy", 2, "abc")
, llInsertString("xy", 3, "abc")
, llToUpper("AZaz")
, llToLower("AZaz")
, llToUpper("τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός")
, llToLower("ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ")
, llDeleteSubString("abcd", -9, -9)
, llDeleteSubString("abcd", -9, -5)
, llDeleteSubString("abcd", -9, -4)
, llDeleteSubString("abcd", -9, -3)
, llDeleteSubString("abcd", -9, -2)
, llDeleteSubString("abcd", -9, -1)
, llDeleteSubString("abcd", -9, 0)
, llDeleteSubString("abcd", -9, 3)
, llDeleteSubString("abcd", -9, 4)
, llDeleteSubString("abcd", -9, 7)
, llDeleteSubString("abcd", -9, 8)
, llDeleteSubString("abcd", -9, 9)
, llDeleteSubString("abcd", -5, -9)
, llDeleteSubString("abcd", -5, -5)
, llDeleteSubString("abcd", -5, -4)
, llDeleteSubString("abcd", -5, -3)
, llDeleteSubString("abcd", -5, -1)
, llDeleteSubString("abcd", -5, 0)
, llDeleteSubString("abcd", -5, 3)
, llDeleteSubString("abcd", -5, 4)
, llDeleteSubString("abcd", -5, 7)
, llDeleteSubString("abcd", -5, 8)
, llDeleteSubString("abcd", -4, -5)
, llDeleteSubString("abcd", -4, -4)
, llDeleteSubString("abcd", -4, -1)
, llDeleteSubString("abcd", -4, 0)
, llDeleteSubString("abcd", -4, 3)
, llDeleteSubString("abcd", -4, 4)
, llDeleteSubString("abcd", -4, 8)
, llDeleteSubString("abcd", -2, -5)
, llDeleteSubString("abcd", -2, -4)
, llDeleteSubString("abcd", -2, -3)
, llDeleteSubString("abcd", -2, -2)
, llDeleteSubString("abcd", -2, -1)
, llDeleteSubString("abcd", -2, 0)
, llDeleteSubString("abcd", -2, 1)
, llDeleteSubString("abcd", -2, 2)
, llDeleteSubString("abcd", -2, 3)
, llDeleteSubString("abcd", -2, 4)
, llDeleteSubString("abcd", -2, 5)
, llDeleteSubString("abcd", -1, -5)
, llDeleteSubString("abcd", -1, -4)
, llDeleteSubString("abcd", -1, -3)
, llDeleteSubString("abcd", -1, -2)
, llDeleteSubString("abcd", -1, -1)
, llDeleteSubString("abcd", -1, 0)
, llDeleteSubString("abcd", -1, 1)
, llDeleteSubString("abcd", -1, 2)
, llDeleteSubString("abcd", -1, 3)
, llDeleteSubString("abcd", -1, 4)
, llDeleteSubString("abcd", -1, 5)
, llDeleteSubString("abcd", 0, -9)
, llDeleteSubString("abcd", 0, -5)
, llDeleteSubString("abcd", 0, -4)
, llDeleteSubString("abcd", 0, -1)
, llDeleteSubString("abcd", 0, 0)
, llDeleteSubString("abcd", 0, 3)
, llDeleteSubString("abcd", 0, 5)
, llDeleteSubString("abcd", 3, -5)
, llDeleteSubString("abcd", 3, -4)
, llDeleteSubString("abcd", 3, -1)
, llDeleteSubString("abcd", 3, 0)
, llDeleteSubString("abcd", 3, 2)
, llDeleteSubString("abcd", 3, 3)
, llDeleteSubString("abcd", 3, 4)
, llDeleteSubString("abcd", 3, 5)
, llDeleteSubString("abcd", 4, -9)
, llDeleteSubString("abcd", 4, -5)
, llDeleteSubString("abcd", 4, -4)
, llDeleteSubString("abcd", 4, -1)
, llDeleteSubString("abcd", 4, 0)
, llDeleteSubString("abcd", 4, 2)
, llDeleteSubString("abcd", 4, 3)
, llDeleteSubString("abcd", 4, 4)
, llDeleteSubString("abcd", 4, 5)
, llDeleteSubString("abcd", 9, -9)
, llDeleteSubString("abcd", 9, -5)
, llDeleteSubString("abcd", 9, -4)
, llDeleteSubString("abcd", 9, -1)
, llDeleteSubString("abcd", 9, 0)
, llDeleteSubString("abcd", 9, 2)
, llDeleteSubString("abcd", 9, 3)
, llDeleteSubString("abcd", 9, 4)
, llDeleteSubString("abcd", 9, 5)
, llDeleteSubString("", 0, -1)
, llGetSubString("abcd", -9, -9)
, llGetSubString("abcd", -9, -5)
, llGetSubString("abcd", -9, -4)
, llGetSubString("abcd", -9, -3)
, llGetSubString("abcd", -9, -2)
, llGetSubString("abcd", -9, -1)
, llGetSubString("abcd", -9, 0)
, llGetSubString("abcd", -9, 3)
, llGetSubString("abcd", -9, 4)
, llGetSubString("abcd", -9, 7)
, llGetSubString("abcd", -9, 8)
, llGetSubString("abcd", -9, 9)
, llGetSubString("abcd", -5, -9)
, llGetSubString("abcd", -5, -5)
, llGetSubString("abcd", -5, -4)
, llGetSubString("abcd", -5, -3)
, llGetSubString("abcd", -5, -1)
, llGetSubString("abcd", -5, 0)
, llGetSubString("abcd", -5, 3)
, llGetSubString("abcd", -5, 4)
, llGetSubString("abcd", -5, 7)
, llGetSubString("abcd", -5, 8)
, llGetSubString("abcd", -4, -5)
, llGetSubString("abcd", -4, -4)
, llGetSubString("abcd", -4, -1)
, llGetSubString("abcd", -4, 0)
, llGetSubString("abcd", -4, 3)
, llGetSubString("abcd", -4, 4)
, llGetSubString("abcd", -4, 8)
, llGetSubString("abcd", -2, -5)
, llGetSubString("abcd", -2, -4)
, llGetSubString("abcd", -2, -3)
, llGetSubString("abcd", -2, -2)
, llGetSubString("abcd", -2, -1)
, llGetSubString("abcd", -2, 0)
, llGetSubString("abcd", -2, 1)
, llGetSubString("abcd", -2, 2)
, llGetSubString("abcd", -2, 3)
, llGetSubString("abcd", -2, 4)
, llGetSubString("abcd", -2, 5)
, llGetSubString("abcd", -1, -5)
, llGetSubString("abcd", -1, -4)
, llGetSubString("abcd", -1, -3)
, llGetSubString("abcd", -1, -2)
, llGetSubString("abcd", -1, -1)
, llGetSubString("abcd", -1, 0)
, llGetSubString("abcd", -1, 1)
, llGetSubString("abcd", -1, 2)
, llGetSubString("abcd", -1, 3)
, llGetSubString("abcd", -1, 4)
, llGetSubString("abcd", -1, 5)
, llGetSubString("abcd", 0, -9)
, llGetSubString("abcd", 0, -5)
, llGetSubString("abcd", 0, -4)
, llGetSubString("abcd", 0, -1)
, llGetSubString("abcd", 0, 0)
, llGetSubString("abcd", 0, 3)
, llGetSubString("abcd", 0, 5)
, llGetSubString("abcd", 3, -5)
, llGetSubString("abcd", 3, -4)
, llGetSubString("abcd", 3, -1)
, llGetSubString("abcd", 3, 0)
, llGetSubString("abcd", 3, 2)
, llGetSubString("abcd", 3, 3)
, llGetSubString("abcd", 3, 4)
, llGetSubString("abcd", 3, 5)
, llGetSubString("abcd", 4, -9)
, llGetSubString("abcd", 4, -5)
, llGetSubString("abcd", 4, -4)
, llGetSubString("abcd", 4, -1)
, llGetSubString("abcd", 4, 0)
, llGetSubString("abcd", 4, 2)
, llGetSubString("abcd", 4, 3)
, llGetSubString("abcd", 4, 4)
, llGetSubString("abcd", 4, 5)
, llGetSubString("abcd", 9, -9)
, llGetSubString("abcd", 9, -5)
, llGetSubString("abcd", 9, -4)
, llGetSubString("abcd", 9, -1)
, llGetSubString("abcd", 9, 0)
, llGetSubString("abcd", 9, 2)
, llGetSubString("abcd", 9, 3)
, llGetSubString("abcd", 9, 4)
, llGetSubString("abcd", 9, 5)
, llGetSubString("", 0, -1)
, llStringLength("")
, llStringLength("÷½¬⅛⅜⅝⅞±°z")
, llSubStringIndex("x", "blah")
, llSubStringIndex("", "")
, llSubStringIndex("", "x")
, llSubStringIndex("x", "")
, llSubStringIndex("a", "blah")
, llStringTrim(" a\n ", STRING_TRIM)
, llStringTrim("", STRING_TRIM)
]

View file

@ -0,0 +1,195 @@
[ "abc"
, "abc"
, "abc"
, "abc"
, "abc"
, "abcxy"
, "abcxy"
, "abcxy"
, "xabcy"
, "xyabc"
, "xyabc"
, "AZAZ"
, "azaz"
, "ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ"
, "τάχιστη αλώπηξ βαφήσ ψημένη γη, δρασκελίζει υπέρ νωθρού κυνόσ"
, "abcd"
, "abcd"
, "bcd"
, "cd"
, "d"
, ""
, "bcd"
, ""
, ""
, ""
, ""
, ""
, ""
, "abcd"
, "bcd"
, "cd"
, ""
, "bcd"
, ""
, ""
, ""
, ""
, ""
, "bcd"
, ""
, "bcd"
, ""
, ""
, ""
, "ab"
, "b"
, ""
, "abd"
, "ab"
, "b"
, ""
, "abd"
, "ab"
, "ab"
, "ab"
, "abc"
, "bc"
, "c"
, ""
, "abc"
, "bc"
, "c"
, ""
, "abc"
, "abc"
, "abc"
, ""
, ""
, "bcd"
, ""
, "bcd"
, ""
, ""
, "abc"
, "bc"
, "abc"
, "bc"
, ""
, "abc"
, "abc"
, "abc"
, "abcd"
, "abcd"
, "bcd"
, ""
, "bcd"
, "d"
, ""
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, "bcd"
, ""
, "bcd"
, "d"
, ""
, ""
, ""
, ""
, ""
, ""
, "a"
, "ab"
, "abc"
, "abcd"
, "a"
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, ""
, "a"
, "ab"
, "abcd"
, "a"
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, "abcd"
, "a"
, "abcd"
, "a"
, "abcd"
, "abcd"
, "abcd"
, "cd"
, "acd"
, "abcd"
, "c"
, "cd"
, "acd"
, "abcd"
, "c"
, "cd"
, "cd"
, "cd"
, "d"
, "ad"
, "abd"
, "abcd"
, "d"
, "ad"
, "abd"
, "abcd"
, "d"
, "d"
, "d"
, "abcd"
, "abcd"
, "a"
, "abcd"
, "a"
, "abcd"
, "abcd"
, "d"
, "ad"
, "d"
, "ad"
, "abcd"
, "d"
, "d"
, "d"
, ""
, ""
, "a"
, "abcd"
, "a"
, "abc"
, "abcd"
, ""
, ""
, ""
, ""
, "a"
, "abcd"
, "a"
, "abc"
, "abcd"
, "abcd"
, "abcd"
, ""
, 0
, 10
, -1
, 0
, -1
, 0
, -1
, "a"
, ""
]

View file

@ -0,0 +1,64 @@
[ llCos((float)"NaN")
, llCos(1e40)
, llCos(-1e40)
, llCos(PI)
, llCos(1000.)
, llCos(1000000.)
, llCos(1000000000.)
, llCos(-1000000000.)
, llCos((float)"0x1.FFFFFEp+62")
, llCos((float)"-0x1.FFFFFEp+62")
, llList2CSV([llCos((float)"0x1p63")])
, llList2CSV([llCos((float)"-0x1p63")])
, llSin((float)"NaN")
, llSin(1e40)
, llSin(-1e40)
, llSin(PI)
, llSin(1000.)
, llSin(1000000.)
, llSin(1000000000.)
, llSin(-1000000000.)
, llList2CSV([llSin(1e38)])
, llSin((float)"0x1.FFFFFEp+62")
, llSin((float)"-0x1.FFFFFEp+62")
, llList2CSV([llSin((float)"0x1p63")])
, llList2CSV([llSin((float)"-0x1p63")])
, llList2CSV([llTan(1e38)])
, llTan(4e38)
, llTan(PI)
, llTan(PI_BY_TWO)
, llTan((float)"0x1.921FB4p0")
, llTan((float)"0x1.FFFFFEp62")
, llTan((float)"-0x1.FFFFFEp62")
, llList2CSV([llTan((float)"0x1p63")])
, llList2CSV([llTan((float)"-0x1p63")])
, llAsin(2.0)
, llAsin(1e40*0)
, llAsin(-1e40*0)
, llAcos(2.0)
, llAtan2(0.0, 0.0)
, llAtan2(-0.0, -1.0)
, llAtan2(0.0, -1.0)
, llAtan2(-1e40, -1.0)
, llAtan2(1e40, -1.0)
, llAtan2((float)"NaN", -1.0)
, llAtan2((float)"NaN", -0.0)
, llAtan2((float)"NaN", 0.0)
, llAtan2((float)"NaN", 1.0)
, llAtan2(1e40*0, -1.0)
, llAtan2(1e40*0, -0.0)
, llAtan2(1e40*0, 0.0)
, llAtan2(1e40*0, 1.0)
, llAtan2(-1.0, (float)"NaN")
, llAtan2(-0.0, (float)"NaN")
, llAtan2( 0.0, (float)"NaN")
, llAtan2( 1.0, (float)"NaN")
, llAtan2(-1.0, 1e40*0)
, llAtan2(-0.0, 1e40*0)
, llAtan2( 0.0, 1e40*0)
, llAtan2( 1.0, 1e40*0)
, llAtan2(1e40*0, 1e40*0)
, llAtan2(1e40*0, (float)"NaN")
, llAtan2((float)"NaN", 1e40*0)
, llAtan2((float)"NaN", (float)"NaN")
]

View file

@ -0,0 +1,64 @@
[ (-1e40*0)
, (1e40*0)
, (1e40*0)
, -1.
, 0.56237906
, 0.93675214
, 0.83788716
, 0.83788716
, -0.9782801
, -0.9782801
, "9223372036854775808.000000"
, "-9223372036854775808.000000"
, (-1e40*0)
, (1e40*0)
, (1e40*0)
, -8.742278e-08
, 0.82687956
, -0.3499935
, 0.5458434
, -0.5458434
, "99999996802856924650656260769173209088.000000"
, 0.20728716
, -0.20728716
, "9223372036854775808.000000"
, "-9223372036854775808.000000"
, "99999996802856924650656260769173209088.000000"
, (1e40*0)
, 8.742278e-08
, -22877332.
, 13245402.
, -0.21188937
, 0.21188937
, "9223372036854775808.000000"
, "-9223372036854775808.000000"
, (-1e40*0)
, (1e40*0)
, (-1e40*0)
, (-1e40*0)
, 0.
, -3.1415927
, 3.1415927
, -1.5707964
, 1.5707964
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (1e40*0)
, (1e40*0)
, (1e40*0)
, (1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
, (1e40*0)
, (1e40*0)
, (1e40*0)
, (1e40*0)
, (1e40*0)
, (-1e40*0)
, (-1e40*0)
, (-1e40*0)
]

View file

@ -0,0 +1 @@
llUnescapeURL("a%C3%A1%FC%80%80%E8%B0%F0%A0")

View file

@ -0,0 +1 @@
"aá???????"

View file

@ -0,0 +1,20 @@
[ llXorBase64("𒍅", "")
, llXorBase64("", "ABCD")
, llXorBase64("", "?")
, llXorBase64("AB", "?")
, llXorBase64("AABA", "1234")
, llXorBase64("1234", "AABA")
, llXorBase64("BAAA", "1234")
, llXorBase64("1234", "BAAA")
, llXorBase64("AABA", "AABA")
, llXorBase64("AABA", "AABC")
, llXorBase64("AABC", "AABA")
, llXorBase64("Hello, World!", "XYZXYZ")
, llXorBase64("QG8y", "XYZXYZ")
, llXorBase64("ABCDABCDABCD", "ABCD") // Vulnerable to BUG-3763
, llXorBase64("ABCDABCDABCDABCDABCDABCDABCD", "ABCD") // Vulnerable to BUG-3763
, llXorBase64("ABCDABCDABCD", "ABC=") // Vulnerable to BUG-3763
, llXorBase64("Stuffs not b64 <^.^>!", "AA==")
, llXorBase64("ABCDABCDABCD", "Stuffs not b64 <^.^>!")
, llXorBase64("AQCDAQCD", "AQC=")
]

View file

@ -0,0 +1,20 @@
[ "𒍅"
, ""
, ""
, "AA=="
, "1224"
, "1224"
, "0234"
, "0234"
, "AAAA"
, "AAAC"
, "AAAC"
, "QG8y"
, "Hell"
, "AAAAAAAAAAAA"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "AACDEBCTAACD"
, "Stuffg=="
, "SsscflpYn27J"
, "AACCAQGD"
]

View file

@ -0,0 +1,34 @@
[ llXorBase64StringsCorrect("𒍅", "")
, llXorBase64StringsCorrect("", "ABCD")
, llXorBase64StringsCorrect("", "?")
, llXorBase64StringsCorrect("AB", "?")
, llXorBase64StringsCorrect("AABA", "1234")
, llXorBase64StringsCorrect("1234", "AABA")
, llXorBase64StringsCorrect("BAAA", "1234")
, llXorBase64StringsCorrect("1234", "BAAA")
, llXorBase64StringsCorrect("AABA", "AABA")
, llXorBase64StringsCorrect("AABA", "AABC")
, llXorBase64StringsCorrect("AABC", "AABA")
, llXorBase64StringsCorrect("Hello, World!", "XYZXYZ")
, llXorBase64StringsCorrect("QG8y", "XYZXYZ")
, llXorBase64StringsCorrect("ABCDABCDABCDABCDABCDABCDABCD", "ABCD")
, llXorBase64StringsCorrect("BCDABCDABCDABCDABCDABCDABCDA", "BCDA")
, llXorBase64StringsCorrect("ABCD", "ABCD")
, llXorBase64StringsCorrect("ABCDABCDABCD", "ABCD")
, llXorBase64StringsCorrect("AACD", "AACD")
, llXorBase64StringsCorrect("AQCD", "AQCD")
, llXorBase64StringsCorrect("AQCDAQCD", "AQC=")
, llXorBase64StringsCorrect("AQCDAQCD", "AQCD")
, llXorBase64StringsCorrect("ACCD", "AC==")
, llXorBase64StringsCorrect("ABCD", "AB==")
, llXorBase64StringsCorrect("ABCD", "ABC=")
, llXorBase64StringsCorrect("APCD", "APC=")
, llXorBase64StringsCorrect("AQCD", "AQC=")
, llXorBase64StringsCorrect("ACCD", "ABC=")
, llXorBase64StringsCorrect("ARCD", "ARC=")
, llXorBase64StringsCorrect("ABCDABCDABCDABCDABCDABCDABCD", "AB==")
, llXorBase64StringsCorrect("ABCDABCDABCDABCDABCDABCDABCD", "AQ==")
, llXorBase64StringsCorrect("ABCDABCDABCDABCDABCDABCDABCD", "ABCDAP//")
, llXorBase64StringsCorrect("ABCDABCDABCD", "ABC=")
, llXorBase64StringsCorrect("AQCDAQCD", "AQC=")
]

View file

@ -0,0 +1,34 @@
[ "𒍅"
, ""
, ""
, "AA=="
, "1224"
, "1234"
, "0234"
, "02n8"
, "AABA"
, "AABA"
, "AABC"
, "QG8y"
, "Hell"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "AAAA"
, "AAAAAAAAAAAA"
, "AACD"
, "AAGC"
, "AAGCAAGC"
, "AAGCAAGC"
, "ACCD"
, "ABCD"
, "AACD"
, "AACD"
, "AAGC"
, "ADCD"
, "AACC"
, "ABCDABCDABCDABCDABCDABCDABCD"
, "ARGCARGCARGCARGCARGCARGCARGC"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "AACDEBCTAACD"
, "AAGCAAGC"
]

View file

@ -0,0 +1,43 @@
[ llXorBase64Strings("𒍅", "")
, llXorBase64Strings("", "")
, llXorBase64Strings("Hello, World", "")
, llXorBase64Strings("AAAAA==AAAAA=", "_X")
, llXorBase64Strings("AAAAAA......AAAAAAA", "BCDEFG=====")
, llXorBase64Strings("AAAAA===AAAAAAAAAAA", "BCDEF")
, llXorBase64Strings("Hello, World!", "A")
, llXorBase64Strings("Hello, World!", "A=")
, llXorBase64Strings("Hello, World!", "A?")
, llXorBase64Strings("Hello, World!", "A?A")
, llXorBase64Strings("Hello, World!", "+")
, llXorBase64Strings("Hello, World!", "++")
, llXorBase64Strings("Hello, World!", "=")
, llXorBase64Strings("Hello, World!", "+=")
, llXorBase64Strings("Hello, World!", "+?")
, llXorBase64Strings("Hello, World!", "+??")
, llXorBase64Strings("Hello, World!", "+???")
, llXorBase64Strings("Hello, World!", "+????")
, llXorBase64Strings("Hello, World!", "+?????")
, llXorBase64Strings("Hello, World!", "+???????")
, llXorBase64Strings("Hello, World!", "/")
, llXorBase64Strings("Hello, World!", "//")
, llXorBase64Strings("Hello, World!", "^")
, llXorBase64Strings("Hello, World!", ".")
, llXorBase64Strings("Hello, World!", "_")
, llXorBase64Strings("Hello, World!", "_XX")
, llXorBase64Strings("Hello, World!", "XYZ")
, llXorBase64Strings("Hello, World!", "XYZ?")
, llXorBase64Strings("Hello, World!", "XYZXYZ")
, llXorBase64Strings("Hello, World!", "XYZXYZ==")
, llXorBase64Strings("AAAAA===AAAAAAAAAAA", "BCDEF")
, llXorBase64Strings("AAAAA===AAAAAAAAAAA", "BCDEF=")
, llXorBase64Strings("AAAAA===AAAAAAAAAAA", "BCDEF==")
, llXorBase64Strings("AAAAA===AAAAAAAAAAA", "BCDEF===")
, llXorBase64Strings("AA_AAA______AAAAAAAAAAAAA", "BC=EFG==")
, llXorBase64Strings("AA_AAA______AAAAAA=AAAAAA", "BC=EFG==")
, llXorBase64Strings("AAAAA==AAAAA", "_XXXXXXX")
, llXorBase64Strings("ABCDABCDABCDABCDABCDABCDABCD", "ABCD")
, llXorBase64Strings("BCDABCDABCDABCDABCDABCDABCDA", "BCDA")
, llXorBase64Strings("AA_AAA______AAAAAAAAAAAAA", "=5gbbW==oWVbj=")
, llXorBase64Strings("ABCDABCDABCD", "ABC=")
, llXorBase64Strings("AQCDAQCD", "AQC=")
]

View file

@ -0,0 +1,43 @@
[ "𒍅"
, ""
, "Hello, World"
, "/X/X/==X/X/X="
, "BCDEFG======CDEFGBC"
, "BCDEF===EFBCDEFBCDE"
, "Hello==World="
, "Hello==World="
, "Hello==World="
, "Hello==World="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "5gbbW==oWVbj="
, "4haaX==pXUai="
, "4haaX==pXUai="
, "4haaX==pXUai="
, "4haaX==pXUai="
, "4haaX==pXUai="
, "4Jya/==B/UyK="
, "QG8yw==Ox89E="
, "QG8yw==BwyyF="
, "QG8yw==Ox89E="
, "QG8yw==BwyyF="
, "BCDEF===EFBCDEFBCDE"
, "BCDEF===DEFBCDEFBCD"
, "BCDEF===CDEFBCDEFBC"
, "BCDEF===BCDEFBCDEFB"
, "BC=EFG======FGBCBCBCBCBCB"
, "BC=EFG======FGBCBC=EFGBCB"
, "/XXXX==X/XXX"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "AAAAAAAAAAAAAAAAAAAAAAAAAAAA"
, "+5=bbW======j+5gbbW+5gbbW"
, "AAADBDCCCBDB"
, "AAADQSCT"
]