on dc16d35 help sign in
51 files changed+4622−5396
since splitsnapshots
unifiedsplit
TODO.md+2−5 desk/lib/bintree.hoon+8 desk/lib/interlist.hoon+7−21 desk/lib/lua.hoon+2−1 desk/lib/lua/interpreter.hoon−554 desk/lib/lua/parser.hoon+75−193 desk/lib/lua/printer.hoon+9−15 desk/lib/lua/utils.hoon−2 desk/lib/st.hoon+3−32 desk/res/lua/bar.lua−23 desk/res/lua/baz.lua−6 desk/res/lua/cycled/all.lua+41−41 desk/res/lua/cycled/api.lua+308−308 desk/res/lua/cycled/attrib.lua+156−156 desk/res/lua/cycled/bar.lua−2 desk/res/lua/cycled/big.lua+19−19 desk/res/lua/cycled/bitwise.lua+199−199 desk/res/lua/cycled/bwcoercion.lua+11−11 desk/res/lua/cycled/calls.lua+136−136 desk/res/lua/cycled/closure.lua+77−77 desk/res/lua/cycled/code.lua+144−144 desk/res/lua/cycled/constructs.lua+118−118 desk/res/lua/cycled/coroutine.lua+353−353 desk/res/lua/cycled/cstack.lua+22−22 desk/res/lua/cycled/db.lua+245−245 desk/res/lua/cycled/errors.lua+88−88 desk/res/lua/cycled/events.lua+179−179 desk/res/lua/cycled/files.lua+259−259 desk/res/lua/cycled/foo.lua+13−13 desk/res/lua/cycled/gc.lua+116−116 desk/res/lua/cycled/gengc.lua+24−24 desk/res/lua/cycled/goto.lua+43−43 desk/res/lua/cycled/heavy.lua+32−32 desk/res/lua/cycled/literals.lua+67−67 desk/res/lua/cycled/locals.lua+199−199 desk/res/lua/cycled/main.lua+32−32 desk/res/lua/cycled/math.lua+546−546 desk/res/lua/cycled/nextvar.lua+275−275 desk/res/lua/cycled/pm.lua+193−193 desk/res/lua/cycled/sort.lua+76−76 desk/res/lua/cycled/strings.lua+265−265 desk/res/lua/cycled/tpack.lua+133−133 desk/res/lua/cycled/tracegc.lua+1−1 desk/res/lua/cycled/utf8.lua+78−78 desk/res/lua/cycled/vararg.lua+42−42 desk/res/lua/cycled/verybig.lua+12−12 desk/res/lua/foo.lua+2−2 desk/sur/interlist.hoon−8 desk/sur/lua.hoon+3−3 desk/ted/eval-lua.hoon−19 desk/ted/test-lua.hoon+9−8
TODO.md+2−5
@@ -4,8 +4,5 @@
44- [x] any string apart from the basic string with no escapes
55- [x] check if int fits in int or make it a float
66- [x] should `print-blok` have `do`-`end`? This is fucked.
7−- [x] binary operator priority
8−- [x] ^ should be higher priority than unary ops
9−- [x] Unifiy parened exprs
10−- [ ] pow
11−- [ ] attributes
7+- [ ] binary operator priority
8+- [ ] ^ should be higher priority than unary ops
desk/lib/bintree.hoonnew file+8
@@ -0,0 +1,8 @@
1+|%
2+++ bintree
3+ |$ [node leaf]
4+ $%
5+ [%node l=(bintree node leaf) n=node r=(bintree node leaf)]
6+ [%leaf leaf]
7+ ==
8+--
desk/lib/interlist.hoon+7−21
@@ -1,24 +1,10 @@
1−/- *interlist
21=<
32|%
4−++ new
5− |* [a=* b=(list [* *])]
6− ^- (interlist _?<(?=(~ b) -.i.b) _a)
7− ?~ b single+a
8− double+[a -.i.b (new +.i.b t.b)]
9−++ turn-inter
10− |* [l=(interlist) f=$-(* *)]
11− ^- (interlist _$:f _?>(?=(%single -.l) +.l))
12− ?- -.l
13− %single [%single +.l]
14− %double [%double val.l (f sep.l) $(l tail.l)]
15− ==
16−++ turn
17− |* [l=(interlist) f=$-(* *)]
18− ^- (interlist _?>(?=(%double -.l) sep.l) _$:f)
19− ?- -.l
20− %single single+(f +.l)
21− %double double+[(f val.l) sep.l $(l tail.l)]
3+++ interlist
4+ |$ [sep val]
5+ $%
6+ [%double =val =sep tail=(interlist sep val)]
7+ [%single =val]
228 ==
239++ reverse
2410 |* l=(interlist)
@@ -53,7 +39,7 @@
5339 [%double v +.tail -.tail]
5440 ;~(plug v (star ;~(plug s v)))
5541++ split-left-on
56− |* [is-pivot=$-(* ?) l=(interlist)]
42+ |* [is-pivot=$-(* *) l=(interlist)]
5743 ^- (unit _[lhs=l pivot=+<.is-pivot rhs=l])
5844 ?- -.l
5945 %single ~
@@ -64,7 +50,7 @@
6450 `[[%double val.l sep.l lhs.u.rest] pivot.u.rest rhs.u.rest]
6551 ==
6652++ split-right-on
67− |* [is-pivot=$-(* ?) l=(interlist * *)]
53+ |* [is-pivot=$-(* *) l=(interlist * *)]
6854 ^- (unit _[lhs=l pivot=+<.is-pivot rhs=l])
6955 %+ bind (split-left-on is-pivot (reverse l))
7056 |* [a=(interlist * *) b=* c=(interlist * *)] [(reverse c) b (reverse a)]
desk/lib/lua.hoon+2−1
@@ -1 +1,2 @@
1−/+ lua-interpreter
1+|%
2+--
desk/lib/lua/interpreter.hoondeleted−554
@@ -1,554 +0,0 @@
1−/- *lua
2−/+ st
3−=<
4−|= =chunk
5−((eval-chunk chunk) *state)
6−|%
7−++ eval-chunk
8− |= =chunk
9− ^- (eval-m value)
10− ?- -.chunk
11− %blok (eval-blok +.chunk)
12− ==
13−++ object-id |$ obj @
14−++ objects
15− |$ obj [objs=(map (object-id obj) obj) next-id=(object-id obj)]
16−+$ value
17− $%
18− [%table val=(object-id table) meta=(unit (object-id table))]
19− [%string string]
20− [%num numeral]
21− [%multires (lest value)]
22− [%true ~]
23− [%false ~]
24− [%nil ~]
25− ==
26−+$ lval
27− $%
28− [%var name]
29− [%table-field (object-id table) value]
30− ==
31−+$ table (map value value)
32−+$ state
33− $:
34− tables=$~([(malt ~[[0 *table]]) 1] (objects table))
35− global-env=table
36− local-envs=$~(~[(malt ~[['_ENV' table+[0 ~]]])] (lest (map name value)))
37− ==
38−++ eval-m
39− |$ [val]
40− $-(state [st=state val=val])
41−++ pure
42− |* x=*
43− ^- (eval-m _x)
44− |=(st=state [st x])
45−++ bind
46− |* =mold
47− |* [prev=(eval-m) cont=$-(* (eval-m mold))]
48− ^+ $:cont
49− |= st=state
50− =/ [st=state val=_val:$:prev] (prev st)
51− ((cont val) st)
52−++ get-state
53− ^- (eval-m state)
54− |= st=state
55− [st st]
56−++ set-state
57− |= st=state
58− ^- (eval-m ~)
59− |= state
60− [st ~]
61−++ eval-blok
62− =<
63− |= =blok
64− ^- (eval-m value)
65− %- with-local
66− =/ body body.blok
67− |-
68− ^- (eval-m value)
69− ?~ body
70− ?~ ret.blok (pure nil+~)
71− ?~ u.ret.blok (pure nil+~)
72− ;< rets=(lest value) bind (eval-exprlist u.u.ret.blok)
73− (pure (multires rets))
74− ;< ~ bind (eval-stat i.body)
75− ;< ret=value bind $(body t.body)
76− (pure ret)
77− |%
78− ++ with-local
79− |* act=(eval-m)
80− ^- _act
81− ;< ~ bind push-local
82− ;< res=_val:$:act bind act
83− ;< ~ bind pop-local
84− (pure res)
85− ++ push-local
86− ^- (eval-m ~)
87− |= st=state
88− =. local-envs.st [*(map name value) local-envs.st]
89− [st ~]
90− ++ pop-local
91− ^- (eval-m ~)
92− |= st=state
93− =. local-envs.st
94− ?~ t.local-envs.st !!
95− t.local-envs.st
96− [st ~]
97− --
98−++ multires
99− |= vals=(lest value)
100− ^- value
101− ?~ t.vals i.vals
102− multires+vals
103−++ eval-exprlist
104− |= vals=exprlist
105− ^- (eval-m (lest value))
106− ;< val=value bind (eval-expr i.vals)
107− ?~ t.vals (pure [val ~])
108− ;< tail=(list value) bind $(vals t.vals)
109− (pure [val tail])
110−++ eval-stat
111− |= =stat
112− ^- (eval-m ~)
113− ?+ -.stat !!
114− %asmnt
115− ;< lhs=(lest lval) bind (process-varlist +<.stat)
116− ;< rhs=(lest value) bind (eval-exprlist +>.stat)
117− =/ asmnts (zip lhs (normalize-multires-exprlist rhs))
118− |-
119− ?~ asmnts (pure ~)
120− ;< * bind
121− ?- -<.i.asmnts
122− %var ((set-var ->.i.asmnts) +.i.asmnts)
123− %table-field
124− ;< tabl=table bind (get-table ->-.i.asmnts)
125− (set-table ->-.i.asmnts (~(put by tabl) ->+.i.asmnts +.i.asmnts))
126− ==
127− $(asmnts t.asmnts)
128− %local-asmnt
129− =/ lhs=(list name)
130− %+ turn attrnamelist.stat
131− |= [=name attr=(unit attrib)]
132− ?> ?=(~ attr)
133− name
134− ;< actual-values=(list [name value]) bind
135− ?~ rhs.stat (pure ~)
136− ;< rhs=(list value) bind (eval-exprlist u.rhs.stat)
137− (pure (zip lhs rhs))
138− ;< st=state bind get-state
139− =. i.local-envs.st
140− %- ~(uni by i.local-envs.st)
141− %- malt
142− (weld (turn lhs |=(=name [name `value`nil+~])) actual-values)
143− (set-state st)
144− ==
145−++ set-var
146− |= var=name
147− |= val=value
148− ^- (eval-m ~)
149− ;< envs=(list (map name value)) bind get-local-envs
150− =/ new-envs=(unit (lest (map name value)))
151− |-
152− ^- (unit (lest (map name value)))
153− ?~ envs ~
154− ?. (~(has by i.envs) var)
155− =/ rest $(envs t.envs)
156− ?~ rest ~
157− `[i.envs u.rest]
158− `[(~(put by i.envs) var val) t.envs]
159− ^- (eval-m ~)
160− ?. ?=(~ new-envs)
161− |= st=state
162− =. local-envs.st u.new-envs
163− [st ~]
164− =/ global-env (need ((get-from-local-envs envs) '_ENV'))
165− :: TODO: proper error
166− ?+ -.global-env !!
167− %table
168− ;< tabl=table bind (get-table +<.global-env)
169− (set-table +<.global-env (~(put by tabl) (string-val var) val))
170− ==
171−++ normalize-multires-exprlist
172− |= vals=(list value)
173− ^- (list value)
174− ?~ vals ~
175− ?~ t.vals ~[(normalize-multires i.vals)]
176− [i.vals $(vals t.vals)]
177−++ normalize-multires
178− |= val=value
179− ^- value
180− ?+ -.val val
181− %multires
182− =/ res=(lest value)
183− =/ vals=(lest value) +.val
184− |-
185− ?~ t.vals
186− =/ tail=value (normalize-multires i.vals)
187− ?: ?=(%multires -.tail) +.tail [tail ~]
188− [i.vals $(vals t.vals)]
189− ?~ t.res i.res
190− multires+res
191− ==
192−++ process-varlist
193− =<
194− |= =varlist
195− ^- (eval-m (lest lval))
196− ;< val=lval bind (process-var i.varlist)
197− ?~ t.varlist (pure ~[val])
198− ;< tail=(list lval) bind $(varlist t.varlist)
199− (pure [val tail])
200− |%
201− ++ process-var
202− |= =var
203− ^- (eval-m lval)
204− ?- -.var
205− %name (pure var++.var)
206− %indexed
207− ;< prefix=value bind (eval-prefix-expr +<.var)
208− ;< idx=value bind (eval-expr +>.var)
209− :: TODO: proper error
210− ?. ?=(%table -.prefix) !!
211− (pure table-field+[val.prefix idx])
212− %dot
213− ;< prefix=value bind (eval-prefix-expr +<.var)
214− :: TODO: proper error
215− ?. ?=(%table -.prefix) !!
216− (pure table-field+[val.prefix (string-val +>.var)])
217− ==
218− --
219−++ eval-expr
220− |= =expr
221− ^- (eval-m value)
222− ?+ -.expr !!
223− %false (pure expr)
224− %true (pure expr)
225− %nil (pure expr)
226− %string (pure expr)
227− %num (pure expr)
228− %binop (eval-binop +.expr)
229− %prefix-expr (eval-prefix-expr +.expr)
230− %unop (eval-unop +.expr)
231− %table
232− ;< tabl-id=(object-id table) bind (eval-table +.expr)
233− (pure table+[tabl-id ~])
234− ==
235−++ eval-table
236− |= tabl=^table
237− =<
238− ^- (eval-m (object-id table))
239− ;< felds=(list [value value]) bind
240− =/ counter 1
241− |-
242− ?~ tabl (pure ~)
243− ?- -.i.tabl
244− %keyed
245− ;< k=value bind (eval-expr +<.i.tabl)
246− ;< v=value bind (eval-expr +>.i.tabl)
247− ;< tail=(list [value value]) bind $(tabl t.tabl)
248− (pure [[k v] tail])
249− %unkeyed
250− ;< v=value bind (eval-expr +.i.tabl)
251− ?: &(?=(~ t.tabl) ?=(%multires -.v))
252− =/ vals=(list value) +.v
253− %- pure
254− ^- (list [value value])
255− |-
256− ?~ vals ~
257− [[num+int+(new:st counter) i.vals] $(vals t.vals, counter +(counter))]
258− ;< tail=(list [value value]) bind $(tabl t.tabl, counter +(counter))
259− (pure [[num+int+(new:st counter) v] tail])
260− ==
261− (new-table (malt felds))
262− |%
263− --
264−++ eval-unop
265− |= [op=unop =expr]
266− ^- (eval-m value)
267− ?+ op !!
268− %minus
269− ;< val=value bind (eval-expr expr)
270− ;< num=numeral bind (assert-numeral val)
271− %- pure
272− ?- -.num
273− %int num+int+(neg:st +.num)
274− %float num+float+(sub:rd *@rd +.num)
275− ==
276− %not
277− ;< val=value bind (eval-expr expr)
278− %- pure
279− ?: (falsy val) [%false ~] [%true ~]
280− %sig
281− ;< val=value bind (eval-expr expr)
282− ;< n=numeral bind (assert-numeral val)
283− ;< i=@st bind (to-int n)
284− %- pure
285− num+int+(mix i mask:st)
286− ==
287−++ eval-binop
288− |= [lhs=expr op=binop rhs=expr]
289− ^- (eval-m value)
290− =<
291− ?+ op !!
292− %add
293− ;< lhs=value bind (eval-expr lhs)
294− ;< rhs=value bind (eval-expr rhs)
295− ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
296− %- pure
297− :- %num
298− ?- -.unified
299− %i :- %int (add:st a.unified b.unified)
300− %f :- %float (add:rd a.unified b.unified)
301− ==
302− %sub
303− ;< lhs=value bind (eval-expr lhs)
304− ;< rhs=value bind (eval-expr rhs)
305− ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
306− %- pure
307− :- %num
308− ?- -.unified
309− %i :- %int (sub:st a.unified b.unified)
310− %f :- %float (sub:rd a.unified b.unified)
311− ==
312− %mul
313− ;< lhs=value bind (eval-expr lhs)
314− ;< rhs=value bind (eval-expr rhs)
315− ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
316− %- pure
317− :- %num
318− ?- -.unified
319− %i :- %int (mul:st a.unified b.unified)
320− %f :- %float (mul:rd a.unified b.unified)
321− ==
322− %int-div
323− ;< lhs=value bind (eval-expr lhs)
324− ;< rhs=value bind (eval-expr rhs)
325− ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
326− %- pure
327− :- %num
328− ?- -.unified
329− %i :- %int (div:st +.unified)
330− %f :- %float (int-div-float +.unified)
331− ==
332− %mod
333− ;< lhs=value bind (eval-expr lhs)
334− ;< rhs=value bind (eval-expr rhs)
335− ;< unified=unified-numerals bind (unify-numeral-values lhs rhs)
336− %- pure
337− :- %num
338− ?- -.unified
339− %i :- %int (mod:st +.unified)
340− %f
341− :- %float
342− (sub:rd a.unified (mul:rd (int-div-float +.unified) b.unified))
343− ==
344− %div
345− ;< lhs=value bind (eval-expr lhs)
346− ;< rhs=value bind (eval-expr rhs)
347− ;< lhs=numeral bind (assert-numeral lhs)
348− ;< rhs=numeral bind (assert-numeral rhs)
349− %- pure num+float+(div:rd (to-float lhs) (to-float rhs))
350− %exp !!
351− %band
352− ;< lhs=value bind (eval-expr lhs)
353− ;< rhs=value bind (eval-expr rhs)
354− ;< lhs=numeral bind (assert-numeral lhs)
355− ;< rhs=numeral bind (assert-numeral rhs)
356− ;< lhs=@st bind (to-int lhs)
357− ;< rhs=@st bind (to-int rhs)
358− %- pure
359− num+int+(dis lhs rhs)
360− %bor
361− ;< lhs=value bind (eval-expr lhs)
362− ;< rhs=value bind (eval-expr rhs)
363− ;< lhs=numeral bind (assert-numeral lhs)
364− ;< rhs=numeral bind (assert-numeral rhs)
365− ;< lhs=@st bind (to-int lhs)
366− ;< rhs=@st bind (to-int rhs)
367− %- pure
368− num+int+(con lhs rhs)
369− %bxor
370− ;< lhs=value bind (eval-expr lhs)
371− ;< rhs=value bind (eval-expr rhs)
372− ;< lhs=numeral bind (assert-numeral lhs)
373− ;< rhs=numeral bind (assert-numeral rhs)
374− ;< lhs=@st bind (to-int lhs)
375− ;< rhs=@st bind (to-int rhs)
376− %- pure
377− num+int+(mix lhs rhs)
378− %rshft
379− ;< lhs=value bind (eval-expr lhs)
380− ;< rhs=value bind (eval-expr rhs)
381− ;< lhs=numeral bind (assert-numeral lhs)
382− ;< rhs=numeral bind (assert-numeral rhs)
383− ;< lhs=@st bind (to-int lhs)
384− ;< rhs=@st bind (to-int rhs)
385− %- pure
386− num+int+(dis mask:st (?:((sig:st rhs) lsh rsh) [0 (abs:st rhs)] lhs))
387− %lshft
388− ;< lhs=value bind (eval-expr lhs)
389− ;< rhs=value bind (eval-expr rhs)
390− ;< lhs=numeral bind (assert-numeral lhs)
391− ;< rhs=numeral bind (assert-numeral rhs)
392− ;< lhs=@st bind (to-int lhs)
393− ;< rhs=@st bind (to-int rhs)
394− %- pure
395− num+int+(dis mask:st (?:((sig:st rhs) rsh lsh) [0 (abs:st rhs)] lhs))
396− %or
397− ;< lhs=value bind (eval-expr lhs)
398− ?. (falsy lhs) (pure lhs)
399− (eval-expr rhs)
400− %and
401− ;< lhs=value bind (eval-expr lhs)
402− ?: (falsy lhs) (pure lhs)
403− (eval-expr rhs)
404− ==
405− |%
406− ++ show-numeral
407− |= n=numeral
408− ^- tape
409− ?- -.n
410− %int (scow %s (to-s:st +.n))
411− %float (scow %rd +.n)
412− ==
413− ++ int-div-float
414− |= [a=@rd b=@rd]
415− =/ whole=(unit @s) (~(toi rd %d) (div:rd a b))
416− ?~ whole (div:rd .~0 .~0)
417− (san:rd u.whole)
418− +$ unified-numerals $%([%i a=@st b=@st] [%f a=@rd b=@rd])
419− ++ unify-numeral-values
420− |= [a=value b=value]
421− ^- (eval-m unified-numerals)
422− ;< a=numeral bind (assert-numeral a)
423− ;< b=numeral bind (assert-numeral b)
424− (pure (unify-numerals a b))
425− ++ unify-numerals
426− |= [a=numeral b=numeral]
427− ^- unified-numerals
428− ?: &(?=(%int -.a) ?=(%int -.b)) [%i +.a +.b]
429− [%f (to-float a) (to-float b)]
430− ++ to-float
431− |= n=numeral
432− ^- @rd
433− ?: ?=(%float -.n) +.n
434− (san:rd (to-s:st +.n))
435− --
436−++ to-int
437− |= n=numeral
438− ^- (eval-m @st)
439− ?: ?=(%int -.n) (pure +.n)
440− =/ i=(unit @s) (toi:rd +.n)
441− :: TODO: proper error
442− ?~ i !!
443− =/ i u.i
444− =/ cycled (san:rd i)
445− :: TODO: proper error
446− :: checks that we don't lose any information
447− ?. =(+.n cycled) !!
448− (pure (from-s:st i))
449−++ falsy
450− |= v=value
451− ^- ?
452− ?+ -.v |
453− %false &
454− %nil &
455− ==
456−++ assert-numeral
457− |= [a=value]
458− ^- (eval-m numeral)
459− :: TODO: throw a proper error
460− ?. ?=(%num -.a) !!
461− (pure +.a)
462−++ eval-prefix-expr
463− |= =prefix-expr
464− ^- (eval-m value)
465− ?- -.prefix-expr
466− %expr (eval-expr +.prefix-expr)
467− %call (eval-functioncall +.prefix-expr)
468− %var
469− ?- +<.prefix-expr
470− %name (lookup-var +>.prefix-expr)
471− %dot
472− ;< tabl=value bind (eval-prefix-expr +>-.prefix-expr)
473− (lookup-table-field tabl (string-val +>+.prefix-expr))
474− %indexed
475− ;< tabl=value bind (eval-prefix-expr +>-.prefix-expr)
476− ;< idx=value bind (eval-expr +>+.prefix-expr)
477− (lookup-table-field tabl idx)
478− ==
479− ==
480−++ lookup-table-field
481− |= [val=value fild=value]
482− ^- (eval-m value)
483− :: TODO: proper error
484− ?+ -.val !!
485− %table
486− ;< tabl=table bind (get-table val.val)
487− =/ res (~(get by tabl) fild)
488− :: TODO: error
489− ?~ res !!
490− (pure u.res)
491− ==
492−++ lookup-var
493− |= =name
494− ^- (eval-m value)
495− ;< envs=(list (map ^name value)) bind get-local-envs
496− =/ get-local (get-from-local-envs envs)
497− =/ local=(unit value) (get-local name)
498− ?. ?=(~ local) (pure u.local)
499− =/ global-env (get-local '_ENV')
500− ?~ global-env !!
501− (lookup-table-field u.global-env (string-val name))
502−++ get-from-local-envs
503− |= envs=(list (map name value))
504− |= =name
505− ^- (unit value)
506− ?~ envs ~
507− =/ val=(unit value) (~(get by i.envs) name)
508− ?~ val $(envs t.envs)
509− val
510−++ string-val
511− |= val=@t
512− ^- value
513− string+(trip val)
514−++ get
515− |* f=$-(state *)
516− ^- (eval-m _$:f)
517− |= st=state
518− [st (f st)]
519−++ get-table
520− |= id=(object-id table)
521− ^- (eval-m table)
522− ;< tables=(objects table) bind
523− %- get |=(st=state tables.st)
524− =/ table (~(get by objs.tables) id)
525− :: TODO: proper error
526− ?~ table !!
527− (pure u.table)
528−++ set-table
529− |= [id=(object-id table) tabl=table]
530− ^- (eval-m ~)
531− |= st=state
532− =. objs.tables.st (~(put by objs.tables.st) id tabl)
533− [st ~]
534−++ get-local-envs
535− ^- (eval-m (list (map name value)))
536− %- get |=(st=state local-envs.st)
537−++ eval-functioncall
538− |= =functioncall
539− ^- (eval-m value)
540− !!
541−++ new-table
542− |= tabl=table
543− ^- (eval-m (object-id table))
544− |= st=state
545− =/ id next-id.tables.st
546− =. next-id.tables.st +(id)
547− =. objs.tables.st (~(put by objs.tables.st) id tabl)
548− [st id]
549−++ zip
550− |* [lhs=(list) rhs=(list)]
551− ^- (list [_?<(?=(~ lhs) i.lhs) _?<(?=(~ rhs) i.rhs)])
552− ?: |(?=(~ lhs) ?=(~ rhs)) ~
553− [[i.lhs i.rhs] $(lhs t.lhs, rhs t.rhs)]
554−--
desk/lib/lua/parser.hoon+75−193
@@ -1,12 +1,12 @@
11/- *lua
2−/- *interlist
32/+ st
4−/+ inter=interlist
3+/+ interlist
4+/+ *bintree
55=<
66apex
77|%
88++ apex
9− %^ tnee %apex chunk
9+ %^ tnee %apex ast
1010 ;~ pfix
1111 %- punt
1212 ;~ plug
@@ -33,7 +33,7 @@ apex
3333 parse-numeral
3434 ::
3535 %+ cook
36− |=(=prefix-expr (unwrap-prefix [%prefix-expr prefix-expr]))
36+ |=(=prefix-expr [%prefix-expr prefix-expr])
3737 (knee *prefix-expr |.(parse-prefix-expr))
3838 ::
3939 %+ cook
@@ -54,187 +54,89 @@ apex
5454 parse-funcbody
5555 ==
5656 ::
57− ==
58−:: Parse expressions separated by binary operators
59−::
60−++ parse-expr-list
61− %^ tnee %parse-expr-list ,(interlist binop [(list unop) expr])
62− %+ parse:inter (ifix [ws ws] parse-binop)
63− ;~ plug
64− %- star
65− ;~ pose
66− ;~ sfix
67− ;~ pose
68− (cold %minus (just '-'))
69− (cold %sig (just '~'))
70− (cold %hax (just '#'))
57+ %+ cook |= [=unop =expr] [%unop unop expr]
58+ ;~ plug
59+ ;~ pose
60+ ;~ sfix
61+ ;~ pose
62+ (cold %minus (just '-'))
63+ (cold %sig (just '~'))
64+ (cold %hax (just '#'))
65+ ==
66+ ws
67+ ==
68+ ;~ sfix
69+ (cold %not (jest 'not'))
70+ ;~(less parse-name ws)
7171 ==
72− ws
73− ==
74− ;~ sfix
75− (cold %not (jest 'not'))
76− ;~(less parse-name ws)
7772 ==
73+ %+ knee *expr |.(parse-expr)
7874 ==
79− ::
80− parse-atomic-expr
8175 ==
76+:: Parse expressions separated by binary operators
77+::
78+++ parse-expr-list
79+ %^ tnee %parse-expr-list (interlist:interlist binop expr)
80+ %+ parse:interlist (ifix [ws ws] parse-binop) parse-atomic-expr
81+:: TODO: This is mock and should take operator priority into account.
82+::
8283++ process-expr-list
8384 =<
84− |= l=(interlist binop [(list unop) expr])
85+ |= l=(interlist:interlist binop expr)
8586 ^- expr
8687 %- strip-tree
87− %- (process-right-assoc ~[%pow])
88− %- process-unops
89− %- (process-left-assoc ~[%mul %div %int-div %mod])
90− %- (process-left-assoc ~[%add %sub])
91− %- (process-right-assoc ~[%concat])
92− %- (process-left-assoc ~[%rshft %lshft])
93− %- (process-left-assoc ~[%band])
94− %- (process-left-assoc ~[%bxor])
95− %- (process-left-assoc ~[%bor])
96− %- (process-left-assoc ~[%lt %gt %lteq %gteq %neq %eq])
97− %- (process-left-assoc ~[%and])
9888 %- (process-left-assoc ~[%or])
99− (preprocess-tree l)
89+ %- (process-left-assoc ~[%and])
90+ %- (process-left-assoc ~[%lt %gt %lteq %gteq %neq %eq])
91+ %- (process-left-assoc ~[%bor])
92+ %- (process-left-assoc ~[%bxor])
93+ %- (process-left-assoc ~[%band])
94+ %- (process-left-assoc ~[%rshft %lshft])
95+ %- (process-right-assoc ~[%concat])
96+ %- (process-left-assoc ~[%add %sub])
97+ %- (process-left-assoc ~[%mul %div %int-div %mod])
98+ %- (process-left-assoc ~[%pow])
99+ [%leaf l]
100100 |%
101− +$ working-tree
102− $%
103− [%node l=working-tree n=binop r=working-tree]
104− [%branch b=unop t=working-tree]
105− [%tbd-unop l=(list [=expr =binop]) =unop r=working-tree]
106− [%unoped l=(list [=expr =binop]) r=working-tree]
107− [%leaf (interlist binop expr)]
108− ==
109− ++ preprocess-tree
110− |= l=(interlist binop [(list unop) expr])
111− ^- working-tree
112− =/ splitted (find-unop l)
113− ?~ splitted leaf+(turn:inter l |=([* =expr] expr))
114− tbd-unop+[l.u.splitted unop.u.splitted $(l r.u.splitted)]
115− ++ apply-unops
116− |= [unops=(list unop) =expr]
117− ^+ expr
118− ?~ unops expr
119− [%unop i.unops $(unops t.unops)]
120101 ++ strip-tree
121− |= tree=working-tree
102+ |= tree=(bintree binop (interlist:interlist binop expr))
122103 ^- expr
123104 ?- -.tree
124105 %leaf ?> ?=(%single +<.tree) +>.tree
125106 %node [%binop $(tree l.tree) n.tree $(tree r.tree)]
126− %branch [%unop b.tree $(tree t.tree)]
127− %tbd-unop !!
128− %unoped ?> =(~ l.tree) $(tree r.tree)
129107 ==
130− ++ find-unop
131− |= l=(interlist binop [(list unop) expr])
132− ^- (unit [l=(list [=expr =binop]) =unop r=(interlist binop [(list unop) expr])])
133− ?- -.l
134− %single
135− ?~ +<.l ~
136− %- some
137− [~ i.-.val.l single+[t.-.val.l +.val.l]]
138− %double
139− ?~ -.val.l
140− %+ ^^bind $(l tail.l)
141− |= [k=(list [expr binop]) =unop tail=(interlist binop [(list unop) expr])]
142− [[[+.val.l sep.l] k] unop tail]
143− %- some
144− [~ i.-.val.l double+[[t.-.val.l +.val.l] sep.l tail.l]]
145− ==
146− ++ process-unops
147− |= tree=working-tree
148− ^- working-tree
149− ?- -.tree
150− %node node+[$(tree l.tree) n.tree $(tree r.tree)]
151− %branch branch+[b.tree $(tree t.tree)]
152− %tbd-unop unoped+[l.tree branch+[unop.tree $(tree r.tree)]]
153− %leaf tree
154− %unoped unoped+[l.tree $(tree r.tree)]
155− ==
156− ++ split-left-unop-list
157− |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
158− ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
159− ?~ l ~
160− ?: (is-pivot binop.i.l) `[single+expr.i.l binop.i.l t.l]
161− =/ rest $(l t.l)
162− ?~ rest ~
163− `[double+[expr.i.l binop.i.l -.u.rest] +.u.rest]
164− ++ split-right-unop-list
165− |= [is-pivot=$-(binop ?) l=(list [=expr =binop])]
166− ^- (unit [l=(interlist binop expr) =binop r=(list [=expr =binop])])
167− =/ reversed=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)])
168− =/ l=(list [=binop =expr]) (flop (turn l swap))
169− |-
170− ?~ l ~
171− ?: (is-pivot binop.i.l) `[~ binop.i.l (new:inter expr.i.l t.l)]
172− =/ rest=(unit [l=(list [=binop =expr]) =binop r=(interlist binop expr)]) $(l t.l)
173− ?~ rest ~
174− `[[i.l l.u.rest] +.u.rest]
175− ?~ reversed ~
176− `[(reverse:inter r.u.reversed) binop.u.reversed (turn (flop l.u.reversed) swap)]
177− ++ swap |*([a=* b=*] [b a])
178108 ++ process-right-assoc
179109 |= ops=(lest binop)
180− |= tree=working-tree
181− ^- working-tree
110+ |= tree=(bintree binop (interlist:interlist binop expr))
111+ ^+ tree
182112 ?- -.tree
183113 %leaf
184114 =/ l +.tree
185115 |-
186− =/ splitted (split-left-on:inter |=(op=binop (elem op ops)) l)
116+ =/ splitted (split-left-on:interlist |=(op=binop (elem op ops)) l)
187117 ?~ splitted [%leaf l]
188118 [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
189− %branch branch+[b.tree $(tree t.tree)]
190− %tbd-unop
191− =/ splitted
192− (split-left-unop-list |=(op=binop (elem op ops)) l.tree)
193− ?~ splitted tbd-unop+[l.tree unop.tree $(tree r.tree)]
194− $(tree [%node $(tree leaf+l.u.splitted) binop.u.splitted tbd-unop+[r.u.splitted +>.tree]])
195119 %node
196120 [%node $(tree l.tree) n.tree $(tree r.tree)]
197− %unoped
198− =/ splitted
199− (split-left-unop-list |=(op=binop (elem op ops)) l.tree)
200− ?~ splitted unoped+[l.tree $(tree r.tree)]
201− [%node $(tree leaf+l.u.splitted) binop.u.splitted $(tree unoped+[r.u.splitted r.tree])]
202121 ==
203122 ++ process-left-assoc
204123 |= ops=(lest binop)
205− |= tree=working-tree
206− ^- working-tree
124+ |= tree=(bintree binop (interlist:interlist binop expr))
125+ ^+ tree
207126 ?- -.tree
208127 %leaf
209128 =/ l +.tree
210129 |-
211− ^- working-tree
212− =/ splitted (split-right-on:inter |=(op=binop (elem op ops)) l)
130+ =/ splitted (split-right-on:interlist |=(op=binop (elem op ops)) l)
213131 ?~ splitted [%leaf l]
214132 [%node $(l lhs.u.splitted) pivot.u.splitted $(l rhs.u.splitted)]
215− %tbd-unop
216− =/ splitted
217− (split-right-unop-list |=(op=binop (elem op ops)) l.tree)
218− ?~ splitted tbd-unop+[l.tree unop.tree $(tree r.tree)]
219− $(tree [%node $(tree leaf+l.u.splitted) binop.u.splitted tbd-unop+[r.u.splitted +>.tree]])
220133 %node
221134 [%node $(tree l.tree) n.tree $(tree r.tree)]
222− %branch
223− [%branch b.tree $(tree t.tree)]
224− %unoped
225− =/ splitted
226− (split-right-unop-list |=(op=binop (elem op ops)) l.tree)
227− ?~ splitted unoped+[l.tree $(tree r.tree)]
228− [%node $(tree leaf+l.u.splitted) binop.u.splitted $(tree unoped+[r.u.splitted +>.tree])]
229135 ==
230136 --
231137++ parse-expr
232138 %^ tnee %parse-expr expr
233− %+ cook unwrap-prefix
234− ;~ pose
235− %+ cook process-expr-list parse-expr-list
236− (ifix [;~(plug (just '(') ws) ;~(plug ws (just ')'))] (knee *expr |.(parse-expr)))
237− ==
139+ %+ cook process-expr-list parse-expr-list
238140++ parse-parened-expr
239141 %^ tnee %parse-parened-expr prefix-expr
240142 %+ cook
@@ -568,7 +470,7 @@ apex
568470++ parse-local-asmnt
569471 %^ tnee %parse-local-asmnt local-asmnt
570472 %+ cook
571− |= [* * =attrnamelist rhs=(unit explist)] [attrnamelist rhs]
473+ |= [* * =attnamelist rhs=(unit explist)] [attnamelist rhs]
572474 ;~ plug
573475 (jest 'local')
574476 wss
@@ -582,7 +484,7 @@ apex
582484 ==
583485 ==
584486++ parse-attnamelist
585− %^ tnee %parse-attnamelist attrnamelist
487+ %^ tnee %parse-attnamelist attnamelist
586488 %+ most (ifix [ws ws] com)
587489 ;~ plug
588490 parse-name
@@ -864,10 +766,10 @@ apex
864766 ++ name-fst-char ;~(pose alf:ab (just '_'))
865767 --
866768 %+ cook |= =tape (crip tape)
867− ;~(less keyword ;~(plug name-fst-char (star name-char)))
769+ ;~(less ;~(plug keyword ;~(less name-char (easy ~))) ;~(plug name-fst-char (star name-char)))
868770++ bind
869771 |* =mold
870− |* [prev=rule cont=$-(* rule)]
772+ |* [prev=rule cont=$-(mold rule)]
871773 |= =nail
872774 =/ prev-edge (prev nail)
873775 ?~ q.prev-edge prev-edge
@@ -998,39 +900,31 @@ apex
998900 ;< res=_p:(need q:$:$:inner) bind (inner closing)
999901 %+ cold res closing
1000902++ keyword
1001− =<
1002− %+ sear
1003− |= word=tape
1004− ^- (unit ~)
1005− ?: (elem word keyword-names) `~ ~
1006− (plus alf:ab)
1007− |%
1008− ++ keyword-names
1009− :~
1010− "and"
1011− "break"
1012− "do"
1013− "else"
1014− "elseif"
1015− "end"
1016− "false"
1017− "for"
1018− "function"
1019− "goto"
1020− "if"
1021− "in"
1022− "local"
1023− "nil"
1024− "not"
1025− "or"
1026− "repeat"
1027− "return"
1028− "then"
1029− "true"
1030− "until"
1031− "while"
1032− ==
1033− --
903+ %+ cold ~
904+ ;~ pose
905+ (jest 'and')
906+ (jest 'break')
907+ (jest 'do')
908+ (jest 'else')
909+ (jest 'elseif')
910+ (jest 'end')
911+ (jest 'false')
912+ (jest 'for')
913+ (jest 'function')
914+ (jest 'goto')
915+ (jest 'if')
916+ (jest 'in')
917+ (jest 'local')
918+ (jest 'nil')
919+ (jest 'not')
920+ (jest 'or')
921+ (jest 'repeat')
922+ (jest 'return')
923+ (jest 'then')
924+ (jest 'true')
925+ (jest 'until')
926+ (jest 'while')
927+ ==
1034928++ tnee
1035929 |* [=term gar=mold sef=rule]
1036930 |= tub=nail
@@ -1042,13 +936,6 @@ apex
1042936 ?~ q.res
1043937 ~& [term %nope] res
1044938 ~& > [term %ok] res
1045−++ neg
1046− |* =rule
1047− |= =nail
1048− ^- (like ~)
1049− =/ x (rule nail)
1050− :- p.nail
1051− ?~ q.x `[~ nail] ~
1052939++ blok-is-empty
1053940 |= =blok
1054941 ^- ?
@@ -1058,9 +945,4 @@ apex
1058945 |= [nedl=* stak=(list *)]
1059946 ^- ?
1060947 ?=(^ (find ~[nedl] stak))
1061−++ unwrap-prefix
1062− |= x=expr
1063− ^- expr
1064− ?: ?=([%prefix-expr %expr *] x) $(x +>.x)
1065− x
1066948--
desk/lib/lua/printer.hoon+9−15
@@ -6,10 +6,10 @@ print
66:: AST
77::
88++ print
9− |= [=chunk]
9+ |= [=ast]
1010 ^- tape
11− ?- -.chunk
12− %blok (print-blok +.chunk)
11+ ?- -.ast
12+ %blok (print-blok +.ast)
1313 ==
1414:: Expr
1515::
@@ -24,13 +24,11 @@ print
2424 %binop
2525 %- zing
2626 :~
27− "("
2827 (print-expr +<.expr)
2928 " "
3029 (print-binop +>-.expr)
3130 " "
3231 (print-expr +>+.expr)
33− ")"
3432 ==
3533 %num (print-numeral +.expr)
3634 %table (print-table +.expr)
@@ -40,11 +38,9 @@ print
4038 %unop
4139 %- zing
4240 :~
43− "("
4441 (print-unop +<.expr)
4542 " "
4643 (print-expr +>.expr)
47− ")"
4844 ==
4945 ==
5046:: unop
@@ -191,9 +187,7 @@ print
191187 |= [=prefix-expr]
192188 ?- -.prefix-expr
193189 %var (print-var +.prefix-expr)
194− %expr
195− :: since binops already have parens
196− ?: ?=(%binop +<.prefix-expr) (print-expr +.prefix-expr)
190+ %expr
197191 %- zing
198192 :~
199193 "("
@@ -264,7 +258,7 @@ print
264258 %- zing
265259 :~
266260 "local "
267− (print-attrnamelist attrnamelist.local-asmnt)
261+ (print-attnamelist attnamelist.local-asmnt)
268262 ?~ rhs.local-asmnt ""
269263 %- zing
270264 :~
@@ -272,13 +266,13 @@ print
272266 (print-explist u.rhs.local-asmnt)
273267 ==
274268 ==
275−:: attrnamelist
269+:: attnamelist
276270::
277−++ print-attrnamelist
278− |= =attrnamelist
271+++ print-attnamelist
272+ |= =attnamelist
279273 ^- tape
280274 %- commaed
281− %+ turn attrnamelist
275+ %+ turn attnamelist
282276 |= [=name attr=(unit attrib)]
283277 %- zing
284278 :~
desk/lib/lua/utils.hoondeleted−2
@@ -1,2 +0,0 @@
1−|%
2−--
desk/lib/st.hoon+3−32
@@ -11,15 +11,6 @@
1111 |= x=@st
1212 ^- @s
1313 (new:si ?!((sig x)) (abs x))
14−++ from-s
15− |= x=@s
16− ^- @st
17− %- ?. (syn:si x) neg |=(x=@st x)
18− (dis abs-mask (abs:si x))
19−++ neg
20− |= x=@st
21− ^- @st
22− (dis mask +((mix mask x)))
2314++ sig
2415 |= x=@st
2516 ^- ?
@@ -27,7 +18,8 @@
2718++ abs
2819 |= x=@st
2920 ^- @u
30− ?. (sig x) `@u`x `@u`(neg x)
21+ ?. (sig x) `@u`x
22+ (dis mask +((mix mask x)))
3123++ inc
3224 |= x=@st
3325 ^- @st
@@ -36,29 +28,8 @@
3628 |= [x=@st y=@st]
3729 ^- @st
3830 (dis mask (^add x y))
39−++ sub
40− |= [x=@st y=@st]
41− ^- @st
42− (from-s (dif:si (to-s x) (to-s y)))
43−++ mul
44− |= [x=@st y=@st]
45− ^- @st
46− (from-s (pro:si (to-s x) (to-s y)))
47−++ div
48− |= [x=@st y=@st]
49− ^- @st
50− =/ [x=@s y=@s] [(to-s x) (to-s y)]
51− =/ fra (fra:si x y)
52− =/ res (from-s fra)
53− ?: |(=(0 (rem:si x y)) (syn:si fra)) res
54− (dec res)
55−++ mod
56− |= [x=@st y=@st]
57− ^- @st
58− (sub x (mul (div x y) y))
59−++ mask 0xffff.ffff.ffff.ffff
6031--
6132|%
62−++ abs-mask 0x7fff.ffff.ffff.ffff
33+++ mask 0xffff.ffff.ffff.ffff
6334++ sign-mask 0x8000.0000.0000.0000
6435--
desk/res/lua/bar.luadeleted−23
@@ -1,23 +0,0 @@
1−assert(010 .. 020 .. -030 == "1020-30")
2−x = - 2 ^ - 3^4
3−
4−x = 1
5−
6−print(_ENV)
7−print(_ENV._ENV)
8−
9−local foo = _ENV
10−
11−-- local x = 8
12−
13−do
14− _ENV = {x = 2, print = print}
15− -- local x = 3
16− print(x)
17− print(_ENV)
18−end
19−
20−print(_ENV)
21−print(_ENV._ENV)
22−
23−print(foo._ENV)
desk/res/lua/baz.luadeleted−6
@@ -1,6 +0,0 @@
1−x = 8
2−
3−local y = x + 3
4−
5−
6−return y / 2
desk/res/lua/cycled/all.lua+41−41
@@ -1,12 +1,12 @@
11local version = "\u{4c}\u{75}\u{61}\u{20}\u{35}\u{2e}\u{34}"
2−if (_VERSION ~= version) then
2+if _VERSION ~= version then
33io.stderr:write("\u{54}\u{68}\u{69}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{73}\u{75}\u{69}\u{74}\u{65}\u{20}\u{69}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}",version,"\u{2c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}",_VERSION,"\u{a}\u{45}\u{78}\u{69}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
44return
55end
66_G.ARG=arg
7−_soft=(rawget(_G,"\u{5f}\u{73}\u{6f}\u{66}\u{74}") or false)
8−_port=(rawget(_G,"\u{5f}\u{70}\u{6f}\u{72}\u{74}") or false)
9−_nomsg=(rawget(_G,"\u{5f}\u{6e}\u{6f}\u{6d}\u{73}\u{67}") or false)
7+_soft=rawget(_G,"\u{5f}\u{73}\u{6f}\u{66}\u{74}") or false
8+_port=rawget(_G,"\u{5f}\u{70}\u{6f}\u{72}\u{74}") or false
9+_nomsg=rawget(_G,"\u{5f}\u{6e}\u{6f}\u{6d}\u{73}\u{67}") or false
1010local usertests = rawget(_G,"\u{5f}\u{55}")
1111if usertests then
1212_soft=true
@@ -24,7 +24,7 @@ do
2424local random_x,random_y = math.randomseed()
2525print(string.format("\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{73}\u{65}\u{65}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{25}\u{64}",random_x,random_y))
2626end
27−print(("\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{20}\u{70}\u{61}\u{74}\u{68}\u{3a}\u{a}\u{2a}\u{2a}\u{2a}\u{2a}" .. (package.path .. "\u{2a}\u{2a}\u{2a}\u{2a}\u{a}")))
27+print("\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{20}\u{70}\u{61}\u{74}\u{68}\u{3a}\u{a}\u{2a}\u{2a}\u{2a}\u{2a}" .. package.path .. "\u{2a}\u{2a}\u{2a}\u{2a}\u{a}")
2828local initclock = os.clock()
2929local lastclock = initclock
3030local walltime = os.time()
@@ -32,9 +32,9 @@ local collectgarbage = collectgarbage
3232do
3333local msgs = {}
3434function Message(m)
35−if (not _nomsg) then
35+if not _nomsg then
3636print(m)
37−msgs[(# (msgs + 0x1))]=string.sub(m,0x3,(- 0x3))
37+msgs[# msgs + 0x1]=string.sub(m,0x3,- 0x3)
3838end
3939end
4040assert(os.setlocale("\u{43}"))
@@ -43,27 +43,27 @@ local function F
4343(m)
4444local function round
4545(m)
46−m=(m + 0.04999)
46+m=m + 0.04999
4747return format("\u{25}\u{2e}\u{31}\u{66}",m)
4848end
49−if (m < 0x3e8) then
49+if m < 0x3e8 then
5050return m
5151else
52−m=(m / 0x3e8)
53−if (m < 0x3e8) then
54−return (round(m) .. "\u{4b}")
52+m=m / 0x3e8
53+if m < 0x3e8 then
54+return round(m) .. "\u{4b}"
5555else
56−return (round((m / 0x3e8)) .. "\u{4d}")
56+return round(m / 0x3e8) .. "\u{4d}"
5757end
5858end
5959end
6060local Cstacklevel
6161local showmem
62−if (not T) then
62+if not T then
6363local max = 0x0
6464showmem=function ()
65−local m = (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
66−max=(((m > max) and m) or max)
65+local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400
66+max=(m > max) and m or max
6767print(format("\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{20}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{a}",F(m),F(max)))
6868end
6969Cstacklevel=function ()
@@ -75,7 +75,7 @@ T.checkmemory()
7575local total,numblocks,maxmem = T.totalmem()
7676local count = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
7777print(format("\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{2d}\u{2d}\u{20}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}\u{25}\u{73}\u{20}\u{28}\u{25}\u{2e}\u{30}\u{66}\u{4b}\u{29}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{20}\u{75}\u{73}\u{65}\u{3a}\u{20}\u{25}\u{73}\u{2c}\u{20}\u{20}\u{62}\u{6c}\u{6f}\u{63}\u{6b}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{a}",F(total),count,F(maxmem),numblocks))
78−print(format(("\u{9}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{3a}\u{20}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}" .. "\u{a}\u{9}\u{75}\u{64}\u{61}\u{74}\u{61}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{29}"),T.totalmem("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"),T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}"),T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"),T.totalmem("\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"),T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")))
78+print(format("\u{9}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{3a}\u{20}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}" .. "\u{a}\u{9}\u{75}\u{64}\u{61}\u{74}\u{61}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{29}",T.totalmem("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"),T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}"),T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"),T.totalmem("\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"),T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")))
7979end
8080Cstacklevel=function ()
8181local _,_,ncalls = T.stacklevel()
@@ -85,13 +85,13 @@ end
8585local Cstack = Cstacklevel()
8686local function report
8787(n)
88−print(("\u{a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{20}\u{27}" .. (n .. "\u{27}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")))
88+print("\u{a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{46}\u{49}\u{4c}\u{45}\u{20}\u{27}" .. n .. "\u{27}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")
8989end
9090local olddofile = dofile
9191local dofile = function (n,strip)
9292showmem()
9393local c = os.clock()
94−print(string.format("\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{67}\u{20}\u{28}\u{2b}\u{25}\u{67}\u{29}",(c - initclock),(c - lastclock)))
94+print(string.format("\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{67}\u{20}\u{28}\u{2b}\u{25}\u{67}\u{29}",c - initclock,c - lastclock))
9595lastclock=c
9696report(n)
9797local f = assert(loadfile(n))
@@ -105,28 +105,28 @@ report("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
105105local f = assert(loadfile("\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}"))
106106f()
107107dofile("\u{64}\u{62}\u{2e}\u{6c}\u{75}\u{61}")
108−assert(((dofile("\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == deep) and deep))
108+assert(dofile("\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == deep and deep)
109109_G.deep=nil
110110olddofile("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
111111olddofile("\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
112112dofile("\u{74}\u{70}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
113−assert((dofile("\u{61}\u{74}\u{74}\u{72}\u{69}\u{62}\u{2e}\u{6c}\u{75}\u{61}") == 0x1b))
113+assert(dofile("\u{61}\u{74}\u{74}\u{72}\u{69}\u{62}\u{2e}\u{6c}\u{75}\u{61}") == 0x1b)
114114dofile("\u{67}\u{65}\u{6e}\u{67}\u{63}\u{2e}\u{6c}\u{75}\u{61}")
115−assert((dofile("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0x5))
115+assert(dofile("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0x5)
116116dofile("\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
117117dofile("\u{63}\u{6f}\u{64}\u{65}\u{2e}\u{6c}\u{75}\u{61}",true)
118−if (not _G._soft) then
118+if not _G._soft then
119119report("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
120120local f = coroutine.wrap(assert(loadfile("\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}")))
121−assert((f() == "\u{62}"))
122−assert((f() == "\u{61}"))
121+assert(f() == "\u{62}")
122+assert(f() == "\u{61}")
123123end
124124dofile("\u{63}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{2e}\u{6c}\u{75}\u{61}")
125125dofile("\u{6e}\u{65}\u{78}\u{74}\u{76}\u{61}\u{72}\u{2e}\u{6c}\u{75}\u{61}")
126126dofile("\u{70}\u{6d}\u{2e}\u{6c}\u{75}\u{61}")
127127dofile("\u{75}\u{74}\u{66}\u{38}\u{2e}\u{6c}\u{75}\u{61}")
128128dofile("\u{61}\u{70}\u{69}\u{2e}\u{6c}\u{75}\u{61}")
129−assert((dofile("\u{65}\u{76}\u{65}\u{6e}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0xc))
129+assert(dofile("\u{65}\u{76}\u{65}\u{6e}\u{74}\u{73}\u{2e}\u{6c}\u{75}\u{61}") == 0xc)
130130dofile("\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{2e}\u{6c}\u{75}\u{61}")
131131dofile("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
132132dofile("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
@@ -135,11 +135,11 @@ dofile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
135135dofile("\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{6c}\u{75}\u{61}")
136136dofile("\u{73}\u{6f}\u{72}\u{74}\u{2e}\u{6c}\u{75}\u{61}",true)
137137dofile("\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{2e}\u{6c}\u{75}\u{61}")
138−assert((dofile("\u{76}\u{65}\u{72}\u{79}\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}",true) == 0xa))
138+assert(dofile("\u{76}\u{65}\u{72}\u{79}\u{62}\u{69}\u{67}\u{2e}\u{6c}\u{75}\u{61}",true) == 0xa)
139139;
140140collectgarbage()
141141dofile("\u{66}\u{69}\u{6c}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}")
142−if (# (msgs > 0x0)) then
142+if # msgs > 0x0 then
143143local m = table.concat(msgs,"\u{a}\u{20}\u{20}")
144144warn("\u{23}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{65}\u{72}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}\u{3a}\u{a}\u{20}\u{20}",m,"\u{a}")
145145end
@@ -151,19 +151,19 @@ warn("\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{54}\u{48}\u{49}\u
151151warn("\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{20}\u{54}\u{48}\u{49}\u{53}\u{20}\u{57}\u{41}\u{52}\u{4e}\u{49}\u{4e}\u{47}\u{20}\u{41}\u{4c}\u{53}\u{4f}\u{20}\u{53}\u{48}\u{4f}\u{55}\u{4c}\u{44}\u{20}\u{4e}\u{4f}\u{54}\u{20}\u{41}\u{50}\u{50}\u{45}\u{41}\u{52}\u{20}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}\u{2a}")
152152warn("\u{40}\u{6f}\u{6e}")
153153warn("\u{23}\u{54}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}","\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6f}\u{6e}\u{65}")
154−assert((debug == nil))
154+assert(debug == nil)
155155local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
156−print(string.format("\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{2c}\u{20}\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}",(string.packsize("\u{6a}") * 0x8),(string.packsize("\u{6e}") * 0x8)))
156+print(string.format("\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{2c}\u{20}\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}",string.packsize("\u{6a}") * 0x8,string.packsize("\u{6e}") * 0x8))
157157debug.sethook(function (a)
158−assert((type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
158+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
159159end,"\u{63}\u{72}")
160160_G.showmem=showmem
161−assert((Cstack == Cstacklevel()),"\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{61}\u{74}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{61}\u{6d}\u{65}\u{20}\u{43}\u{2d}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{77}\u{61}\u{73}\u{20}\u{77}\u{68}\u{65}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{72}\u{74}\u{65}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
161+assert(Cstack == Cstacklevel(),"\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{61}\u{74}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{61}\u{6d}\u{65}\u{20}\u{43}\u{2d}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{77}\u{61}\u{73}\u{20}\u{77}\u{68}\u{65}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{72}\u{74}\u{65}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
162162end
163163local _G,showmem,print,format,clock,time,difftime,assert,open,warn = _G,showmem,print,string.format,os.clock,os.time,os.difftime,assert,io.open,warn
164−local fname = ((T and "\u{74}\u{69}\u{6d}\u{65}\u{2d}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{78}\u{74}") or "\u{74}\u{69}\u{6d}\u{65}\u{2e}\u{74}\u{78}\u{74}")
164+local fname = T and "\u{74}\u{69}\u{6d}\u{65}\u{2d}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{78}\u{74}" or "\u{74}\u{69}\u{6d}\u{65}\u{2e}\u{74}\u{78}\u{74}"
165165local lasttime
166−if (not usertests) then
166+if not usertests then
167167local f = io.open(fname)
168168if f then
169169lasttime=assert(tonumber(f:read("\u{61}")))
@@ -176,7 +176,7 @@ end
176176print("\u{63}\u{6c}\u{65}\u{61}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{6c}\u{6c}\u{21}\u{21}\u{21}\u{21}")
177177for n in pairs(_G)
178178do
179−if (not ({["\u{5f}\u{5f}\u{5f}\u{47}\u{6c}\u{6f}\u{62}"] = 0x1,["\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = 0x1})[n]) then
179+if not ({["\u{5f}\u{5f}\u{5f}\u{47}\u{6c}\u{6f}\u{62}"] = 0x1,["\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = 0x1})[n] then
180180_G[n]=undef
181181end
182182end
@@ -188,15 +188,15 @@ collectgarbage()
188188collectgarbage()
189189;
190190showmem()
191−local clocktime = (clock() - initclock)
191+local clocktime = clock() - initclock
192192walltime=difftime(time(),walltime)
193193print(format("\u{a}\u{a}\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{73}\u{20}\u{28}\u{77}\u{61}\u{6c}\u{6c}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{3a}\u{20}\u{25}\u{67}\u{73}\u{29}\u{a}",clocktime,walltime))
194−if (not usertests) then
195−lasttime=(lasttime or clocktime)
196−local diff = ((clocktime - lasttime) / lasttime)
194+if not usertests then
195+lasttime=lasttime or clocktime
196+local diff = (clocktime - lasttime) / lasttime
197197local tolerance = 0.05
198−if ((diff >= tolerance) or (diff <= (- tolerance))) then
199−warn(format("\u{23}\u{74}\u{69}\u{6d}\u{65}\u{20}\u{64}\u{69}\u{66}\u{66}\u{65}\u{72}\u{65}\u{6e}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{3a}\u{20}\u{25}\u{2b}\u{2e}\u{31}\u{66}\u{25}\u{25}",(diff * 0x64)))
198+if (diff >= tolerance or diff <= - tolerance) then
199+warn(format("\u{23}\u{74}\u{69}\u{6d}\u{65}\u{20}\u{64}\u{69}\u{66}\u{66}\u{65}\u{72}\u{65}\u{6e}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{3a}\u{20}\u{25}\u{2b}\u{2e}\u{31}\u{66}\u{25}\u{25}",diff * 0x64))
200200end
201201assert(open(fname,"\u{77}")):write(clocktime):close()
202202end
desk/res/lua/cycled/api.lua+308−308
@@ -1,4 +1,4 @@
1−if (T == nil) then
1+if T == nil then
22(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
33return
44end
@@ -7,42 +7,42 @@ local pack = table.pack
77local MEMERRMSG = "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}"
88local function tcheck
99(t1,t2)
10−assert((t1.n == ((t2.n or (# t2)) + 0x1)))
10+assert(t1.n == (t2.n or # t2) + 0x1)
1111for i = 0x2, t1.n
1212do
13−assert((t1[i] == t2[(i - 0x1)]))
13+assert(t1[i] == t2[i - 0x1])
1414end
1515end
1616local function checkerr
1717(msg,f, ...)
1818local stat,err = pcall(f,...)
19−assert((not (stat and string.find(err,msg))))
19+assert(not stat and string.find(err,msg))
2020end
2121print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{43}\u{20}\u{41}\u{50}\u{49}")
2222local a = T.testC("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
23−assert((a == debug.getregistry()))
24−assert((T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0xa))
25−assert((T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{35}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x1))
26−assert((T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x1))
27−assert((T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") < (- 0xa)))
23+assert(a == debug.getregistry())
24+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0xa)
25+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{35}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{2d}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x1)
26+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x1)
27+assert(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{62}\u{73}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{52}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") < - 0xa)
2828a=T.d2s(12458954321123.0)
29−assert((a == string.pack("\u{64}",12458954321123.0)))
30−assert((T.s2d(a) == 12458954321123.0))
29+assert(a == string.pack("\u{64}",12458954321123.0))
30+assert(T.s2d(a) == 12458954321123.0)
3131local a,b,c = T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
32−assert((((a == 0x2) and (b == 0x3)) and (not c)))
32+assert(a == 0x2 and b == 0x3 and not c)
3333local f = T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
3434a,b,c=f()
35−assert((((a == 0x2) and (b == 0x3)) and (not c)))
35+assert(a == 0x2 and b == 0x3 and not c)
3636a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
37−assert((((a == b) and (a == true)) and (c == false)))
37+assert(a == b and a == true and c == false)
3838a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{69}\u{6c}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{62}\u{6f}\u{6f}\u{6c}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
39−assert((((a == false) and (b == true)) and (c == false)))
39+assert(a == false and b == true and c == false)
4040a,b,c=T.testC("\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",0xa,0x14,0x1e,0x28)
41−assert((((a == 0x28) and (b == 0x5)) and (not c)))
41+assert(a == 0x28 and b == 0x5 and not c)
4242local t = pack(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",0x2,0x3))
4343tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3})
4444t=pack(T.testC("\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}",0x3,0x1,0x17))
45−assert((((t.n == 0xa) and (t[0x1] == nil)) and (t[0xa] == nil)))
45+assert(t.n == 0xa and t[0x1] == nil and t[0xa] == nil)
4646t=pack(T.testC("\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",0x2,0x3,0x4))
4747tcheck(t,{["\u{6e}"] = 0x2,0x2,0x4})
4848t=pack(T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",0x2,0x3))
@@ -61,7 +61,7 @@ t=pack(T.testC("\u{63}\u{6f}\u{70}\u{79}\u{20}\u{2d}\u{33}\u{20}\u{2d}\u{31}\u{3
6161tcheck(t,{["\u{6e}"] = 0x4,0x2,0x3,0x4,0x3})
6262do
6363local t = {0xa,0x14,0x1e,0x28,0x32,0x3c}
64−for i = (- 0x6), 0x6
64+for i = - 0x6, 0x6
6565do
6666local s = string.format("\u{72}\u{6f}\u{74}\u{61}\u{74}\u{65}\u{20}\u{32}\u{20}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{37}",i)
6767local t1 = pack(T.testC(s,0xa,0x14,0x1e,0x28,0x32,0x3c))
@@ -83,9 +83,9 @@ T.testC("\u{20}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}\u{43}\u{20}\u{22
8383do
8484local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{6f}\u{6c}\u{61}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{27}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{27}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{67}\u{69}\u{76}\u{65}\u{6e}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{65}\u{72}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}")
8585local msg,st = f(string.upper)
86−assert(((st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}") and (msg == "\u{42}\u{4f}\u{4c}\u{41}")))
86+assert(st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and msg == "\u{42}\u{4f}\u{4c}\u{41}")
8787local msg,st = f(string.len)
88−assert(((st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}") and (msg == 0x4)))
88+assert(st == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and msg == 0x4)
8989end
9090t=pack(T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{31}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{2d}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",0x2,0x3,0x4,0x5,0xa,0x28,0x5a))
9191tcheck(t,{["\u{6e}"] = 0x7,0x2,0x3,0x4,0x5,0xa,0x28,0x5a})
@@ -104,195 +104,195 @@ end
104104;
105105a[0x3e7]=0xa
106106local b = T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{2d}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{3b}\u{20}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",table.unpack,a)
107−assert((b == "\u{31}\u{30}"))
107+assert(b == "\u{31}\u{30}")
108108end
109109_G.AA=0xe
110110;
111111_G.BB="\u{61}\u{33}\u{31}"
112112local a = {T.testC("\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{41}\u{3b}\u{a}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{42}\u{3b}\u{a}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{42}\u{3b}\u{a}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{41}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}")}
113−assert(((((a[0x2] == 0xe) and (a[0x3] == "\u{61}\u{33}\u{31}")) and (a[0x4] == nil)) and (_G.AA == "\u{61}\u{33}\u{31}")))
113+assert(a[0x2] == 0xe and a[0x3] == "\u{61}\u{33}\u{31}" and a[0x4] == nil and _G.AA == "\u{61}\u{33}\u{31}")
114114_G.AA,_G.BB=nil
115−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5))
116−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == (- 0xa)))
117−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == (- 0xc8)))
118−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x3e8))
119−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5))
120−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == (- 0xa)))
121−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == (- 0xc8)))
122−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x3e8))
123−assert((T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x2,0x0) == (10.0 / 0x0)))
115+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5)
116+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 0xa)
117+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 0xc8)
118+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x3e8)
119+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0.5)
120+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2d}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 0xa)
121+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2a}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == - 0xc8)
122+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == 0x3e8)
123+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2f}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x2,0x0) == 10.0 / 0x0)
124124a=T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
125−assert(((a == 3.0) and (math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")))
125+assert(a == 3.0 and math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
126126a=T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
127−assert(((a == 0x3) and (math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")))
127+assert(a == 0x3 and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
128128a=assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
129−assert(((a == 0xd) and (math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")))
129+assert(a == 0xd and math.type(a) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
130130a=assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
131−assert(((a == 0xd) and (math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")))
131+assert(a == 0xd and math.type(a) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
132132a,b,c=T.testC("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5f}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
133−assert(((a == 0x1) and (b == (- (0xa and (c == "\u{35}"))))))
133+assert(a == 0x1 and b == - 0xa and c == "\u{35}")
134134local mt = {["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
135−return setmetatable({(a[0x1] + b[0x1])},mt)
135+return setmetatable({a[0x1] + b[0x1]},mt)
136136end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
137−return setmetatable({(a[0x1] % b[0x1])},mt)
137+return setmetatable({a[0x1] % b[0x1]},mt)
138138end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a)
139−return setmetatable({(a[0x1] * 0x2)},mt)
139+return setmetatable({a[0x1] * 0x2},mt)
140140end}
141−a,b,c=setmetatable({0x4},mt),setmetatable({0x8},mt),setmetatable({(- 0x3)},mt)
141+a,b,c=setmetatable({0x4},mt),setmetatable({0x8},mt),setmetatable({- 0x3},mt)
142142local x,y,z = T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",0xa,a,b)
143−assert((((x == 0xa) and (y[0x1] == 0xc)) and (z == nil)))
144−assert((T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a,c)[0x1] == (0x4 % (- 0x3))))
145−assert((T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5f}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b,a,c)[0x1] == (0x8 % (0x4 + ((- 0x3) * 0x2)))))
143+assert(x == 0xa and y[0x1] == 0xc and z == nil)
144+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a,c)[0x1] == 0x4 % - 0x3)
145+assert(T.testC("\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5f}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{2b}\u{3b}\u{20}\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b,a,c)[0x1] == 0x8 % (0x4 + (- 0x3) * 0x2))
146146checkerr("\u{64}\u{69}\u{76}\u{69}\u{64}\u{65}\u{20}\u{62}\u{79}\u{20}\u{7a}\u{65}\u{72}\u{6f}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{5c}",0xa,0x0)
147147checkerr("\u{25}\u{25}\u{30}",T.testC,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{20}\u{25}",0xa,0x0)
148148assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3,0x2,0x2,0x4,0x2,0x2))
149149assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3,0x2,0x2,0x4,0x2,0x2))
150−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{33}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3,0x2,0x2,0x4,0x2,0x2)))
150+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{33}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3,0x2,0x2,0x4,0x2,0x2))
151151assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{33}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3,0x2,0x2,0x4,0x2,0x2))
152152assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x4,0x2,0x2,0x3,0x2,0x2))
153−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{2d}\u{33}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{34}","\u{32}","\u{32}","\u{33}","\u{32}","\u{32}")))
154−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{33}","\u{32}","\u{32}","\u{34}","\u{32}","\u{32}")))
155−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{31}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
156−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{39}\u{20}\u{31}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
157−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{39}\u{20}\u{39}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
153+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{2d}\u{33}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{34}","\u{32}","\u{32}","\u{33}","\u{32}","\u{32}"))
154+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{33}","\u{32}","\u{32}","\u{34}","\u{32}","\u{32}"))
155+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{31}\u{20}\u{34}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
156+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{39}\u{20}\u{31}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
157+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{39}\u{20}\u{39}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
158158local b = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
159−return (a[0x1] < b[0x1])
159+return a[0x1] < b[0x1]
160160end}
161161local a1,a3,a4 = setmetatable({0x1},b),setmetatable({0x3},b),setmetatable({0x4},b)
162162assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a3,0x2,0x2,a4,0x2,0x2))
163163assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a3,0x2,0x2,a4,0x2,0x2))
164164assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a4,0x2,0x2,a3,0x2,0x2))
165165a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,0x2,0x2,a3,0x2,0x14)
166−assert(((a == 0x14) and (b == false)))
166+assert(a == 0x14 and b == false)
167167a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,0x2,0x2,a3,0x2,0x14)
168−assert(((a == 0x14) and (b == false)))
168+assert(a == 0x14 and b == false)
169169a,b=T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{35}\u{20}\u{2d}\u{36}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a1,0x2,0x2,a1,0x2,0x14)
170−assert(((a == 0x14) and (b == true)))
170+assert(a == 0x14 and b == true)
171171do
172172local mt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
173−return (a[0x1] < b[0x1])
173+return a[0x1] < b[0x1]
174174end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
175−return (a[0x1] <= b[0x1])
175+return a[0x1] <= b[0x1]
176176end,["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
177−return (a[0x1] == b[0x1])
177+return a[0x1] == b[0x1]
178178end}
179179local function O
180180(x)
181181return setmetatable({x},mt)
182182end
183183local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{54}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(0x1),O(0x2))
184−assert(((a == true) and (b == 0xa)))
184+assert(a == true and b == 0xa)
185185local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{4c}\u{45}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(0x3),O(0x2))
186−assert(((a == false) and (b == 0xa)))
186+assert(a == false and b == 0xa)
187187local a,b = T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",O(0x3),O(0x3))
188−assert(((a == true) and (b == 0xa)))
188+assert(a == true and b == 0xa)
189189end
190190local t = setmetatable({["\u{78}"] = 0x14},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (t)
191191return t.x
192192end})
193193a,b,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{4c}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{a}",t)
194−assert((((a == 0x14) and (b == 0x14)) and (c == 0x0)))
194+assert(a == 0x14 and b == 0x14 and c == 0x0)
195195t.x="\u{32}\u{33}\u{34}"
196196;
197197t[0x1]=0x14
198198a,b,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{4c}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{a}",t)
199−assert((((a == "\u{32}\u{33}\u{34}") and (b == 0xea)) and (c == 0x1)))
199+assert(a == "\u{32}\u{33}\u{34}" and b == 0xea and c == 0x1)
200200t.x=print
201201;
202202t[0x1]=0x14
203203a,c=T.testC("\u{20}\u{20}\u{20}\u{6c}\u{65}\u{6e}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}",t)
204−assert(((a == print) and (c == 0x1)))
204+assert(a == print and c == 0x1)
205205a=setmetatable({["\u{78}"] = "\u{75}"},{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
206−return (a.x .. ("\u{2e}" .. b.x))
206+return a.x .. "\u{2e}" .. b.x
207207end})
208208x,y=T.testC("\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{3b}\u{a}",a,a)
209−assert(((x == (a .. a)) and (y == 0x5)))
210−assert((T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == ""))
211−assert((T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{78}\u{75}\u{78}\u{75}") == "\u{78}\u{75}\u{78}\u{75}"))
209+assert(x == a .. a and y == 0x5)
210+assert(T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == "")
211+assert(T.testC("\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{78}\u{75}\u{78}\u{75}") == "\u{78}\u{75}\u{78}\u{75}")
212212local function B
213213(x)
214−return ((x and 0x1) or 0x0)
214+return x and 0x1 or 0x0
215215end
216216local function count
217217(x,n)
218−n=(n or 0x2)
218+n=n or 0x2
219219local prog = "\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{63}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{69}\u{6c}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{25}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{38}\u{a}\u{20}\u{20}"
220220prog=string.format(prog,n,n,n,n,n,n,n,n)
221221local a,b,c,d,e,f,g,h = T.testC(prog,x)
222−return (((((((B(a) + B(b)) + B(c)) + B(d)) + B(e)) + B(f)) + B(g)) + (0x64 * B(h)))
223−end
224−assert((count(0x3) == 0x2))
225−assert((count("\u{61}\u{6c}\u{6f}") == 0x1))
226−assert((count("\u{33}\u{32}") == 0x2))
227−assert((count({}) == 0x1))
228−assert((count(print) == 0x2))
229−assert((count(function ()
222+return B(a) + B(b) + B(c) + B(d) + B(e) + B(f) + B(g) + (0x64 * B(h))
223+end
224+assert(count(0x3) == 0x2)
225+assert(count("\u{61}\u{6c}\u{6f}") == 0x1)
226+assert(count("\u{33}\u{32}") == 0x2)
227+assert(count({}) == 0x1)
228+assert(count(print) == 0x2)
229+assert(count(function ()
230230
231−end) == 0x1))
232−assert((count(nil) == 0x1))
233−assert((count(io.stdin) == 0x1))
234−assert((count(nil,0xf) == 0x64))
231+end) == 0x1)
232+assert(count(nil) == 0x1)
233+assert(count(io.stdin) == 0x1)
234+assert(count(nil,0xf) == 0x64)
235235local function to
236236(s,x,n)
237−n=(n or 0x2)
237+n=n or 0x2
238238return T.testC(string.format("\u{25}\u{73}\u{20}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",s,n),x)
239239end
240240local null = T.pushuserdata(0x0)
241241local hfunc = string.gmatch("","")
242242assert(debug.getupvalue(hfunc,0x1))
243−assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",{}) == nil))
244−assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}","\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}"))
245−assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc) == "\u{31}\u{32}"))
246−assert((to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc,0x3) == nil))
247−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{}) == 0x0))
248−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{0x1,0x2,0x3}) == 0x3))
249−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}","\u{61}\u{6c}\u{6f}\u{0}\u{0}\u{61}") == 0x6))
250−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x0)) == 0x0))
251−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x65)) == 0x65))
252−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",0x7c) == 0x0))
253−assert((to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",true) == 0x0))
254−assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",{}) == 0x0))
255−assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{31}\u{32}") == 0xc))
256−assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{73}\u{32}") == 0x0))
257−assert((to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",0x1,0x14) == 0x0))
258−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",0xa) == null))
259−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",true) == null))
260−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",nil) == null))
261−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}","\u{61}\u{62}\u{63}") ~= null))
262−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa)) == to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa))))
243+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",{}) == nil)
244+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}","\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}")
245+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc) == "\u{31}\u{32}")
246+assert(to("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",0xc,0x3) == nil)
247+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{}) == 0x0)
248+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",{0x1,0x2,0x3}) == 0x3)
249+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}","\u{61}\u{6c}\u{6f}\u{0}\u{0}\u{61}") == 0x6)
250+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x0)) == 0x0)
251+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",T.newuserdata(0x65)) == 0x65)
252+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",0x7c) == 0x0)
253+assert(to("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}",true) == 0x0)
254+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",{}) == 0x0)
255+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{31}\u{32}") == 0xc)
256+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}","\u{73}\u{32}") == 0x0)
257+assert(to("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",0x1,0x14) == 0x0)
258+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",0xa) == null)
259+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",true) == null)
260+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",nil) == null)
261+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}","\u{61}\u{62}\u{63}") ~= null)
262+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa)) == to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",string.rep("\u{78}",0xa)))
263263do
264264local s1 = string.rep("\u{78}",0x12c)
265265local s2 = string.rep("\u{78}",0x12c)
266−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s1) ~= to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s2)))
266+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s1) ~= to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",s2))
267267end
268−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",T.pushuserdata(0x14)) ~= null))
269−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.read) ~= null))
270−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",hfunc) ~= null))
271−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",function ()
268+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",T.pushuserdata(0x14)) ~= null)
269+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.read) ~= null)
270+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",hfunc) ~= null)
271+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",function ()
272272
273−end) ~= null))
274−assert((to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.stdin) ~= null))
275−assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",0x14) == 0x0))
276−assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",T.pushuserdata(0xa)) == 0x0))
277−assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",io.read) ~= 0x0))
278−assert((to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",hfunc) ~= 0x0))
273+end) ~= null)
274+assert(to("\u{74}\u{6f}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{65}\u{72}",io.stdin) ~= null)
275+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",0x14) == 0x0)
276+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",T.pushuserdata(0xa)) == 0x0)
277+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",io.read) ~= 0x0)
278+assert(to("\u{66}\u{75}\u{6e}\u{63}\u{32}\u{6e}\u{75}\u{6d}",hfunc) ~= 0x0)
279279a=to("\u{74}\u{6f}\u{63}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}",math.deg)
280−assert(((a(0x3) == math.deg(0x3)) and (a == math.deg)))
280+assert(a(0x3) == math.deg(0x3) and a == math.deg)
281281print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{6e}\u{69}\u{63}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
282282do
283−assert((T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}") == "\u{68}\u{69}"))
284−assert((T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3b}","\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{20}\u{58}\u{58}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{61}\u{6c}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{33}") == "\u{68}\u{69}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}"))
285−assert((T.checkpanic("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{34}") == "\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{23}\u{34}\u{20}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{29}"))
286−T.totalmem((T.totalmem() + 0x2710))
287−assert((T.checkpanic("\u{6e}\u{65}\u{77}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{30}\u{30}\u{30}\u{30}") == MEMERRMSG))
283+assert(T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}") == "\u{68}\u{69}")
284+assert(T.checkpanic("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{69}\u{3b}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3b}","\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{20}\u{58}\u{58}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{61}\u{6c}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{33}") == "\u{68}\u{69}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{6d}\u{75}\u{6e}\u{64}\u{6f}")
285+assert(T.checkpanic("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{34}") == "\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{23}\u{34}\u{20}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{29}")
286+T.totalmem(T.totalmem() + 0x2710)
287+assert(T.checkpanic("\u{6e}\u{65}\u{77}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{30}\u{30}\u{30}\u{30}") == MEMERRMSG)
288288T.totalmem(0x0)
289−if (not _soft) then
289+if not _soft then
290290local msg = T.checkpanic("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{29}\u{20}\u{66}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{66}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}")
291291assert(string.find(msg,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
292292end
293−assert((T.checkpanic("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{59}\u{20}\u{3d}\u{20}\u{27}\u{68}\u{6f}\u{27}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{68}\u{69}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{a}\u{20}\u{20}","\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{6f}\u{72}\u{69}\u{67}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}") == "\u{68}\u{69}\u{68}\u{6f}"))
293+assert(T.checkpanic("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{59}\u{20}\u{3d}\u{20}\u{27}\u{68}\u{6f}\u{27}\u{3b}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{68}\u{69}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{a}\u{20}\u{20}","\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}\u{20}\u{6f}\u{72}\u{69}\u{67}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{a}\u{20}\u{20}") == "\u{68}\u{69}\u{68}\u{6f}")
294294end
295−if (not _soft) then
295+if not _soft then
296296print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
297297collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
298298checkerr("\u{58}\u{58}\u{58}\u{58}",T.testC,"\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{31}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}\u{20}\u{58}\u{58}\u{58}\u{58}")
@@ -302,42 +302,42 @@ checkerr("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",T.testC,s)
302302collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
303303print("\u{2b}")
304304end
305−local lim = ((_soft and 0x1f4) or 0x2ee0)
306−local prog = {("\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}" .. (((lim * 0x2) + 0x64) .. "\u{6d}\u{73}\u{67}")),"\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}"}
305+local lim = _soft and 0x1f4 or 0x2ee0
306+local prog = {"\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}" .. (lim * 0x2 + 0x64) .. "\u{6d}\u{73}\u{67}","\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}"}
307307for i = 0x1, lim
308308do
309−prog[(# (prog + 0x1))]=("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i)
310−prog[(# (prog + 0x1))]=("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. (i * 0xa))
309+prog[# prog + 0x1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i
310+prog[# prog + 0x1]="\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}" .. i * 0xa
311311end
312−prog[(# (prog + 0x1))]="\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{32}"
313−prog[(# (prog + 0x1))]=("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}" .. (- ((0x2 * lim) + 0x2)))
312+prog[# prog + 0x1]="\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{32}"
313+prog[# prog + 0x1]="\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}" .. - (0x2 * lim + 0x2)
314314for i = 0x1, lim
315315do
316−prog[(# (prog + 0x1))]=("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}" .. (- ((0x2 * ((lim - i) + 0x1)) + 0x1)))
316+prog[# prog + 0x1]="\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}" .. - (0x2 * (lim - i + 0x1) + 0x1)
317317end
318−prog[(# (prog + 0x1))]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}"
318+prog[# prog + 0x1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}"
319319prog=table.concat(prog,"\u{3b}")
320320local g,t = T.testC(prog)
321−assert((g == _G))
321+assert(g == _G)
322322for i = 0x1, lim
323323do
324−assert((t[i] == (i * 0xa)))
324+assert(t[i] == i * 0xa)
325325;
326326t[i]=undef
327327end
328−assert((next(t) == nil))
328+assert(next(t) == nil)
329329prog,g,t=nil
330330a=T.testC("\u{20}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{3b}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}","\u{58}\u{58}\u{3d}\u{31}\u{35}\u{30}",function (a)
331−assert((a == nil))
331+assert(a == nil)
332332;
333333return 0x3
334334end)
335−assert(((type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (XX == 0x96)))
335+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and XX == 0x96)
336336_G.XX=nil
337337local function check3
338338(p, ...)
339339local arg = {...}
340−assert((# (arg == 0x3)))
340+assert(# arg == 0x3)
341341assert(string.find(arg[0x3],p))
342342end
343343check3("\u{3a}\u{31}\u{3a}",T.testC("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{78}\u{3d}"))
@@ -349,9 +349,9 @@ local th = coroutine.create(function ()
349349
350350end)
351351local stt,err = pcall(T.testC,th,code)
352−assert((not (stt and string.find(err,msg))))
352+assert(not stt and string.find(err,msg))
353353end
354−if (not _soft) then
354+if not _soft then
355355collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
356356checkerrnopro("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{30}","\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{61}\u{6c}\u{6c}")
357357print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{75}\u{6e}\u{70}\u{72}\u{6f}\u{74}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
@@ -366,64 +366,64 @@ print("\u{2b}")
366366do
367367local a = {}
368368local a1 = T.testC("\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{70}\u{20}\u{32}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a,0x14)
369−assert((a == a1))
370−assert((a[T.pushuserdata(0x1)] == 0x14))
369+assert(a == a1)
370+assert(a[T.pushuserdata(0x1)] == 0x14)
371371local a1,res = T.testC("\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{70}\u{20}\u{2d}\u{31}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a)
372−assert(((a == a1) and (res == 0x14)))
372+assert(a == a1 and res == 0x14)
373373end
374374do
375375local a = {}
376376a[a]=0xa
377377local prog = "\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
378378local res = {T.testC(prog,a)}
379−assert((# (((res == 0x2) and (res[0x1] == prog)) and (res[0x2] == 0xa))))
379+assert(# res == 0x2 and res[0x1] == prog and res[0x2] == 0xa)
380380local prog = "\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
381381local res = {T.testC(prog,a,0x14)}
382−assert((a[a] == 0x14))
383−assert((# ((res == 0x1) and (res[0x1] == prog))))
382+assert(a[a] == 0x14)
383+assert(# res == 0x1 and res[0x1] == prog)
384384a[a]=0xa
385385local prog = "\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
386386local res = {T.testC(prog,a)}
387−assert((# (((res == 0x2) and (res[0x1] == prog)) and (res[0x2] == 0xa))))
387+assert(# res == 0x2 and res[0x1] == prog and res[0x2] == 0xa)
388388local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
389389local res = {T.testC(prog,a,0x14)}
390−assert((a[a] == 0x14))
391−assert((# ((res == 0x1) and (res[0x1] == prog))))
390+assert(a[a] == 0x14)
391+assert(# res == 0x1 and res[0x1] == prog)
392392local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
393393local res = {T.testC(prog,0x1e,a)}
394−assert((a[0x1e] == a))
395−assert((# ((res == 0x1) and (res[0x1] == prog))))
394+assert(a[0x1e] == a)
395+assert(# res == 0x1 and res[0x1] == prog)
396396local prog = "\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
397397local res = {T.testC(prog,0x28,a)}
398−assert((a[0x28] == a))
399−assert((# ((res == 0x1) and (res[0x1] == prog))))
398+assert(a[0x28] == a)
399+assert(# res == 0x1 and res[0x1] == prog)
400400local prog = "\u{72}\u{61}\u{77}\u{73}\u{65}\u{74}\u{69}\u{20}\u{2d}\u{31}\u{20}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
401401local res = {T.testC(prog,a)}
402−assert((a[0x64] == a))
403−assert((# ((res == 0x1) and (res[0x1] == prog))))
402+assert(a[0x64] == a)
403+assert(# res == 0x1 and res[0x1] == prog)
404404local prog = "\u{73}\u{65}\u{74}\u{69}\u{20}\u{2d}\u{31}\u{20}\u{32}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}"
405405local res = {T.testC(prog,a)}
406−assert((a[0xc8] == a))
407−assert((# ((res == 0x1) and (res[0x1] == prog))))
406+assert(a[0xc8] == a)
407+assert(# res == 0x1 and res[0x1] == prog)
408408end
409409a={["\u{78}"] = 0x0,["\u{79}"] = 0xc}
410410x,y=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{34}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a,0x3,"\u{79}",0x4,"\u{78}")
411−assert(((x == 0x0) and (y == 0xc)))
411+assert(x == 0x0 and y == 0xc)
412412T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}",a,0x3,0x4,"\u{78}",0xf)
413−assert((a.x == 0xf))
413+assert(a.x == 0xf)
414414a[a]=print
415415x=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a)
416−assert((x == print))
416+assert(x == print)
417417T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",a,"\u{78}")
418−assert((a[a] == "\u{78}"))
418+assert(a[a] == "\u{78}")
419419b=setmetatable({["\u{70}"] = a},{})
420420getmetatable(b).__index=function (t,i)
421421return t.p[i]
422422end
423423local k,x = T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{33}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",0x4,b,0x14,0x23,"\u{78}")
424−assert(((x == 0xf) and (k == 0x23)))
424+assert(x == 0xf and k == 0x23)
425425k=T.testC("\u{67}\u{65}\u{74}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{20}\u{79}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b)
426−assert((k == 0xc))
426+assert(k == 0xc)
427427getmetatable(b).__index=function (t,i)
428428return a[i]
429429end
@@ -431,20 +431,20 @@ getmetatable(b).__newindex=function (t,i,v)
431431a[i]=v
432432end
433433y=T.testC("\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{32}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x2,0x3,0x4,"\u{79}",b)
434−assert((y == 0xc))
434+assert(y == 0xc)
435435k=T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{35}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b,0x3,0x4,"\u{78}",0x10)
436−assert(((a.x == 0x10) and (k == 0x4)))
436+assert(a.x == 0x10 and k == 0x4)
437437a[b]="\u{78}\u{75}\u{78}\u{75}"
438438y=T.testC("\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}\u{2c}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",b)
439−assert((y == "\u{78}\u{75}\u{78}\u{75}"))
439+assert(y == "\u{78}\u{75}\u{78}\u{75}")
440440T.testC("\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",b,0x13)
441−assert((a[b] == 0x13))
441+assert(a[b] == 0x13)
442442do
443443local t = {["\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"] = 0x20}
444444local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{20}\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{20}\u{20}",t)
445−assert((a == 0x20))
445+assert(a == 0x20)
446446local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{33}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{5f}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{20}\u{20}")
447−assert((_012345678901234567890123456789012345678901234567890123456789 == 0x21))
447+assert(_012345678901234567890123456789012345678901234567890123456789 == 0x21)
448448_012345678901234567890123456789012345678901234567890123456789=nil
449449end
450450a={}
@@ -458,33 +458,33 @@ tcheck(t,{["\u{6e}"] = 0x1,a})
458458do
459459local A = T.testC("\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
460460t,b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
461−assert((((b == 0xa) and (c == 0x14)) and (type(t) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")))
461+assert(b == 0xa and c == 0x14 and type(t) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
462462a,b=A("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{55}\u{33}\u{3b}\u{20}\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{55}\u{34}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
463−assert(((a == nil) and (b == 0x0)))
463+assert(a == nil and b == 0x0)
464464A("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{31}")
465465b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
466−assert(((b == 0x64) and (c == 0xc8)))
466+assert(b == 0x64 and c == 0xc8)
467467A("\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{20}\u{55}\u{31}",{["\u{78}"] = 0x1},{["\u{78}"] = 0x2})
468468b,c=A("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}")
469−assert(((b.x == 0x1) and (c.x == 0x2)))
469+assert(b.x == 0x1 and c.x == 0x2)
470470T.checkmemory()
471471end
472−assert((T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true))
473−assert((T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true))
474−assert((T.testC("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == nil))
472+assert(T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true)
473+assert(T.testC("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{31}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == true)
474+assert(T.testC("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}") == nil)
475475local f = T.testC("\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
476−assert((((T.upvalue(f,0x1) == 0xa) and (T.upvalue(f,0x2) == 0x14)) and (T.upvalue(f,0x3) == nil)))
476+assert(T.upvalue(f,0x1) == 0xa and T.upvalue(f,0x2) == 0x14 and T.upvalue(f,0x3) == nil)
477477T.upvalue(f,0x2,"\u{78}\u{75}\u{78}\u{75}")
478−assert((T.upvalue(f,0x2) == "\u{78}\u{75}\u{78}\u{75}"))
478+assert(T.upvalue(f,0x2) == "\u{78}\u{75}\u{78}\u{75}")
479479do
480−local A = ("\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{33}\u{30}\u{30}\u{20}\u{6d}\u{73}\u{67}\u{3b}" .. (string.rep("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}",0xff) .. "\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{35}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
480+local A = "\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{33}\u{30}\u{30}\u{20}\u{6d}\u{73}\u{67}\u{3b}" .. string.rep("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}",0xff) .. "\u{70}\u{75}\u{73}\u{68}\u{63}\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{32}\u{35}\u{35}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"
481481A=T.testC(A)
482482for i = 0x1, 0xff
483483do
484−assert((A(("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"):format(i)) == 0xa))
484+assert(A(("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{25}\u{64}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"):format(i)) == 0xa)
485485end
486486assert(A("\u{69}\u{73}\u{6e}\u{75}\u{6c}\u{6c}\u{20}\u{55}\u{32}\u{35}\u{36}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
487−assert((not A("\u{69}\u{73}\u{6e}\u{69}\u{6c}\u{20}\u{55}\u{32}\u{35}\u{36}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
487+assert(not A("\u{69}\u{73}\u{6e}\u{69}\u{6c}\u{20}\u{55}\u{32}\u{35}\u{36}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
488488end
489489checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}",debug.setuservalue,0x3,{})
490490checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{69}\u{6c}",debug.setuservalue,nil,{})
@@ -493,13 +493,13 @@ local b = T.newuserdata(0x0,0xa)
493493for i = 0x1, 0xa
494494do
495495local v,p = debug.getuservalue(b,i)
496−assert(((v == nil) and p))
496+assert(v == nil and p)
497497end
498498do
499−local v,p = debug.getuservalue(b,(- 0x2))
500−assert(((v == nil) and (not p)))
499+local v,p = debug.getuservalue(b,- 0x2)
500+assert(v == nil and not p)
501501local v,p = debug.getuservalue(b,0xb)
502−assert(((v == nil) and (not p)))
502+assert(v == nil and not p)
503503end
504504local t = {true,false,4.56,print,{},b,"\u{58}\u{59}\u{5a}"}
505505for k,v in ipairs(t)
@@ -509,24 +509,24 @@ end
509509for k,v in ipairs(t)
510510do
511511local v1,p = debug.getuservalue(b,k)
512−assert(((v1 == v) and p))
512+assert(v1 == v and p)
513513end
514−assert((not debug.getuservalue(0x4)))
514+assert(not debug.getuservalue(0x4))
515515debug.setuservalue(b,function ()
516516return 0xa
517517end,0xa)
518518collectgarbage()
519−assert((debug.getuservalue(b,0xa)() == 0xa))
519+assert(debug.getuservalue(b,0xa)() == 0xa)
520520debug.setuservalue(b,0x86)
521521collectgarbage()
522−assert((debug.getuservalue(b) == 0x86))
522+assert(debug.getuservalue(b) == 0x86)
523523do
524524local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
525525T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
526−assert((T.gccolor(b) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}"))
526+assert(T.gccolor(b) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")
527527debug.setuservalue(b,{["\u{78}"] = 0x64})
528528T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
529−assert((debug.getuservalue(b).x == 0x64))
529+assert(debug.getuservalue(b).x == 0x64)
530530collectgarbage(oldmode)
531531end
532532for i = 0x1, 0x3e8
@@ -540,21 +540,21 @@ for i = 0x1, 0x3e8
540540do
541541b=debug.getuservalue(b)
542542end
543−assert((debug.getuservalue(b).x == 0x64))
543+assert(debug.getuservalue(b).x == 0x64)
544544b=nil
545545local i = T.ref({})
546546T.unref(i)
547−assert((T.ref({}) == i))
547+assert(T.ref({}) == i)
548548local Arr = {}
549549local Lim = 0x64
550550for i = 0x1, Lim
551551do
552552Arr[i]=T.ref({})
553553end
554−assert((T.ref(nil) == (- (0x1 and (T.getref((- 0x1)) == nil)))))
555−T.unref((- 0x1))
554+assert(T.ref(nil) == - 0x1 and T.getref(- 0x1) == nil)
555+T.unref(- 0x1)
556556;
557−T.unref((- 0x1))
557+T.unref(- 0x1)
558558for i = 0x1, Lim
559559do
560560T.unref(Arr[i])
@@ -577,11 +577,11 @@ for i = 0x1, Lim, 0x2
577577do
578578T.unref(Arr[i])
579579end
580−assert((type(T.getref(Arr[0x2])) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
581−assert((T.getref((- 0x1)) == nil))
580+assert(type(T.getref(Arr[0x2])) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
581+assert(T.getref(- 0x1) == nil)
582582a=T.ref({})
583583collectgarbage()
584−assert((type(T.getref(a)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
584+assert(type(T.getref(a)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
585585local tt = {}
586586local cl = {["\u{6e}"] = 0x0}
587587A=nil
@@ -593,13 +593,13 @@ local udval = T.udataval(x)
593593table.insert(cl,udval)
594594local d = T.newuserdata(0x64)
595595d=nil
596−assert((debug.getmetatable(x).__gc == F))
596+assert(debug.getmetatable(x).__gc == F)
597597assert(load("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{7b}\u{7d}\u{29}"))()
598−assert((not collectgarbage()))
598+assert(not collectgarbage())
599599local dummy = {}
600−if (A ~= nil) then
601−assert((type(A) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"))
602−assert((T.udataval(A) == B))
600+if A ~= nil then
601+assert(type(A) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
602+assert(T.udataval(A) == B)
603603debug.getmetatable(A)
604604end
605605A=x
@@ -615,21 +615,21 @@ collectgarbage()
615615local x = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
616616;
617617local a = T.newuserdata(0x1389)
618−assert((T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a) == 0x1389))
619−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0x4)))
618+assert(T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",a) == 0x1389)
619+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0x4)
620620a=nil
621621collectgarbage()
622622;
623−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
623+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
624624x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
625625collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
626626for i = 0x1, 0x3e8
627627do
628628T.newuserdata(0x0)
629629end
630−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > (x + 0xa)))
630+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > x + 0xa)
631631collectgarbage()
632−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
632+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
633633collectgarbage()
634634x=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
635635collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
@@ -640,11 +640,11 @@ for i = 0x1, 0x3e8
640640do
641641debug.setmetatable(T.newuserdata(0x0),a)
642642end
643−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0xa)))
643+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0xa)
644644collectgarbage()
645−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (x + 0xa)))
645+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= x + 0xa)
646646collectgarbage()
647−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (x + 0x1)))
647+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= x + 0x1)
648648collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
649649end
650650collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
@@ -667,7 +667,7 @@ x=T.newuserdata(0x4)
667667y=T.newuserdata(0x0)
668668checkerr("\u{46}\u{49}\u{4c}\u{45}\u{25}\u{2a}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}",io.input,a)
669669checkerr("\u{46}\u{49}\u{4c}\u{45}\u{25}\u{2a}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{2c}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}",io.input,x)
670−assert(((debug.getmetatable(x) == nil) and (debug.getmetatable(y) == nil)))
670+assert(debug.getmetatable(x) == nil and debug.getmetatable(y) == nil)
671671local d = T.ref(a)
672672;
673673local e = T.ref(b)
@@ -675,7 +675,7 @@ local e = T.ref(b)
675675local f = T.ref(c)
676676;
677677t={T.getref(d),T.getref(e),T.getref(f)}
678−assert((((t[0x1] == a) and (t[0x2] == b)) and (t[0x3] == c)))
678+assert(t[0x1] == a and t[0x2] == b and t[0x3] == c)
679679t=nil
680680;
681681a=nil
@@ -686,9 +686,9 @@ T.unref(e)
686686;
687687T.unref(f)
688688collectgarbage()
689−assert((# ((cl == 0x1) and (cl[0x1] == nc))))
689+assert(# cl == 0x1 and cl[0x1] == nc)
690690x=T.getref(d)
691−assert(((type(x) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}") and (debug.getmetatable(x) == tt)))
691+assert(type(x) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and debug.getmetatable(x) == tt)
692692x=nil
693693tt.b=b
694694tt=nil
@@ -700,11 +700,11 @@ local n5 = T.newuserdata(0x0)
700700debug.setmetatable(n5,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
701701n5=T.udataval(n5)
702702collectgarbage()
703−assert((# (cl == 0x4)))
704−assert((((cl[0x2] == n5) and (cl[0x3] == nb)) and (cl[0x4] == na)))
703+assert(# cl == 0x4)
704+assert(cl[0x2] == n5 and cl[0x3] == nb and cl[0x4] == na)
705705collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
706706a,na={},{}
707−for i = 0x1e, 0x1, (- 0x1)
707+for i = 0x1e, 0x1, - 0x1
708708do
709709a[i]=T.newuserdata(0x0)
710710debug.setmetatable(a[i],{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
@@ -714,10 +714,10 @@ cl={}
714714a=nil
715715;
716716collectgarbage()
717−assert((# (cl == 0x1e)))
717+assert(# cl == 0x1e)
718718for i = 0x1, 0x1e
719719do
720−assert((cl[i] == na[i]))
720+assert(cl[i] == na[i])
721721end
722722na=nil
723723for i = 0x2, Lim, 0x2
@@ -727,28 +727,28 @@ end
727727x=T.newuserdata(0x29)
728728;
729729debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = F})
730−assert((T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == 0x29))
730+assert(T.testC("\u{6f}\u{62}\u{6a}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == 0x29)
731731cl={}
732732a={[x] = 0x1}
733733x=T.udataval(x)
734734collectgarbage()
735−assert((# (cl == 0x0)))
735+assert(# cl == 0x0)
736736for n in pairs(a)
737737do
738738a[n]=undef
739739end
740740collectgarbage()
741−assert((# ((cl == 0x1) and (cl[0x1] == x))))
741+assert(# cl == 0x1 and cl[0x1] == x)
742742assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{34}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",print,0x1,print,0x14))
743743assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{33}\u{20}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}","\u{61}\u{6c}\u{6f}","\u{61}\u{6c}\u{6f}"))
744744assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",nil,nil))
745−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",{},{})))
746−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
747−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3)))
745+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",{},{}))
746+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
747+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",0x3))
748748do
749749local map = {}
750750local t = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
751−return (map[a] == map[b])
751+return map[a] == map[b]
752752end}
753753local function f
754754(x)
@@ -757,12 +757,12 @@ debug.setmetatable(u,t)
757757map[u]=x
758758return u
759759end
760−assert((f(0xa) == f(0xa)))
761−assert((f(0xa) ~= f(0xb)))
760+assert(f(0xa) == f(0xa))
761+assert(f(0xa) ~= f(0xb))
762762assert(T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",f(0xa),f(0xa)))
763−assert((not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",f(0xa),f(0x14))))
763+assert(not T.testC("\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{65}\u{20}\u{45}\u{51}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",f(0xa),f(0x14)))
764764t.__eq=nil
765−assert((f(0xa) ~= f(0xa)))
765+assert(f(0xa) ~= f(0xa))
766766end
767767print("\u{2b}")
768768_G.TT={}
@@ -774,11 +774,11 @@ a=0x1
774774a=0x1
775775debug.sethook()
776776local t = _G.TT
777−assert((t[0x1] == "\u{6c}\u{69}\u{6e}\u{65}"))
777+assert(t[0x1] == "\u{6c}\u{69}\u{6e}\u{65}")
778778local line = t[0x2]
779−assert(((t[0x3] == "\u{6c}\u{69}\u{6e}\u{65}") and (t[0x4] == (line + 0x1))))
780−assert(((t[0x5] == "\u{6c}\u{69}\u{6e}\u{65}") and (t[0x6] == (line + 0x2))))
781−assert((t[0x7] == nil))
779+assert(t[0x3] == "\u{6c}\u{69}\u{6e}\u{65}" and t[0x4] == line + 0x1)
780+assert(t[0x5] == "\u{6c}\u{69}\u{6e}\u{65}" and t[0x6] == line + 0x2)
781+assert(t[0x7] == nil)
782782_G.TT=nil
783783do
784784warn("\u{40}\u{6f}\u{66}\u{66}")
@@ -803,7 +803,7 @@ end
803803a=nil
804804_G.A=0x0
805805collectgarbage()
806−assert((A == 0xa))
806+assert(A == 0xa)
807807collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
808808warn("\u{40}\u{6f}\u{6e}")
809809end
@@ -818,11 +818,11 @@ a[i]=T.pushuserdata(i)
818818end
819819for i = 0x0, lim
820820do
821−assert((T.udataval(a[i]) == i))
821+assert(T.udataval(a[i]) == i)
822822end
823823for i = 0x0, lim
824824do
825−assert((T.pushuserdata(i) == a[i]))
825+assert(T.pushuserdata(i) == a[i])
826826end
827827for i = 0x0, lim
828828do
@@ -832,31 +832,31 @@ for i = 0x0, lim
832832do
833833a[T.pushuserdata(i)]=i
834834end
835−assert((type(tostring(a[0x1])) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
835+assert(type(tostring(a[0x1])) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
836836end
837837T.closestate(T.newstate())
838838;
839839L1=T.newstate()
840840assert(L1)
841−assert((T.doremote(L1,"\u{58}\u{3d}\u{27}\u{61}\u{27}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{27}") == "\u{61}"))
842−assert((# (pack(T.doremote(L1,"\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{33}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{66}\u{28}\u{29}")) == 0x0)))
841+assert(T.doremote(L1,"\u{58}\u{3d}\u{27}\u{61}\u{27}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{27}") == "\u{61}")
842+assert(# pack(T.doremote(L1,"\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{33}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{66}\u{28}\u{29}")) == 0x0)
843843a,b=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{28}\u{29}")
844−assert(((a == "\u{61}\u{6c}\u{6f}") and (b == "\u{33}")))
844+assert(a == "\u{61}\u{6c}\u{6f}" and b == "\u{33}")
845845T.doremote(L1,"\u{5f}\u{45}\u{52}\u{52}\u{4f}\u{52}\u{4d}\u{45}\u{53}\u{53}\u{41}\u{47}\u{45}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}")
846846a,b,c=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}")
847−assert(((a == nil) and (c == 0x2)))
847+assert(a == nil and c == 0x2)
848848a,b,c=T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2b}")
849−assert((((a == nil) and (c == 0x3)) and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")))
849+assert(a == nil and c == 0x3 and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
850850T.loadlib(L1)
851851a,b,c=T.doremote(L1,"\u{20}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{5f}\u{47}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{5f}\u{47}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{28}\u{22}\u{5f}\u{47}\u{22}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{61}\u{29}\u{a}\u{20}\u{20}\u{69}\u{6f}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{69}\u{6f}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{69}\u{6f}\u{2e}\u{72}\u{65}\u{61}\u{64}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{28}\u{22}\u{69}\u{6f}\u{22}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{69}\u{6f}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{6d}\u{61}\u{74}\u{68}\u{27}\u{3b}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{79}\u{70}\u{65}\u{28}\u{61}\u{2e}\u{73}\u{69}\u{6e}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{22}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{27}\u{6f}\u{6b}\u{69}\u{6e}\u{61}\u{6d}\u{61}\u{27}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{32}\u{29}\u{a}")
852−assert((a == "\u{6f}\u{6b}"))
852+assert(a == "\u{6f}\u{6b}")
853853T.closestate(L1)
854854;
855855L1=T.newstate()
856856T.loadlib(L1)
857857T.doremote(L1,"\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")
858858T.testC(L1,"\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{22}\u{61}\u{22}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{78}\u{22}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{33}")
859−assert((T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2e}\u{78}") == "\u{31}"))
859+assert(T.doremote(L1,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2e}\u{78}") == "\u{31}")
860860T.closestate(L1)
861861L1=nil
862862print("\u{2b}")
@@ -866,35 +866,35 @@ local openresource = {}
866866local function newresource
867867()
868868local x = setmetatable({0xa},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (y)
869−assert((openresource[(# openresource)] == y))
870−openresource[(# openresource)]=nil
871−y[0x1]=(y[0x1] + 0x1)
869+assert(openresource[# openresource] == y)
870+openresource[# openresource]=nil
871+y[0x1]=y[0x1] + 0x1
872872end})
873−openresource[(# (openresource + 0x1))]=x
873+openresource[# openresource + 0x1]=x
874874return x
875875end
876876local a,b = T.testC("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{32}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{28}\u{77}\u{69}\u{6c}\u{6c}\u{20}\u{62}\u{65}\u{20}\u{69}\u{67}\u{6e}\u{6f}\u{72}\u{65}\u{64}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}",newresource)
877−assert(((a[0x1] == 0xb) and (b == nil)))
878−assert((# (openresource == 0x0)))
877+assert(a[0x1] == 0xb and b == nil)
878+assert(# openresource == 0x0)
879879local a = {T.testC("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}",newresource)}
880−assert(((type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (a[0x2][0x1] == 0xb)))
881−assert((# (openresource == 0x0)))
880+assert(type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and a[0x2][0x1] == 0xb)
881+assert(# openresource == 0x0)
882882local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{69}\u{73}\u{20}\u{74}\u{68}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{a}\u{20}\u{20}"),newresource)
883−assert(((a == false) and (b[0x1] == 0xb)))
884−assert((# (openresource == 0x0)))
883+assert(a == false and b[0x1] == 0xb)
884+assert(# openresource == 0x0)
885885local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{28}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{72}\u{61}\u{69}\u{73}\u{65}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{62}\u{6f}\u{72}\u{74}\u{20}\u{20}\u{23}\u{20}\u{77}\u{69}\u{6c}\u{6c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{65}\u{78}\u{65}\u{63}\u{75}\u{74}\u{65}\u{64}\u{a}\u{20}\u{20}"))
886−assert(((a == false) and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")))
886+assert(a == false and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))
887887local function check
888888(n)
889−assert((# (openresource == n)))
889+assert(# openresource == n)
890890end
891891_ENV.xxx=true
892892local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{2d}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{6e}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{34}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{22}\u{78}\u{78}\u{78}\u{22}\u{20}\u{20}\u{23}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{6f}\u{70}\u{2e}\u{20}\u{65}\u{72}\u{61}\u{73}\u{65}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{6c}\u{6f}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{a}\u{20}\u{20}",newresource,check)
893−assert(((a == 0x3) and (_ENV.xxx == nil)))
893+assert(a == 0x3 and _ENV.xxx == nil)
894894local a = T.testC("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{4e}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{3b}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{20}\u{23}\u{20}\u{6d}\u{61}\u{72}\u{6b}\u{20}\u{69}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{74}\u{77}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{6e}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{52}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{33}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{68}\u{65}\u{72}\u{65}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{62}\u{65}\u{20}\u{6e}\u{6f}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{6f}\u{75}\u{72}\u{63}\u{65}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{31}\u{20}\u{30}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{3a}\u{20}\u{53}\u{2c}\u{20}\u{4e}\u{52}\u{2c}\u{20}\u{43}\u{48}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{a}\u{20}\u{20}",newresource,check)
895−assert((a == 0x3))
895+assert(a == 0x3)
896896local a,b = pcall(T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{33}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{2d}\u{31}\u{a}\u{20}\u{20}"))
897−assert((not (a and string.find(b,"\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))))
897+assert(not a and string.find(b,"\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
898898end
899899print("\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{2d}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
900900checkerr("\u{62}\u{6c}\u{6f}\u{63}\u{6b}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{62}\u{69}\u{67}",T.newuserdata,math.maxinteger)
@@ -916,15 +916,15 @@ collectgarbage()
916916T.totalmem(M)
917917a,b=T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",f)
918918T.totalmem(0x0)
919−if (a and (b == "\u{4f}\u{4b}")) then
919+if a and b == "\u{4f}\u{4b}" then
920920break
921921end
922−if ((b ~= "\u{4f}\u{4b}") and (b ~= MEMERRMSG)) then
922+if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
923923error(a,0x0)
924924end
925−M=(M + 0x7)
925+M=M + 0x7
926926end
927−print(string.format("\u{6d}\u{69}\u{6e}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{25}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",s,(M - oldM)))
927+print(string.format("\u{6d}\u{69}\u{6e}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{25}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",s,M - oldM))
928928return a
929929end
930930local function testalloc
@@ -939,13 +939,13 @@ collectgarbage()
939939T.alloccount(M)
940940a,b=T.testC("\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",f)
941941T.alloccount()
942−if (a and (b == "\u{4f}\u{4b}")) then
942+if a and b == "\u{4f}\u{4b}" then
943943break
944944end
945−if ((b ~= "\u{4f}\u{4b}") and (b ~= MEMERRMSG)) then
945+if b ~= "\u{4f}\u{4b}" and b ~= MEMERRMSG then
946946error(a,0x0)
947947end
948−M=(M + 0x1)
948+M=M + 0x1
949949end
950950print(string.format("\u{6d}\u{69}\u{6e}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{25}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{20}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}",s,M))
951951return a
@@ -958,7 +958,7 @@ end
958958b=testamem("\u{64}\u{6f}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{6f}\u{74}\u{68}\u{69}\u{6e}\u{67}",function ()
959959return 0xa
960960end)
961−assert((b == 0xa))
961+assert(b == 0xa)
962962testamem("\u{73}\u{74}\u{61}\u{74}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
963963local st = T.newstate()
964964if st then
@@ -970,7 +970,7 @@ testamem("\u{65}\u{6d}\u{70}\u{74}\u{79}\u{2d}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2
970970return {}
971971end)
972972testamem("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
973−return ("\u{58}\u{58}\u{58}" .. "\u{59}\u{59}\u{59}")
973+return "\u{58}\u{58}\u{58}" .. "\u{59}\u{59}\u{59}"
974974end)
975975testamem("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
976976return coroutine.create(print)
@@ -987,14 +987,14 @@ end
987987return flag
988988end)
989989local mt = T.testC("\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
990−assert(((type(mt) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") and (coroutine.running() == mt)))
990+assert(type(mt) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and coroutine.running() == mt)
991991local function expand
992992(n,s)
993−if (n == 0x0) then
993+if n == 0x0 then
994994return ""
995995end
996996local e = string.rep("\u{3d}",n)
997−return string.format("\u{54}\u{2e}\u{64}\u{6f}\u{6f}\u{6e}\u{6e}\u{65}\u{77}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{28}\u{5b}\u{25}\u{73}\u{5b}\u{20}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{3b}\u{20}\u{25}\u{73}\u{5d}\u{25}\u{73}\u{5d}\u{29}\u{a}",e,s,expand((n - 0x1),s),e)
997+return string.format("\u{54}\u{2e}\u{64}\u{6f}\u{6f}\u{6e}\u{6e}\u{65}\u{77}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{28}\u{5b}\u{25}\u{73}\u{5b}\u{20}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{3b}\u{20}\u{25}\u{73}\u{5d}\u{25}\u{73}\u{5d}\u{29}\u{a}",e,s,expand(n - 0x1,s),e)
998998end
999999G=0x0
10001000;
@@ -1002,13 +1002,13 @@ collectgarbage()
10021002;
10031003a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
10041004load(expand(0x14,"\u{47}\u{3d}\u{47}\u{2b}\u{31}"))()
1005−assert((G == 0x14))
1005+assert(G == 0x14)
10061006;
10071007collectgarbage()
10081008;
10091009G=nil
10101010testamem("\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{64}\u{65}\u{20}\u{6f}\u{6e}\u{20}\u{6e}\u{65}\u{77}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}",function ()
1011−return (T.doonnewstack("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{31}") == 0x0)
1011+return T.doonnewstack("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{31}") == 0x0
10121012end)
10131013testamem("\u{6c}\u{6f}\u{61}\u{64}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",function ()
10141014return load("\u{78}\u{3d}\u{31}")
@@ -1021,30 +1021,30 @@ f:write(testprog)
10211021f:close()
10221022testamem("\u{64}\u{6f}\u{66}\u{69}\u{6c}\u{65}",function ()
10231023local a = loadfile(t)
1024−return (a and a())
1024+return a and a()
10251025end)
10261026assert(os.remove(t))
1027−assert((_G.AA == "\u{61}\u{61}\u{61}\u{78}"))
1027+assert(_G.AA == "\u{61}\u{61}\u{61}\u{78}")
10281028testamem("\u{67}\u{73}\u{75}\u{62}",function ()
10291029local a,b = string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{61}\u{29}",function (x)
1030−return (x .. "\u{62}")
1030+return x .. "\u{62}"
10311031end)
10321032return (a == "\u{61}\u{62}\u{6c}\u{6f}\u{20}\u{61}\u{62}\u{6c}\u{6f}")
10331033end)
10341034testamem("\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{75}\u{6e}\u{64}\u{75}\u{6d}\u{70}",function ()
10351035local a = load(testprog)
1036−local b = (a and string.dump(a))
1037−a=(b and load(b))
1038−return (a and a())
1036+local b = a and string.dump(a)
1037+a=b and load(b)
1038+return a and a()
10391039end)
10401040_G.AA=nil
10411041local t = os.tmpname()
10421042testamem("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
10431043local f = assert(io.open(t,"\u{77}"))
1044−assert((not io.open("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}")))
1044+assert(not io.open("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}"))
10451045io.close(f)
10461046;
1047−return (not loadfile("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}"))
1047+return not loadfile("\u{6e}\u{6f}\u{6d}\u{65}\u{6e}\u{61}\u{6f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{65}")
10481048end)
10491049assert(os.remove(t))
10501050testamem("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
@@ -1053,20 +1053,20 @@ for i = 0x1, lim
10531053do
10541054a[i]=i
10551055;
1056−a[(i .. "\u{61}")]={}
1056+a[i .. "\u{61}"]={}
10571057end
1058−return ((type(a[(lim .. "\u{61}")]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and (a[lim] == lim))
1058+return (type(a[lim .. "\u{61}"]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and a[lim] == lim)
10591059end)
10601060testamem("\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{6f}\u{72}\u{73}",function ()
10611061local a = {0xa,0x14,0x1e,0x28,0x32,["\u{61}"] = 0x1,["\u{62}"] = 0x2,["\u{63}"] = 0x3,["\u{64}"] = 0x4,["\u{65}"] = 0x5}
1062−return ((type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and (a.e == 0x5))
1062+return (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and a.e == 0x5)
10631063end)
10641064local a = 0x1
10651065local close = nil
10661066testamem("\u{63}\u{6c}\u{6f}\u{73}\u{75}\u{72}\u{65}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{69}\u{6f}\u{6e}",function ()
10671067function close(b)
10681068return function (x)
1069−return (b + x)
1069+return b + x
10701070end
10711071end
10721072return (close(0x2)(0x4) == 0x6)
@@ -1076,7 +1076,7 @@ local a = coroutine.wrap(function ()
10761076coroutine.yield(string.rep("\u{61}",0xa))
10771077return {}
10781078end)
1079−assert((string.len(a()) == 0xa))
1079+assert(string.len(a()) == 0xa)
10801080return a()
10811081end)
10821082do
@@ -1088,29 +1088,29 @@ do
10881088a[i]="\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
10891089end
10901090testamem("\u{61}\u{75}\u{78}\u{69}\u{6c}\u{69}\u{61}\u{72}\u{79}\u{20}\u{62}\u{75}\u{66}\u{66}\u{65}\u{72}",function ()
1091−return (# (table.concat(a,"\u{2c}") == (((0x14 * lim) + lim) - 0x1)))
1091+return (# table.concat(a,"\u{2c}") == 0x14 * lim + lim - 0x1)
10921092end)
10931093end
10941094testamem("\u{67}\u{72}\u{6f}\u{77}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}",function ()
10951095local function foo
10961096(n)
1097−if (n == 0x0) then
1097+if n == 0x0 then
10981098return 0x1
10991099else
1100−return (0x1 + foo((n - 0x1)))
1100+return 0x1 + foo(n - 0x1)
11011101end
11021102end
11031103return foo(0x64)
11041104end)
11051105do
11061106local res = T.testC("\u{72}\u{61}\u{77}\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{30}\u{30}\u{30}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
1107−assert((res == false))
1107+assert(res == false)
11081108local L = T.newstate()
11091109T.alloccount(0x0)
11101110res=T.testC(L,"\u{72}\u{61}\u{77}\u{63}\u{68}\u{65}\u{63}\u{6b}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{35}\u{30}\u{30}\u{30}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")
11111111T.alloccount()
11121112T.closestate(L)
1113−assert((res == false))
1113+assert(res == false)
11141114end
11151115do
11161116local L = T.newstate()
@@ -1121,45 +1121,45 @@ end
11211121do
11221122local L = T.newstate()
11231123T.loadlib(L)
1124−local res = T.doremote(L,"\u{20}\u{20}\u{20}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{5f}\u{47}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{54}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{54}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{30}\u{30}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{5b}\u{69}\u{5d}\u{20}\u{3d}\u{20}\u{27}\u{69}\u{27}\u{20}\u{2e}\u{2e}\u{20}\u{69}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{2c}\u{20}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{30}\u{30}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{6e}\u{20}\u{2d}\u{20}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{31}\u{38}\u{30}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{2c}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{38}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{65}\u{64}\u{2c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{6f}\u{20}\u{74}\u{68}\u{65}\u{79}\u{20}\u{6b}\u{65}\u{70}\u{74}\u{20}\u{74}\u{68}\u{65}\u{69}\u{72}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}\u{20}\u{28}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{32}\u{2c}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{6f}\u{6b}\u{27}\u{a}\u{20}\u{20}")
1125−assert((res == "\u{6f}\u{6b}"))
1124+local res = (T.doremote(L,"\u{20}\u{20}\u{20}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{5f}\u{47}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{54}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{54}\u{22}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{30}\u{30}\u{30}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{5b}\u{69}\u{5d}\u{20}\u{3d}\u{20}\u{27}\u{69}\u{27}\u{20}\u{2e}\u{2e}\u{20}\u{69}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{2c}\u{20}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{75}\u{73}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{30}\u{30}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{6e}\u{20}\u{2d}\u{20}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{31}\u{38}\u{30}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{67}\u{72}\u{6f}\u{77}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{2c}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3d}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{20}\u{3e}\u{20}\u{31}\u{38}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{30}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{54}\u{2e}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{63}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{61}\u{6c}\u{6c}\u{6f}\u{63}\u{61}\u{74}\u{65}\u{64}\u{2c}\u{a}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{73}\u{6f}\u{20}\u{74}\u{68}\u{65}\u{79}\u{20}\u{6b}\u{65}\u{70}\u{74}\u{20}\u{74}\u{68}\u{65}\u{69}\u{72}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}\u{20}\u{28}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{32}\u{2c}\u{20}\u{54}\u{2e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6c}\u{65}\u{76}\u{65}\u{6c}\u{28}\u{29}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{6b}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{54}\u{2e}\u{71}\u{75}\u{65}\u{72}\u{79}\u{73}\u{74}\u{72}\u{28}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{73}\u{69}\u{7a}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{6f}\u{6b}\u{27}\u{a}\u{20}\u{20}"))
1125+assert(res == "\u{6f}\u{6b}")
11261126T.closestate(L)
11271127end
11281128print("\u{2b}")
11291129local function gsub
11301130(a,b,c)
11311131a,b=T.testC("\u{67}\u{73}\u{75}\u{62}\u{20}\u{32}\u{20}\u{33}\u{20}\u{34}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",a,b,c)
1132−assert((b == 0x5))
1132+assert(b == 0x5)
11331133return a
11341134end
1135−assert((gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{2e}","\u{2f}\u{2f}") == "\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{75}\u{68}\u{75}\u{68}\u{2f}\u{2f}"))
1136−assert((gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == "\u{2f}\u{2f}\u{2e}\u{2f}\u{2f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}"))
1137−assert((gsub("","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == ""))
1138−assert((gsub("\u{2e}\u{2e}\u{2e}","\u{2e}","\u{2f}\u{2e}") == "\u{2f}\u{2e}\u{2f}\u{2e}\u{2f}\u{2e}"))
1139−assert((gsub("\u{2e}\u{2e}\u{2e}","\u{2e}\u{2e}\u{2e}","") == ""))
1135+assert(gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{2e}","\u{2f}\u{2f}") == "\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{61}\u{6c}\u{6f}\u{2f}\u{2f}\u{75}\u{68}\u{75}\u{68}\u{2f}\u{2f}")
1136+assert(gsub("\u{61}\u{6c}\u{6f}\u{2e}\u{61}\u{6c}\u{6f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == "\u{2f}\u{2f}\u{2e}\u{2f}\u{2f}\u{2e}\u{75}\u{68}\u{75}\u{68}\u{2e}")
1137+assert(gsub("","\u{61}\u{6c}\u{6f}","\u{2f}\u{2f}") == "")
1138+assert(gsub("\u{2e}\u{2e}\u{2e}","\u{2e}","\u{2f}\u{2e}") == "\u{2f}\u{2e}\u{2f}\u{2e}\u{2f}\u{2e}")
1139+assert(gsub("\u{2e}\u{2e}\u{2e}","\u{2e}\u{2e}\u{2e}","") == "")
11401140local mt_xuxu,res,top = T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
1141−assert((((type(mt_xuxu) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and res) and (top == 0x3)))
1141+assert(type(mt_xuxu) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and res and top == 0x3)
11421142local d,res,top = T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
1143−assert(((mt_xuxu == d) and (not (res and (top == 0x3)))))
1143+assert(mt_xuxu == d and not res and top == 0x3)
11441144d,res,top=T.testC("\u{6e}\u{65}\u{77}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}")
1145−assert((((mt_xuxu ~= d) and res) and (top == 0x3)))
1145+assert(mt_xuxu ~= d and res and top == 0x3)
11461146x=T.newuserdata(0x0)
11471147;
11481148y=T.newuserdata(0x0)
11491149;
11501150T.testC("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{78}\u{75}\u{78}\u{75}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{52}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{32}",x)
1151−assert((getmetatable(x) == mt_xuxu))
1151+assert(getmetatable(x) == mt_xuxu)
11521152local res1,res2,top = T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{20}\u{20}\u{20}\u{9}\u{20}\u{9}\u{9}\u{9}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{9}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{9}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
1153−assert(((res1 and res2) and (top == 0x4)))
1153+assert(res1 and res2 and top == 0x4)
11541154res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{31}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
1155−assert((not (res1 and (not (res2 and (top == 0x4))))))
1155+assert(not res1 and not res2 and top == 0x4)
11561156res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{32}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{32}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
1157−assert((not (res1 and (not (res2 and (top == 0x4))))))
1157+assert(not res1 and not res2 and top == 0x4)
11581158res1,res2,top=T.testC("\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{2d}\u{31}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{74}\u{65}\u{73}\u{74}\u{75}\u{64}\u{61}\u{74}\u{61}\u{20}\u{32}\u{20}\u{78}\u{75}\u{78}\u{75}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{9}\u{9}\u{9}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",y)
1159−assert((not (res1 and (not (res2 and (top == 0x4))))))
1159+assert(not res1 and not res2 and top == 0x4)
11601160do
11611161local r = debug.getregistry()
1162−assert(((r.xuxu == mt_xuxu) and (r.xuxu1 == d)))
1162+assert(r.xuxu == mt_xuxu and r.xuxu1 == d)
11631163r.xuxu=nil
11641164;
11651165r.xuxu1=nil
desk/res/lua/cycled/attrib.lua+156−156
@@ -1,36 +1,36 @@
11print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}")
2−assert((require("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") == string))
3−assert((require("\u{6d}\u{61}\u{74}\u{68}") == math))
4−assert((require("\u{74}\u{61}\u{62}\u{6c}\u{65}") == table))
5−assert((require("\u{69}\u{6f}") == io))
6−assert((require("\u{6f}\u{73}") == os))
7−assert((require("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}") == coroutine))
8−assert((type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
9−assert((type(package.cpath) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
10−assert((type(package.loaded) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
11−assert((type(package.preload) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
12−assert((type(package.config) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
13−print(("\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{20}\u{63}\u{6f}\u{6e}\u{66}\u{69}\u{67}\u{3a}\u{20}" .. string.gsub(package.config,"\u{a}","\u{7c}")))
2+assert(require("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") == string)
3+assert(require("\u{6d}\u{61}\u{74}\u{68}") == math)
4+assert(require("\u{74}\u{61}\u{62}\u{6c}\u{65}") == table)
5+assert(require("\u{69}\u{6f}") == io)
6+assert(require("\u{6f}\u{73}") == os)
7+assert(require("\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}") == coroutine)
8+assert(type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
9+assert(type(package.cpath) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
10+assert(type(package.loaded) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
11+assert(type(package.preload) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
12+assert(type(package.config) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
13+print("\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{20}\u{63}\u{6f}\u{6e}\u{66}\u{69}\u{67}\u{3a}\u{20}" .. string.gsub(package.config,"\u{a}","\u{7c}"))
1414do
15−local max = ((_soft and 0x64) or 0x7d0)
15+local max = _soft and 0x64 or 0x7d0
1616local t = {}
1717for i = 0x1, max
1818do
19−t[i]=string.rep("\u{3f}",((i % 0xa) + 0x1))
19+t[i]=string.rep("\u{3f}",i % 0xa + 0x1)
2020end
21−t[(# (t + 0x1))]="\u{3b}"
21+t[# t + 0x1]="\u{3b}"
2222local path = table.concat(t,"\u{3b}")
2323local s,err = package.searchpath("\u{78}\u{75}\u{78}\u{75}",path)
24−assert((not ((s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",0xa))) and (# (string.gsub(err,"\u{5b}\u{5e}\u{a}\u{5d}","") >= max)))))
24+assert(not s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",0xa)) and # string.gsub(err,"\u{5b}\u{5e}\u{a}\u{5d}","") >= max)
2525local path = string.rep("\u{3f}",max)
2626local s,err = package.searchpath("\u{78}\u{75}\u{78}\u{75}",path)
27−assert((not (s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",max)))))
27+assert(not s and string.find(err,string.rep("\u{78}\u{75}\u{78}\u{75}",max)))
2828end
2929do
3030local oldpath = package.path
3131package.path={}
3232local s,err = pcall(require,"\u{6e}\u{6f}\u{2d}\u{73}\u{75}\u{63}\u{68}\u{2d}\u{66}\u{69}\u{6c}\u{65}")
33−assert((not (s and string.find(err,"\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}"))))
33+assert(not s and string.find(err,"\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}"))
3434package.path=oldpath
3535end
3636do
@@ -41,23 +41,23 @@ package.path="\u{3f}\u{2e}\u{6c}\u{75}\u{61}\u{3b}\u{3f}\u{2f}\u{3f}"
4141package.cpath="\u{3f}\u{2e}\u{73}\u{6f}\u{3b}\u{3f}\u{2f}\u{69}\u{6e}\u{69}\u{74}"
4242local st,msg = pcall(require,"\u{58}\u{58}\u{58}")
4343local expected = "\u{6d}\u{6f}\u{64}\u{75}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{27}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{75}\u{6e}\u{64}\u{3a}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{5b}\u{27}\u{58}\u{58}\u{58}\u{27}\u{5d}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2e}\u{6c}\u{75}\u{61}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2f}\u{58}\u{58}\u{58}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2e}\u{73}\u{6f}\u{27}\u{a}\u{9}\u{6e}\u{6f}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{27}\u{58}\u{58}\u{58}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{27}"
44−assert((msg == expected))
44+assert(msg == expected)
4545package.path=oldpath
4646package.cpath=oldcpath
4747end
4848print("\u{2b}")
49−if (not _port) then
49+if not _port then
5050local dirsep = string.match(package.config,"\u{5e}\u{28}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{29}\u{a}")
51−local DIR = ("\u{6c}\u{69}\u{62}\u{73}" .. dirsep)
51+local DIR = "\u{6c}\u{69}\u{62}\u{73}" .. dirsep
5252local function D
5353(x)
5454local x = string.gsub(x,"\u{2f}",dirsep)
55−return (DIR .. x)
55+return DIR .. x
5656end
5757local function DC
5858(x)
59−local ext = (((dirsep == "\u{5c}") and "\u{2e}\u{64}\u{6c}\u{6c}") or "\u{2e}\u{73}\u{6f}")
60−return D((x .. ext))
59+local ext = (dirsep == "\u{5c}") and "\u{2e}\u{64}\u{6c}\u{6c}" or "\u{2e}\u{73}\u{6f}"
60+return D(x .. ext)
6161end
6262local function createfiles
6363(files,preextras,posextras)
@@ -81,37 +81,37 @@ local files = {["\u{6e}\u{61}\u{6d}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}"] = "\u{
8181AA=nil
8282local extras = "\u{4e}\u{41}\u{4d}\u{45}\u{20}\u{3d}\u{20}\u{27}\u{25}\u{73}\u{27}\u{a}\u{52}\u{45}\u{51}\u{55}\u{49}\u{52}\u{45}\u{44}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{41}\u{41}"
8383createfiles(files,"",extras)
84−assert((package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"","") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}")))
85−assert((package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{2e}","\u{2e}") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}")))
86−assert((package.searchpath("\u{2d}\u{2d}\u{78}\u{2d}",D("\u{3f}"),"\u{2d}","\u{58}") == D("\u{58}\u{58}\u{78}\u{58}")))
87−assert((package.searchpath("\u{2d}\u{2d}\u{2d}\u{78}\u{58}",D("\u{3f}"),"\u{2d}\u{2d}\u{2d}","\u{58}\u{58}") == D("\u{58}\u{58}\u{78}\u{58}")))
88−assert((package.searchpath(D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"),"\u{3f}",dirsep) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}")))
89−assert((package.searchpath("\u{2e}\u{5c}\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{5c}") == D("\u{2e}\u{2f}\u{43}\u{2e}\u{6c}\u{75}\u{61}")))
84+assert(package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"","") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
85+assert(package.searchpath("\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{2e}","\u{2e}") == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
86+assert(package.searchpath("\u{2d}\u{2d}\u{78}\u{2d}",D("\u{3f}"),"\u{2d}","\u{58}") == D("\u{58}\u{58}\u{78}\u{58}"))
87+assert(package.searchpath("\u{2d}\u{2d}\u{2d}\u{78}\u{58}",D("\u{3f}"),"\u{2d}\u{2d}\u{2d}","\u{58}\u{58}") == D("\u{58}\u{58}\u{78}\u{58}"))
88+assert(package.searchpath(D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"),"\u{3f}",dirsep) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
89+assert(package.searchpath("\u{2e}\u{5c}\u{43}\u{2e}\u{6c}\u{75}\u{61}",D("\u{3f}"),"\u{5c}") == D("\u{2e}\u{2f}\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
9090local oldpath = package.path
9191package.path=string.gsub("\u{44}\u{2f}\u{3f}\u{2e}\u{6c}\u{75}\u{61}\u{3b}\u{44}\u{2f}\u{3f}\u{2e}\u{6c}\u{63}\u{3b}\u{44}\u{2f}\u{3f}\u{3b}\u{44}\u{2f}\u{3f}\u{3f}\u{78}\u{3f}\u{3b}\u{44}\u{2f}\u{4c}","\u{44}\u{2f}",DIR)
9292local try = function (p,n,r,ext)
9393NAME=nil
9494local rr,x = require(p)
95−assert((NAME == n))
96−assert((REQUIRED == p))
97−assert((rr == r))
98−assert((ext == x))
95+assert(NAME == n)
96+assert(REQUIRED == p)
97+assert(rr == r)
98+assert(ext == x)
9999end
100100local a = require("\u{6e}\u{61}\u{6d}\u{65}\u{73}")
101−assert(((a[0x1] == "\u{6e}\u{61}\u{6d}\u{65}\u{73}") and (a[0x2] == D("\u{6e}\u{61}\u{6d}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}"))))
101+assert(a[0x1] == "\u{6e}\u{61}\u{6d}\u{65}\u{73}" and a[0x2] == D("\u{6e}\u{61}\u{6d}\u{65}\u{73}\u{2e}\u{6c}\u{75}\u{61}"))
102102local st,msg = pcall(require,"\u{65}\u{72}\u{72}")
103−assert((not ((st and string.find(msg,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{6d}\u{65}\u{74}\u{69}\u{63}")) and (B == 0xf))))
103+assert(not st and string.find(msg,"\u{61}\u{72}\u{69}\u{74}\u{68}\u{6d}\u{65}\u{74}\u{69}\u{63}") and B == 0xf)
104104st,msg=pcall(require,"\u{73}\u{79}\u{6e}\u{65}\u{72}\u{72}")
105−assert((not (st and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{6f}\u{64}\u{75}\u{6c}\u{65}"))))
106−assert((package.searchpath("\u{43}",package.path) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}")))
107−assert((require("\u{43}") == 0x19))
108−assert((require("\u{43}") == 0x19))
105+assert(not st and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{6f}\u{64}\u{75}\u{6c}\u{65}"))
106+assert(package.searchpath("\u{43}",package.path) == D("\u{43}\u{2e}\u{6c}\u{75}\u{61}"))
107+assert(require("\u{43}") == 0x19)
108+assert(require("\u{43}") == 0x19)
109109AA=nil
110110try("\u{42}","\u{42}\u{2e}\u{6c}\u{75}\u{61}",true,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{42}\u{2e}\u{6c}\u{75}\u{61}")
111111assert(package.loaded.B)
112−assert((require("\u{42}") == true))
112+assert(require("\u{42}") == true)
113113assert(package.loaded.A)
114−assert((require("\u{43}") == 0x19))
114+assert(require("\u{43}") == 0x19)
115115package.loaded.A=nil
116116try("\u{42}",nil,true,nil)
117117try("\u{41}","\u{41}\u{2e}\u{6c}\u{75}\u{61}",true,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{41}\u{2e}\u{6c}\u{75}\u{61}")
@@ -119,12 +119,12 @@ package.loaded.A=nil
119119os.remove(D("\u{41}\u{2e}\u{6c}\u{75}\u{61}"))
120120AA={}
121121try("\u{41}","\u{41}\u{2e}\u{6c}\u{63}",AA,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{41}\u{2e}\u{6c}\u{63}")
122−assert((package.searchpath("\u{41}",package.path) == D("\u{41}\u{2e}\u{6c}\u{63}")))
123−assert((require("\u{41}") == AA))
122+assert(package.searchpath("\u{41}",package.path) == D("\u{41}\u{2e}\u{6c}\u{63}"))
123+assert(require("\u{41}") == AA)
124124AA=false
125125try("\u{4b}","\u{4c}",false,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{4c}")
126126try("\u{4b}","\u{4c}",false,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{4c}")
127−assert((rawget(_G,"\u{5f}\u{52}\u{45}\u{51}\u{55}\u{49}\u{52}\u{45}\u{44}\u{4e}\u{41}\u{4d}\u{45}") == nil))
127+assert(rawget(_G,"\u{5f}\u{52}\u{45}\u{51}\u{55}\u{49}\u{52}\u{45}\u{44}\u{4e}\u{41}\u{4d}\u{45}") == nil)
128128AA="\u{78}"
129129try("\u{58}","\u{58}\u{58}\u{78}\u{58}",AA,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{58}\u{58}\u{78}\u{58}")
130130removefiles(files)
@@ -135,27 +135,27 @@ files={["\u{50}\u{31}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}"] =
135135createfiles(files,"\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{a}","\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{a}")
136136AA=0x0
137137local m,ext = assert(require("\u{50}\u{31}"))
138−assert((ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}"))
139−assert(((AA == 0x0) and (m.AA == 0xa)))
140−assert((require("\u{50}\u{31}") == m))
141−assert((require("\u{50}\u{31}") == m))
142−assert((package.searchpath("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}",package.path) == D("\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}")))
138+assert(ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{69}\u{6e}\u{69}\u{74}\u{2e}\u{6c}\u{75}\u{61}")
139+assert(AA == 0x0 and m.AA == 0xa)
140+assert(require("\u{50}\u{31}") == m)
141+assert(require("\u{50}\u{31}") == m)
142+assert(package.searchpath("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}",package.path) == D("\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}"))
143143m.xuxu,ext=assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}"))
144−assert(((AA == 0x0) and (m.xuxu.AA == 0x14)))
145−assert((ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}"))
146−assert((require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu))
147−assert((require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu))
148−assert(((require("\u{50}\u{31}") == m) and (m.AA == 0xa)))
144+assert(AA == 0x0 and m.xuxu.AA == 0x14)
145+assert(ext == "\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{50}\u{31}\u{2f}\u{78}\u{75}\u{78}\u{75}\u{2e}\u{6c}\u{75}\u{61}")
146+assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu)
147+assert(require("\u{50}\u{31}\u{2e}\u{78}\u{75}\u{78}\u{75}") == m.xuxu)
148+assert(require("\u{50}\u{31}") == m and m.AA == 0xa)
149149removefiles(files)
150150AA=nil
151151package.path=""
152−assert((not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}")))
152+assert(not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}"))
153153package.path="\u{3f}\u{3f}\u{0}\u{3f}"
154−assert((not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{31}")))
154+assert(not pcall(require,"\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{31}"))
155155package.path=oldpath
156156local fname = "\u{66}\u{69}\u{6c}\u{65}\u{5f}\u{64}\u{6f}\u{65}\u{73}\u{5f}\u{6e}\u{6f}\u{74}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{32}"
157157local m,err = pcall(require,fname)
158−for t in string.gmatch((package.path .. ("\u{3b}" .. package.cpath)),"\u{5b}\u{5e}\u{3b}\u{5d}\u{2b}")
158+for t in string.gmatch(package.path .. "\u{3b}" .. package.cpath,"\u{5b}\u{5e}\u{3b}\u{5d}\u{2b}")
159159do
160160t=string.gsub(t,"\u{3f}",fname)
161161assert(string.find(err,t,0x1,true))
@@ -164,49 +164,49 @@ do
164164local searchers = package.searchers
165165package.searchers=0x3
166166local st,msg = pcall(require,"\u{61}")
167−assert((not (st and string.find(msg,"\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}"))))
167+assert(not st and string.find(msg,"\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}"))
168168package.searchers=searchers
169169end
170170local function import
171171(...)
172172local f = {...}
173173return function (m)
174−for i = 0x1, (# f)
174+for i = 0x1, # f
175175do
176176m[f[i]]=_G[f[i]]
177177end
178178end
179179end
180−assert((not pcall(module,"\u{58}\u{55}\u{58}\u{55}")))
180+assert(not pcall(module,"\u{58}\u{55}\u{58}\u{55}"))
181181local p = ""
182182local st,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),"\u{2a}")
183−if (not st) then
184−local f,err,when = package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",(p .. "\u{78}\u{75}\u{78}\u{75}"))
185−assert((not ((f and (type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (when == "\u{61}\u{62}\u{73}\u{65}\u{6e}\u{74}"))))
183+if not st then
184+local f,err,when = package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",p .. "\u{78}\u{75}\u{78}\u{75}")
185+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{61}\u{62}\u{73}\u{65}\u{6e}\u{74}")
186186;
187187(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{64}\u{79}\u{6e}\u{61}\u{6d}\u{69}\u{63}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
188188print(err,when)
189189else
190−local f = assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),(p .. "\u{6f}\u{6e}\u{65}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")))
190+local f = assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{6f}\u{6e}\u{65}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
191191local a,b = f(0xf,0x19)
192−assert(((a == 0x19) and (b == 0xf)))
193−f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),(p .. "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{66}\u{75}\u{6e}\u{63}")))
194−assert((f(0xa,0x14) == "\u{31}\u{30}\u{25}\u{32}\u{30}\u{a}"))
195−local f,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),(p .. "\u{78}\u{75}\u{78}\u{75}"))
196−assert((not ((f and (type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (when == "\u{69}\u{6e}\u{69}\u{74}"))))
197−f,err,when=package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",(p .. "\u{78}\u{75}\u{78}\u{75}"))
198−assert((not ((f and (type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (when == "\u{6f}\u{70}\u{65}\u{6e}"))))
199−f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}\u{31}"),(p .. "\u{6c}\u{75}\u{61}\u{6f}\u{70}\u{65}\u{6e}\u{5f}\u{6c}\u{69}\u{62}\u{31}\u{31}")))
200−assert((f() == "\u{65}\u{78}\u{70}\u{6f}\u{72}\u{74}\u{65}\u{64}"))
192+assert(a == 0x19 and b == 0xf)
193+f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{66}\u{75}\u{6e}\u{63}"))
194+assert(f(0xa,0x14) == "\u{31}\u{30}\u{25}\u{32}\u{30}\u{a}")
195+local f,err,when = package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}"),p .. "\u{78}\u{75}\u{78}\u{75}")
196+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{69}\u{6e}\u{69}\u{74}")
197+f,err,when=package.loadlib("\u{64}\u{6f}\u{6e}\u{6f}\u{74}\u{65}\u{78}\u{69}\u{73}\u{74}",p .. "\u{78}\u{75}\u{78}\u{75}")
198+assert(not f and type(err) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and when == "\u{6f}\u{70}\u{65}\u{6e}")
199+f=assert(package.loadlib(DC("\u{6c}\u{69}\u{62}\u{31}\u{31}"),p .. "\u{6c}\u{75}\u{61}\u{6f}\u{70}\u{65}\u{6e}\u{5f}\u{6c}\u{69}\u{62}\u{31}\u{31}"))
200+assert(f() == "\u{65}\u{78}\u{70}\u{6f}\u{72}\u{74}\u{65}\u{64}")
201201package.cpath=DC("\u{3f}")
202202local lib2,ext = require("\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}")
203203assert(string.find(ext,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}",0x1,true))
204−assert(((_ENV.x == "\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}") and (_ENV.y == DC("\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}"))))
205−assert((lib2.id("\u{78}") == true))
204+assert(_ENV.x == "\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}" and _ENV.y == DC("\u{6c}\u{69}\u{62}\u{32}\u{2d}\u{76}\u{32}"))
205+assert(lib2.id("\u{78}") == true)
206206local fs,ext = require("\u{6c}\u{69}\u{62}\u{31}\u{2e}\u{73}\u{75}\u{62}")
207−assert(((_ENV.x == "\u{6c}\u{69}\u{62}\u{31}\u{2e}\u{73}\u{75}\u{62}") and (_ENV.y == DC("\u{6c}\u{69}\u{62}\u{31}"))))
207+assert(_ENV.x == "\u{6c}\u{69}\u{62}\u{31}\u{2e}\u{73}\u{75}\u{62}" and _ENV.y == DC("\u{6c}\u{69}\u{62}\u{31}"))
208208assert(string.find(ext,"\u{6c}\u{69}\u{62}\u{73}\u{2f}\u{6c}\u{69}\u{62}\u{31}",0x1,true))
209−assert((fs.id(0x2d) == 0x2d))
209+assert(fs.id(0x2d) == 0x2d)
210210_ENV.x,_ENV.y=nil
211211end
212212_ENV=_G
@@ -216,32 +216,32 @@ package={}
216216p.preload.pl=function (...)
217217local _ENV = {...}
218218function xuxu(x)
219−return (x + 0x14)
219+return x + 0x14
220220end
221221return _ENV
222222end
223223local pl,ext = require("\u{70}\u{6c}")
224−assert((require("\u{70}\u{6c}") == pl))
225−assert((pl.xuxu(0xa) == 0x1e))
226−assert((((pl[0x1] == "\u{70}\u{6c}") and (pl[0x2] == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}")) and (ext == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}")))
224+assert(require("\u{70}\u{6c}") == pl)
225+assert(pl.xuxu(0xa) == 0x1e)
226+assert(pl[0x1] == "\u{70}\u{6c}" and pl[0x2] == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}" and ext == "\u{3a}\u{70}\u{72}\u{65}\u{6c}\u{6f}\u{61}\u{64}\u{3a}")
227227package=p
228−assert((type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
228+assert(type(package.path) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
229229end
230230print("\u{2b}")
231231end
232232print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{2c}\u{20}\u{6c}\u{6f}\u{67}\u{69}\u{63}\u{61}\u{6c}\u{20}\u{6f}\u{70}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}\u{73}\u{2c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{6f}\u{72}\u{73}")
233233local res,res2 = 0x1b
234−local a,b = 0x1,(0x2 + 0x3)
235−assert(((a == 0x1) and (b == 0x5)))
234+local a,b = 0x1,0x2 + 0x3
235+assert(a == 0x1 and b == 0x5)
236236a={}
237237local function f
238238()
239239return 0xa,0xb,0xc
240240end
241241a.x,b,a[0x1]=0x1,0x2,f()
242−assert((((a.x == 0x1) and (b == 0x2)) and (a[0x1] == 0xa)))
243−a[f()],b,a[(f() + 0x3)]=f(),a,"\u{78}"
244−assert((((a[0xa] == 0xa) and (b == a)) and (a[0xd] == "\u{78}")))
242+assert(a.x == 0x1 and b == 0x2 and a[0x1] == 0xa)
243+a[f()],b,a[f() + 0x3]=f(),a,"\u{78}"
244+assert(a[0xa] == 0xa and b == a and a[0xd] == "\u{78}")
245245do
246246local f = function (n)
247247local x = {}
@@ -256,57 +256,57 @@ end
256256;
257257local a,b,c
258258a,b=0x0,f(0x1)
259−assert(((a == 0x0) and (b == 0x1)))
259+assert(a == 0x0 and b == 0x1)
260260a,b=0x0,f(0x1)
261−assert(((a == 0x0) and (b == 0x1)))
261+assert(a == 0x0 and b == 0x1)
262262a,b,c=0x0,0x5,f(0x4)
263−assert((((a == 0x0) and (b == 0x5)) and (c == 0x1)))
263+assert(a == 0x0 and b == 0x5 and c == 0x1)
264264a,b,c=0x0,0x5,f(0x0)
265−assert((((a == 0x0) and (b == 0x5)) and (c == nil)))
265+assert(a == 0x0 and b == 0x5 and c == nil)
266266end
267−local a,b,c,d = (0x1 and nil),(0x1 or nil),(0x1 and (nil or 0x1)),0x6
268−assert((not (((a and b) and c) and (d == 0x6))))
267+local a,b,c,d = 0x1 and nil,0x1 or nil,(0x1 and (nil or 0x1)),0x6
268+assert(not a and b and c and d == 0x6)
269269d=0x14
270270a,b,c,d=f()
271−assert(((((a == 0xa) and (b == 0xb)) and (c == 0xc)) and (d == nil)))
271+assert(a == 0xa and b == 0xb and c == 0xc and d == nil)
272272a,b=f(),0x1,0x2,0x3,f()
273−assert(((a == 0xa) and (b == 0x1)))
274−assert((((a < b) == false) and ((a > b) == true)))
275−assert(((0xa and 0x2) == 0x2))
276−assert(((0xa or 0x2) == 0xa))
277−assert(((0xa or assert(nil)) == 0xa))
278−assert((not (nil and assert(nil))))
279−assert(((nil or "\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}"))
280−assert(((nil and 0xa) == nil))
281−assert(((false and 0xa) == false))
282−assert(((true or 0xa) == true))
283−assert(((false or 0xa) == 0xa))
284−assert((false ~= nil))
285−assert((nil ~= false))
286−assert((not (nil == true)))
287−assert((not (not (nil == false))))
288−assert((not (not (0x1 == true))))
289−assert((not (not (a == true))))
290−assert((not (not ((0x6 or nil) == true))))
291−assert((not (not ((nil and 0x38) == false))))
292−assert((not (not ((nil and true) == false))))
293−assert((not (0xa == false)))
294−assert((not ({} == false)))
295−assert((not (0.5 == false)))
296−assert((not ("\u{78}" == false)))
297−assert(({} ~= {}))
273+assert(a == 0xa and b == 0x1)
274+assert(a < b == false and a > b == true)
275+assert((0xa and 0x2) == 0x2)
276+assert((0xa or 0x2) == 0xa)
277+assert((0xa or assert(nil)) == 0xa)
278+assert(not (nil and assert(nil)))
279+assert((nil or "\u{61}\u{6c}\u{6f}") == "\u{61}\u{6c}\u{6f}")
280+assert((nil and 0xa) == nil)
281+assert((false and 0xa) == false)
282+assert((true or 0xa) == true)
283+assert((false or 0xa) == 0xa)
284+assert(false ~= nil)
285+assert(nil ~= false)
286+assert(not nil == true)
287+assert(not not nil == false)
288+assert(not not 0x1 == true)
289+assert(not not a == true)
290+assert(not not (0x6 or nil) == true)
291+assert(not not (nil and 0x38) == false)
292+assert(not not (nil and true) == false)
293+assert(not 0xa == false)
294+assert(not {} == false)
295+assert(not 0.5 == false)
296+assert(not "\u{78}" == false)
297+assert({} ~= {})
298298print("\u{2b}")
299299a={}
300300a[true]=0x14
301301a[false]=0xa
302−assert(((a[(0x1 < 0x2)] == 0x14) and (a[(0x1 > 0x2)] == 0xa)))
302+assert(a[0x1 < 0x2] == 0x14 and a[0x1 > 0x2] == 0xa)
303303function f(a)
304304return a
305305end
306306local a = {}
307−for i = 0xbb8, (- 0xbb8), (- 0x1)
307+for i = 0xbb8, - 0xbb8, - 0x1
308308do
309−a[(i + 0.0)]=i
309+a[i + 0.0]=i
310310;
311311end
312312a[1e31]="\u{61}\u{6c}\u{6f}"
@@ -314,39 +314,39 @@ a[1e31]="\u{61}\u{6c}\u{6f}"
314314a[true]=0xa
315315;
316316a[false]=0x14
317−assert((((a[1e31] == "\u{61}\u{6c}\u{6f}") and (a[(not 0x1)] == 0x14)) and (a[(0xa < 0x14)] == 0xa)))
318−for i = 0xbb8, (- 0xbb8), (- 0x1)
317+assert(a[1e31] == "\u{61}\u{6c}\u{6f}" and a[not 0x1] == 0x14 and a[0xa < 0x14] == 0xa)
318+for i = 0xbb8, - 0xbb8, - 0x1
319319do
320−assert((a[i] == i))
320+assert(a[i] == i)
321321;
322322end
323323a[print]=assert
324324a[f]=print
325325a[a]=a
326−assert((a[a][a][a][a][print] == assert))
327−a[print]((a[a[f]] == a[print]))
328−assert((not pcall(function ()
326+assert(a[a][a][a][a][print] == assert)
327+a[print](a[a[f]] == a[print])
328+assert(not pcall(function ()
329329local a = {}
330330;
331331a[nil]=0xa
332−end)))
333−assert((not pcall(function ()
332+end))
333+assert(not pcall(function ()
334334local a = {[nil] = 0xa}
335−end)))
336−assert((a[nil] == undef))
335+end))
336+assert(a[nil] == undef)
337337a=nil
338338local a,b,c
339−a={0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,[(- 0x3)] = "\u{61}",[f] = print,["\u{61}"] = "\u{61}",["\u{62}"] = "\u{61}\u{62}"}
340−a,a.x,a.y=a,a[(- 0x3)]
341−assert((((((a[0x1] == 0xa) and (a[(- 0x3)] == a.a)) and (a[f] == print)) and (a.x == "\u{61}")) and (not a.y)))
339+a={0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,[- 0x3] = "\u{61}",[f] = print,["\u{61}"] = "\u{61}",["\u{62}"] = "\u{61}\u{62}"}
340+a,a.x,a.y=a,a[- 0x3]
341+assert(a[0x1] == 0xa and a[- 0x3] == a.a and a[f] == print and a.x == "\u{61}" and not a.y)
342342a[0x1],f(a)[0x2],b,c={["\u{61}\u{6c}\u{6f}"] = assert},0xa,a[0x1],a[f],0x6,0xa,0x17,f(a),0x2
343−a[0x1].alo((((a[0x2] == 0xa) and (b == 0xa)) and (c == print)))
343+a[0x1].alo(a[0x2] == 0xa and b == 0xa and c == print)
344344a.aVeryLongName012345678901234567890123456789012345678901234567890123456789=0xa
345345local function foo
346346()
347347return a.aVeryLongName012345678901234567890123456789012345678901234567890123456789
348348end
349−assert(((foo() == 0xa) and (a.aVeryLongName012345678901234567890123456789012345678901234567890123456789 == 0xa)))
349+assert(foo() == 0xa and a.aVeryLongName012345678901234567890123456789012345678901234567890123456789 == 0xa)
350350do
351351local function foo
352352()
@@ -354,26 +354,26 @@ local _ENV <const> = 0xb
354354X="\u{68}\u{69}"
355355end
356356local st,msg = pcall(foo)
357−assert((not (st and string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
357+assert(not st and string.find(msg,"\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))
358358end
359359local maxint = math.maxinteger
360−while ((maxint ~= (maxint + 0.0)) or ((maxint - 0x1) ~= (maxint - 1.0))) do
361−maxint=(maxint // 0x2)
360+while maxint ~= (maxint + 0.0) or (maxint - 0x1) ~= (maxint - 1.0) do
361+maxint=maxint // 0x2
362362end
363−local maxintF = (maxint + 0.0)
364−assert((((maxintF == maxint) and (math.type(maxintF) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")) and (maxintF >= (2.0 ^ 0xe))))
363+local maxintF = maxint + 0.0
364+assert(maxintF == maxint and math.type(maxintF) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}" and maxintF >= 2.0 ^ 0xe)
365365a[maxintF]=0xa
366366;
367−a[(maxintF - 1.0)]=0xb
367+a[maxintF - 1.0]=0xb
368368;
369−a[(- maxintF)]=0xc
369+a[- maxintF]=0xc
370370;
371−a[(- (maxintF + 1.0))]=0xd
371+a[- maxintF + 1.0]=0xd
372372;
373−assert(((((a[maxint] == 0xa) and (a[(maxint - 0x1)] == 0xb)) and (a[(- maxint)] == 0xc)) and (a[(- (maxint + 0x1))] == 0xd)))
373+assert(a[maxint] == 0xa and a[maxint - 0x1] == 0xb and a[- maxint] == 0xc and a[- maxint + 0x1] == 0xd)
374374a[maxint]=0x14
375−a[(- maxint)]=0x16
376−assert(((((a[maxintF] == 0x14) and (a[(maxintF - 1.0)] == 0xb)) and (a[(- maxintF)] == 0x16)) and (a[(- (maxintF + 1.0))] == 0xd)))
375+a[- maxint]=0x16
376+assert(a[maxintF] == 0x14 and a[maxintF - 1.0] == 0xb and a[- maxintF] == 0x16 and a[- maxintF + 1.0] == 0xd)
377377a=nil
378378do
379379local a,i,j,b
@@ -384,15 +384,15 @@ i=0x1
384384j=0x2
385385;
386386b=a
387−i,a[i],a,j,a[j],a[(i + j)]=j,i,i,b,j,i
388−assert(((((((i == 0x2) and (b[0x1] == 0x1)) and (a == 0x1)) and (j == b)) and (b[0x2] == 0x2)) and (b[0x3] == 0x1)))
387+i,a[i],a,j,a[j],a[i + j]=j,i,i,b,j,i
388+assert(i == 0x2 and b[0x1] == 0x1 and a == 0x1 and j == b and b[0x2] == 0x2 and b[0x3] == 0x1)
389389a={}
390390local function foo
391391()
392392b,a.x,a=a,0xa,0x14
393393end
394394foo()
395−assert(((a == 0x14) and (b.x == 0xa)))
395+assert(a == 0x14 and b.x == 0xa)
396396end
397397do
398398local a,i,j,b
@@ -405,16 +405,16 @@ j=0x2
405405b=a
406406local function foo
407407()
408−i,a[i],a,j,a[j],a[(i + j)]=j,i,i,b,j,i
408+i,a[i],a,j,a[j],a[i + j]=j,i,i,b,j,i
409409end
410410foo()
411−assert(((((((i == 0x2) and (b[0x1] == 0x1)) and (a == 0x1)) and (j == b)) and (b[0x2] == 0x2)) and (b[0x3] == 0x1)))
411+assert(i == 0x2 and b[0x1] == 0x1 and a == 0x1 and j == b and b[0x2] == 0x2 and b[0x3] == 0x1)
412412local t = {}
413413(function (a)
414414t[a],a=0xa,0x14
415415end)(0x1)
416416;
417−assert((t[0x1] == 0xa))
417+assert(t[0x1] == 0xa)
418418end
419419local function foo
420420()
@@ -426,6 +426,6 @@ return a,b
426426end
427427end
428428local a,b = foo()()
429−assert(((a == 0x3) and (b == 0xe)))
429+assert(a == 0x3 and b == 0xe)
430430print("\u{4f}\u{4b}")
431431return res
desk/res/lua/cycled/bar.luadeleted−2
@@ -1,2 +0,0 @@
1−assert((0xa .. (0x14 .. (- (0x1e == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")))))
2−x=(- (0x2 ^ (- (0x3 ^ 0x4))))
desk/res/lua/cycled/big.lua+19−19
@@ -3,21 +3,21 @@ return "\u{61}"
33end
44print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
55local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
6−local lim = ((0x2 ^ 0x12) + 0x3e8)
6+local lim = 0x2 ^ 0x12 + 0x3e8
77local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{7b}\u{30}"}
88for i = 0x1, lim
99do
10−prog[(# (prog + 0x1))]=i
10+prog[# prog + 0x1]=i
1111end
12−prog[(# (prog + 0x1))]="\u{7d}\u{a}"
13−prog[(# (prog + 0x1))]="\u{58}\u{20}\u{3d}\u{20}\u{79}\u{a}"
14−prog[(# (prog + 0x1))]=("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{58}\u{5b}\u{25}\u{64}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{25}\u{64}\u{29}"):format((lim - 0x1),(lim - 0x2))
15−prog[(# (prog + 0x1))]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{30}"
12+prog[# prog + 0x1]="\u{7d}\u{a}"
13+prog[# prog + 0x1]="\u{58}\u{20}\u{3d}\u{20}\u{79}\u{a}"
14+prog[# prog + 0x1]=("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{58}\u{5b}\u{25}\u{64}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{25}\u{64}\u{29}"):format(lim - 0x1,lim - 0x2)
15+prog[# prog + 0x1]="\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{30}"
1616prog=table.concat(prog,"\u{3b}")
1717local env = {["\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = string,["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert}
1818local f = assert(load(prog,nil,nil,env))
1919f()
20−assert(((env.X[lim] == (lim - 0x1)) and (env.X[(lim + 0x1)] == lim)))
20+assert(env.X[lim] == lim - 0x1 and env.X[lim + 0x1] == lim)
2121for k in pairs(env)
2222do
2323env[k]=undef
@@ -33,11 +33,11 @@ _G[n]=v
3333end})
3434X=nil
3535local co = coroutine.wrap(f)
36−assert((co() == "\u{73}"))
37−assert((co() == "\u{67}"))
38−assert((co() == "\u{67}"))
39−assert((co() == 0x0))
40−assert(((X[lim] == (lim - 0x1)) and (X[(lim + 0x1)] == lim)))
36+assert(co() == "\u{73}")
37+assert(co() == "\u{67}")
38+assert(co() == "\u{67}")
39+assert(co() == 0x0)
40+assert(X[lim] == lim - 0x1 and X[lim + 0x1] == lim)
4141getmetatable(env).__index=function ()
4242
4343end
@@ -45,23 +45,23 @@ getmetatable(env).__newindex=function ()
4545
4646end
4747local e,m = pcall(f)
48−assert((not (e and m:find("\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{58}\u{27}"))))
48+assert(not e and m:find("\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{58}\u{27}"))
4949getmetatable(env).__newindex=function ()
5050error("\u{68}\u{69}")
5151end
5252local e,m = xpcall(f,debug.traceback)
53−assert((not (e and m:find("\u{27}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{27}"))))
53+assert(not e and m:find("\u{27}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{27}"))
5454f,X=nil
5555coroutine.yield("\u{62}")
56−if ((0x2 ^ 0x20) == 0x0) then
56+if 0x2 ^ 0x20 == 0x0 then
5757print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
5858local repstrings = 0xc0
59−local ssize = (math.ceil(((2.0 ^ 0x20) / repstrings)) + 0x1)
60−assert(((repstrings * ssize) > (2.0 ^ 0x20)))
59+local ssize = math.ceil(2.0 ^ 0x20 / repstrings) + 0x1
60+assert(repstrings * ssize > 2.0 ^ 0x20)
6161local longs = string.rep("\u{0}",ssize)
62−local rep = assert(load(("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. string.rep("\u{61}",repstrings,"\u{2e}\u{2e}"))))
62+local rep = assert(load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{2e}\u{2e}\u{2e}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. string.rep("\u{61}",repstrings,"\u{2e}\u{2e}")))
6363local a,b = pcall(rep,longs)
64−assert((not (a and string.find(b,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))))
64+assert(not a and string.find(b,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
6565end
6666print("\u{4f}\u{4b}")
6767return "\u{61}"
desk/res/lua/cycled/bitwise.lua+199−199
@@ -1,15 +1,15 @@
11print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
22require("\u{62}\u{77}\u{63}\u{6f}\u{65}\u{72}\u{63}\u{69}\u{6f}\u{6e}")
3−local numbits = (string.packsize("\u{6a}") * 0x8)
4−assert((~ (0x0 == (- 0x1))))
5−assert(((0x1 << (numbits - 0x1)) == math.mininteger))
3+local numbits = string.packsize("\u{6a}") * 0x8
4+assert(~ 0x0 == - 0x1)
5+assert((0x1 << (numbits - 0x1)) == math.mininteger)
66local a,b,c,d
77a=0xffffffffffffffff
8−assert((a == (- (0x1 and (a & (- ((0x1 == a) and ((a & 0x23) == 0x23))))))))
8+assert(a == - 0x1 and a & - 0x1 == a and a & 0x23 == 0x23)
99a=0xf0f0f0f0f0f0f0f0
10−assert((a | (- (0x1 == (- 0x1)))))
11−assert(((((a ~ a) == 0x0) and ((a ~ 0x0) == a)) and (a ~ (~ (a == (- 0x1))))))
12−assert(((a >> 0x4) == (~ a)))
10+assert(a | - 0x1 == - 0x1)
11+assert(a ~ a == 0x0 and a ~ 0x0 == a and a ~ ~ a == - 0x1)
12+assert(a >> 0x4 == ~ a)
1313a=0xf0
1414;
1515b=0xcc
@@ -17,7 +17,7 @@ b=0xcc
1717c=0xaa
1818;
1919d=0xfd
20−assert(((a | (b ~ (c & d))) == 0xf4))
20+assert(a | b ~ c & d == 0xf4)
2121a=240.0
2222;
2323b=204.0
@@ -25,7 +25,7 @@ b=204.0
2525c="\u{30}\u{78}\u{41}\u{41}\u{2e}\u{30}"
2626;
2727d="\u{30}\u{78}\u{46}\u{44}\u{2e}\u{30}"
28−assert(((a | (b ~ (c & d))) == 0xf4))
28+assert(a | b ~ c & d == 0xf4)
2929a=0xf0000000
3030;
3131b=0xcc000000
@@ -33,277 +33,277 @@ b=0xcc000000
3333c=0xaa000000
3434;
3535d=0xfd000000
36−assert(((a | (b ~ (c & d))) == 0xf4000000))
37−assert((~ (~ ((a == a) and (~ (a == (- ((0x1 ~ a) and (- (d == (~ (d + 0x1))))))))))))
38−a=(a << 0x20)
39−b=(b << 0x20)
40−c=(c << 0x20)
41−d=(d << 0x20)
42−assert(((a | (b ~ (c & d))) == (0xf4000000 << 0x20)))
43−assert((~ (~ ((a == a) and (~ (a == (- ((0x1 ~ a) and (- (d == (~ (d + 0x1))))))))))))
36+assert(a | b ~ c & d == 0xf4000000)
37+assert(~ ~ a == a and ~ a == - 0x1 ~ a and - d == ~ d + 0x1)
38+a=a << 0x20
39+b=b << 0x20
40+c=c << 0x20
41+d=d << 0x20
42+assert(a | b ~ c & d == 0xf4000000 << 0x20)
43+assert(~ ~ a == a and ~ a == - 0x1 ~ a and - d == ~ d + 0x1)
4444do
4545local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3e}\u{3e}\u{20}\u{25}\u{64}",math.maxinteger)
46−assert((load(code)() == 0x0))
46+assert(load(code)() == 0x0)
4747local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3e}\u{3e}\u{20}\u{25}\u{64}",math.mininteger)
48−assert((load(code)() == 0x0))
48+assert(load(code)() == 0x0)
4949local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{25}\u{64}",math.maxinteger)
50−assert((load(code)() == 0x0))
50+assert(load(code)() == 0x0)
5151local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2d}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{25}\u{64}",math.mininteger)
52−assert((load(code)() == 0x0))
52+assert(load(code)() == 0x0)
5353end
54−assert((- (((0x1 >> 0x1) == ((0x1 << (numbits - 0x1)) - 0x1)) and ((0x1 << 0x1f) == 0x80000000))))
55−assert((- ((0x1 >> (numbits - 0x1)) == 0x1)))
56−assert((- (((0x1 >> numbits) == 0x0) and (- (0x1 >> (- ((numbits == 0x0) and (- (((0x1 << numbits) == 0x0) and (- (0x1 << (- (numbits == 0x0)))))))))))))
57−assert(((0x1 >> math.mininteger) == 0x0))
58−assert(((0x1 >> math.maxinteger) == 0x0))
59−assert(((0x1 << math.mininteger) == 0x0))
60−assert(((0x1 << math.maxinteger) == 0x0))
61−assert(((((0x2 ^ 0x1e) - 0x1) << (0x2 ^ 0x1e)) == 0x0))
62−assert(((((0x2 ^ 0x1e) - 0x1) >> (0x2 ^ 0x1e)) == 0x0))
63−assert((0x1 >> (- ((0x3 == (0x1 << 0x3)) and ((0x3e8 >> 0x5) == (0x3e8 << (- 0x5)))))))
64−assert((("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}" | 0x0) == (- 0x1)))
65−assert((("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}" & "\u{2d}\u{31}") == (- 0x2)))
66−assert((("\u{20}\u{9}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}\u{a}\u{9}" & "\u{2d}\u{31}") == 0x2))
67−assert((("\u{20}\u{20}\u{20}\u{a}\u{20}\u{20}\u{2d}\u{34}\u{35}\u{20}\u{20}\u{9}\u{20}" >> "\u{20}\u{20}\u{2d}\u{32}\u{20}\u{20}") == (- (0x2d * 0x4))))
68−assert((("\u{31}\u{32}\u{33}\u{34}\u{2e}\u{30}" << "\u{35}\u{2e}\u{30}") == (0x4d2 * 0x20)))
69−assert((("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" ~ "\u{30}\u{78}\u{41}\u{41}\u{41}\u{41}") == 0x5555))
70−assert((~ ("\u{30}\u{78}\u{30}\u{2e}\u{30}\u{30}\u{30}\u{70}\u{34}" == (- 0x1))))
71−assert(((("\u{37}" .. 0x3) << 0x1) == 0x92))
72−assert(((0xffffffff >> (0x1 .. "\u{39}")) == 0x1fff))
73−assert(((0xa | (0x1 .. "\u{39}")) == 0x1b))
54+assert(- 0x1 >> 0x1 == (0x1 << (numbits - 0x1)) - 0x1 and 0x1 << 0x1f == 0x80000000)
55+assert(- 0x1 >> (numbits - 0x1) == 0x1)
56+assert(- 0x1 >> numbits == 0x0 and - 0x1 >> - numbits == 0x0 and - 0x1 << numbits == 0x0 and - 0x1 << - numbits == 0x0)
57+assert(0x1 >> math.mininteger == 0x0)
58+assert(0x1 >> math.maxinteger == 0x0)
59+assert(0x1 << math.mininteger == 0x0)
60+assert(0x1 << math.maxinteger == 0x0)
61+assert((0x2 ^ 0x1e - 0x1) << 0x2 ^ 0x1e == 0x0)
62+assert((0x2 ^ 0x1e - 0x1) >> 0x2 ^ 0x1e == 0x0)
63+assert(0x1 >> - 0x3 == 0x1 << 0x3 and 0x3e8 >> 0x5 == 0x3e8 << - 0x5)
64+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}" | 0x0 == - 0x1)
65+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}" & "\u{2d}\u{31}" == - 0x2)
66+assert("\u{20}\u{9}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{65}\u{a}\u{9}" & "\u{2d}\u{31}" == 0x2)
67+assert("\u{20}\u{20}\u{20}\u{a}\u{20}\u{20}\u{2d}\u{34}\u{35}\u{20}\u{20}\u{9}\u{20}" >> "\u{20}\u{20}\u{2d}\u{32}\u{20}\u{20}" == - 0x2d * 0x4)
68+assert("\u{31}\u{32}\u{33}\u{34}\u{2e}\u{30}" << "\u{35}\u{2e}\u{30}" == 0x4d2 * 0x20)
69+assert("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" ~ "\u{30}\u{78}\u{41}\u{41}\u{41}\u{41}" == 0x5555)
70+assert(~ "\u{30}\u{78}\u{30}\u{2e}\u{30}\u{30}\u{30}\u{70}\u{34}" == - 0x1)
71+assert(("\u{37}" .. 0x3) << 0x1 == 0x92)
72+assert(0xffffffff >> (0x1 .. "\u{39}") == 0x1fff)
73+assert(0xa | (0x1 .. "\u{39}") == 0x1b)
7474do
7575local st,msg = pcall(function ()
76−return (0x4 & "\u{61}")
76+return 0x4 & "\u{61}"
7777end)
7878assert(string.find(msg,"\u{27}\u{62}\u{61}\u{6e}\u{64}\u{27}"))
7979local st,msg = pcall(function ()
80−return (~ "\u{61}")
80+return ~ "\u{61}"
8181end)
8282assert(string.find(msg,"\u{27}\u{62}\u{6e}\u{6f}\u{74}\u{27}"))
8383end
84−assert((not pcall(function ()
85−return ("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" | 0x0)
86−end)))
87−assert((not pcall(function ()
88−return ("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{0}" | 0x0)
89−end)))
84+assert(not pcall(function ()
85+return "\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2e}\u{30}" | 0x0
86+end))
87+assert(not pcall(function ()
88+return "\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{0}" | 0x0
89+end))
9090print("\u{2b}")
9191package.preload.bit32=function ()
9292local bit = {}
9393function bit.bnot(a)
94−return (~ (a & 0xffffffff))
94+return ~ a & 0xffffffff
9595end
9696function bit.band(x,y,z, ...)
97−if (not z) then
98−return (((x or (- 0x1)) & (y or (- 0x1))) & 0xffffffff)
97+if not z then
98+return ((x or - 0x1) & (y or - 0x1)) & 0xffffffff
9999else
100100local arg = {...}
101−local res = ((x & y) & z)
102−for i = 0x1, (# arg)
101+local res = x & y & z
102+for i = 0x1, # arg
103103do
104−res=(res & arg[i])
104+res=res & arg[i]
105105end
106−return (res & 0xffffffff)
106+return res & 0xffffffff
107107end
108108end
109109function bit.bor(x,y,z, ...)
110−if (not z) then
111−return (((x or 0x0) | (y or 0x0)) & 0xffffffff)
110+if not z then
111+return ((x or 0x0) | (y or 0x0)) & 0xffffffff
112112else
113113local arg = {...}
114−local res = ((x | y) | z)
115−for i = 0x1, (# arg)
114+local res = x | y | z
115+for i = 0x1, # arg
116116do
117−res=(res | arg[i])
117+res=res | arg[i]
118118end
119−return (res & 0xffffffff)
119+return res & 0xffffffff
120120end
121121end
122122function bit.bxor(x,y,z, ...)
123−if (not z) then
124−return (((x or 0x0) ~ (y or 0x0)) & 0xffffffff)
123+if not z then
124+return ((x or 0x0) ~ (y or 0x0)) & 0xffffffff
125125else
126126local arg = {...}
127−local res = ((x ~ y) ~ z)
128−for i = 0x1, (# arg)
127+local res = x ~ y ~ z
128+for i = 0x1, # arg
129129do
130−res=(res ~ arg[i])
130+res=res ~ arg[i]
131131end
132−return (res & 0xffffffff)
132+return res & 0xffffffff
133133end
134134end
135135function bit.btest(...)
136−return (bit.band(...) ~= 0x0)
136+return bit.band(...) ~= 0x0
137137end
138138function bit.lshift(a,b)
139−return (((a & 0xffffffff) << b) & 0xffffffff)
139+return ((a & 0xffffffff) << b) & 0xffffffff
140140end
141141function bit.rshift(a,b)
142−return (((a & 0xffffffff) >> b) & 0xffffffff)
142+return ((a & 0xffffffff) >> b) & 0xffffffff
143143end
144144function bit.arshift(a,b)
145−a=(a & 0xffffffff)
146−if ((b <= 0x0) or ((a & 0x80000000) == 0x0)) then
147−return ((a >> b) & 0xffffffff)
145+a=a & 0xffffffff
146+if b <= 0x0 or (a & 0x80000000) == 0x0 then
147+return (a >> b) & 0xffffffff
148148else
149−return (((a >> b) | (~ (0xffffffff >> b))) & 0xffffffff)
149+return ((a >> b) | ~ (0xffffffff >> b)) & 0xffffffff
150150end
151151end
152152function bit.lrotate(a,b)
153−b=(b & 0x1f)
154−a=(a & 0xffffffff)
155−a=((a << b) | (a >> (0x20 - b)))
156−return (a & 0xffffffff)
153+b=b & 0x1f
154+a=a & 0xffffffff
155+a=(a << b) | (a >> (0x20 - b))
156+return a & 0xffffffff
157157end
158158function bit.rrotate(a,b)
159−return bit.lrotate(a,(- b))
159+return bit.lrotate(a,- b)
160160end
161161local function checkfield
162162(f,w)
163−w=(w or 0x1)
164−assert((f >= 0x0),"\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{6e}\u{65}\u{67}\u{61}\u{74}\u{69}\u{76}\u{65}")
165−assert((w > 0x0),"\u{77}\u{69}\u{64}\u{74}\u{68}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{76}\u{65}")
166−assert(((f + w) <= 0x20),"\u{74}\u{72}\u{79}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{63}\u{63}\u{65}\u{73}\u{73}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{20}\u{62}\u{69}\u{74}\u{73}")
167−return f,(~ (- (0x1 << w)))
163+w=w or 0x1
164+assert(f >= 0x0,"\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{6e}\u{65}\u{67}\u{61}\u{74}\u{69}\u{76}\u{65}")
165+assert(w > 0x0,"\u{77}\u{69}\u{64}\u{74}\u{68}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{62}\u{65}\u{20}\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{76}\u{65}")
166+assert(f + w <= 0x20,"\u{74}\u{72}\u{79}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{63}\u{63}\u{65}\u{73}\u{73}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{20}\u{62}\u{69}\u{74}\u{73}")
167+return f,~ (- 0x1 << w)
168168end
169169function bit.extract(a,f,w)
170170local f,mask = checkfield(f,w)
171−return ((a >> f) & mask)
171+return (a >> f) & mask
172172end
173173function bit.replace(a,v,f,w)
174174local f,mask = checkfield(f,w)
175−v=(v & mask)
176−a=((a & (~ (mask << f))) | (v << f))
177−return (a & 0xffffffff)
175+v=v & mask
176+a=(a & ~ (mask << f)) | (v << f)
177+return a & 0xffffffff
178178end
179179return bit
180180end
181181print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{74}\u{77}\u{69}\u{73}\u{65}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}")
182182local bit32 = require("\u{62}\u{69}\u{74}\u{33}\u{32}")
183−assert((bit32.band() == bit32.bnot(0x0)))
184−assert((bit32.btest() == true))
185−assert((bit32.bor() == 0x0))
186−assert((bit32.bxor() == 0x0))
187−assert((bit32.band() == bit32.band(0xffffffff)))
188−assert((bit32.band(0x1,0x2) == 0x0))
189−assert((bit32.band((- 0x1)) == 0xffffffff))
190−assert((bit32.band(((0x1 << 0x21) - 0x1)) == 0xffffffff))
191−assert((bit32.band((- ((0x1 << 0x21) - 0x1))) == 0xffffffff))
192−assert((bit32.band(((0x1 << 0x21) + 0x1)) == 0x1))
193−assert((bit32.band((- ((0x1 << 0x21) + 0x1))) == 0x1))
194−assert((bit32.band((- (0x1 << 0x28))) == 0x0))
195−assert((bit32.band((0x1 << 0x28)) == 0x0))
196−assert((bit32.band((- ((0x1 << 0x28) - 0x2))) == 0xfffffffe))
197−assert((bit32.band(((0x1 << 0x28) - 0x4)) == 0xfffffffc))
198−assert((bit32.lrotate(0x0,(- 0x1)) == 0x0))
199−assert((bit32.lrotate(0x0,0x7) == 0x0))
200−assert((bit32.lrotate(0x12345678,0x0) == 0x12345678))
201−assert((bit32.lrotate(0x12345678,0x20) == 0x12345678))
202−assert((bit32.lrotate(0x12345678,0x4) == 0x23456781))
203−assert((bit32.rrotate(0x12345678,(- 0x4)) == 0x23456781))
204−assert((bit32.lrotate(0x12345678,(- 0x8)) == 0x78123456))
205−assert((bit32.rrotate(0x12345678,0x8) == 0x78123456))
206−assert((bit32.lrotate(0xaaaaaaaa,0x2) == 0xaaaaaaaa))
207−assert((bit32.lrotate(0xaaaaaaaa,(- 0x2)) == 0xaaaaaaaa))
208−for i = (- 0x32), 0x32
183+assert(bit32.band() == bit32.bnot(0x0))
184+assert(bit32.btest() == true)
185+assert(bit32.bor() == 0x0)
186+assert(bit32.bxor() == 0x0)
187+assert(bit32.band() == bit32.band(0xffffffff))
188+assert(bit32.band(0x1,0x2) == 0x0)
189+assert(bit32.band(- 0x1) == 0xffffffff)
190+assert(bit32.band((0x1 << 0x21) - 0x1) == 0xffffffff)
191+assert(bit32.band(- (0x1 << 0x21) - 0x1) == 0xffffffff)
192+assert(bit32.band((0x1 << 0x21) + 0x1) == 0x1)
193+assert(bit32.band(- (0x1 << 0x21) + 0x1) == 0x1)
194+assert(bit32.band(- (0x1 << 0x28)) == 0x0)
195+assert(bit32.band(0x1 << 0x28) == 0x0)
196+assert(bit32.band(- (0x1 << 0x28) - 0x2) == 0xfffffffe)
197+assert(bit32.band((0x1 << 0x28) - 0x4) == 0xfffffffc)
198+assert(bit32.lrotate(0x0,- 0x1) == 0x0)
199+assert(bit32.lrotate(0x0,0x7) == 0x0)
200+assert(bit32.lrotate(0x12345678,0x0) == 0x12345678)
201+assert(bit32.lrotate(0x12345678,0x20) == 0x12345678)
202+assert(bit32.lrotate(0x12345678,0x4) == 0x23456781)
203+assert(bit32.rrotate(0x12345678,- 0x4) == 0x23456781)
204+assert(bit32.lrotate(0x12345678,- 0x8) == 0x78123456)
205+assert(bit32.rrotate(0x12345678,0x8) == 0x78123456)
206+assert(bit32.lrotate(0xaaaaaaaa,0x2) == 0xaaaaaaaa)
207+assert(bit32.lrotate(0xaaaaaaaa,- 0x2) == 0xaaaaaaaa)
208+for i = - 0x32, 0x32
209209do
210−assert((bit32.lrotate(0x89abcdef,i) == bit32.lrotate(0x89abcdef,(i % 0x20))))
210+assert(bit32.lrotate(0x89abcdef,i) == bit32.lrotate(0x89abcdef,i % 0x20))
211211end
212−assert((bit32.lshift(0x12345678,0x4) == 0x23456780))
213−assert((bit32.lshift(0x12345678,0x8) == 0x34567800))
214−assert((bit32.lshift(0x12345678,(- 0x4)) == 0x1234567))
215−assert((bit32.lshift(0x12345678,(- 0x8)) == 0x123456))
216−assert((bit32.lshift(0x12345678,0x20) == 0x0))
217−assert((bit32.lshift(0x12345678,(- 0x20)) == 0x0))
218−assert((bit32.rshift(0x12345678,0x4) == 0x1234567))
219−assert((bit32.rshift(0x12345678,0x8) == 0x123456))
220−assert((bit32.rshift(0x12345678,0x20) == 0x0))
221−assert((bit32.rshift(0x12345678,(- 0x20)) == 0x0))
222−assert((bit32.arshift(0x12345678,0x0) == 0x12345678))
223−assert((bit32.arshift(0x12345678,0x1) == (0x12345678 // 0x2)))
224−assert((bit32.arshift(0x12345678,(- 0x1)) == (0x12345678 * 0x2)))
225−assert((bit32.arshift((- 0x1),0x1) == 0xffffffff))
226−assert((bit32.arshift((- 0x1),0x18) == 0xffffffff))
227−assert((bit32.arshift((- 0x1),0x20) == 0xffffffff))
228−assert((bit32.arshift((- 0x1),(- 0x1)) == bit32.band((- (0x1 * 0x2)),0xffffffff)))
229−assert(((0x12345678 << 0x4) == 0x123456780))
230−assert(((0x12345678 << 0x8) == 0x1234567800))
231−assert((0x12345678 << (- (0x4 == 0x1234567))))
232−assert((0x12345678 << (- (0x8 == 0x123456))))
233−assert(((0x12345678 << 0x20) == 0x1234567800000000))
234−assert((0x12345678 << (- (0x20 == 0x0))))
235−assert(((0x12345678 >> 0x4) == 0x1234567))
236−assert(((0x12345678 >> 0x8) == 0x123456))
237−assert(((0x12345678 >> 0x20) == 0x0))
238−assert((0x12345678 >> (- (0x20 == 0x1234567800000000))))
212+assert(bit32.lshift(0x12345678,0x4) == 0x23456780)
213+assert(bit32.lshift(0x12345678,0x8) == 0x34567800)
214+assert(bit32.lshift(0x12345678,- 0x4) == 0x1234567)
215+assert(bit32.lshift(0x12345678,- 0x8) == 0x123456)
216+assert(bit32.lshift(0x12345678,0x20) == 0x0)
217+assert(bit32.lshift(0x12345678,- 0x20) == 0x0)
218+assert(bit32.rshift(0x12345678,0x4) == 0x1234567)
219+assert(bit32.rshift(0x12345678,0x8) == 0x123456)
220+assert(bit32.rshift(0x12345678,0x20) == 0x0)
221+assert(bit32.rshift(0x12345678,- 0x20) == 0x0)
222+assert(bit32.arshift(0x12345678,0x0) == 0x12345678)
223+assert(bit32.arshift(0x12345678,0x1) == 0x12345678 // 0x2)
224+assert(bit32.arshift(0x12345678,- 0x1) == 0x12345678 * 0x2)
225+assert(bit32.arshift(- 0x1,0x1) == 0xffffffff)
226+assert(bit32.arshift(- 0x1,0x18) == 0xffffffff)
227+assert(bit32.arshift(- 0x1,0x20) == 0xffffffff)
228+assert(bit32.arshift(- 0x1,- 0x1) == bit32.band(- 0x1 * 0x2,0xffffffff))
229+assert(0x12345678 << 0x4 == 0x123456780)
230+assert(0x12345678 << 0x8 == 0x1234567800)
231+assert(0x12345678 << - 0x4 == 0x1234567)
232+assert(0x12345678 << - 0x8 == 0x123456)
233+assert(0x12345678 << 0x20 == 0x1234567800000000)
234+assert(0x12345678 << - 0x20 == 0x0)
235+assert(0x12345678 >> 0x4 == 0x1234567)
236+assert(0x12345678 >> 0x8 == 0x123456)
237+assert(0x12345678 >> 0x20 == 0x0)
238+assert(0x12345678 >> - 0x20 == 0x1234567800000000)
239239print("\u{2b}")
240240local c = {0x0,0x1,0x2,0x3,0xa,0x80000000,0xaaaaaaaa,0x55555555,0xffffffff,0x7fffffff}
241241for _,b in pairs(c)
242242do
243−assert((bit32.band(b) == b))
244−assert((bit32.band(b,b) == b))
245−assert((bit32.band(b,b,b,b) == b))
246−assert((bit32.btest(b,b) == (b ~= 0x0)))
247−assert((bit32.band(b,b,b) == b))
248−assert((bit32.band(b,b,b,(~ b)) == 0x0))
249−assert((bit32.btest(b,b,b) == (b ~= 0x0)))
250−assert((bit32.band(b,bit32.bnot(b)) == 0x0))
251−assert((bit32.bor(b,bit32.bnot(b)) == bit32.bnot(0x0)))
252−assert((bit32.bor(b) == b))
253−assert((bit32.bor(b,b) == b))
254−assert((bit32.bor(b,b,b) == b))
255−assert((bit32.bor(b,b,0x0,(~ b)) == 0xffffffff))
256−assert((bit32.bxor(b) == b))
257−assert((bit32.bxor(b,b) == 0x0))
258−assert((bit32.bxor(b,b,b) == b))
259−assert((bit32.bxor(b,b,b,b) == 0x0))
260−assert((bit32.bxor(b,0x0) == b))
261−assert((bit32.bnot(b) ~= b))
262−assert((bit32.bnot(bit32.bnot(b)) == b))
263−assert((bit32.bnot(b) == (((0x1 << 0x20) - 0x1) - b)))
264−assert((bit32.lrotate(b,0x20) == b))
265−assert((bit32.rrotate(b,0x20) == b))
266−assert((bit32.lshift(bit32.lshift(b,(- 0x4)),0x4) == bit32.band(b,bit32.bnot(0xf))))
267−assert((bit32.rshift(bit32.rshift(b,0x4),(- 0x4)) == bit32.band(b,bit32.bnot(0xf))))
243+assert(bit32.band(b) == b)
244+assert(bit32.band(b,b) == b)
245+assert(bit32.band(b,b,b,b) == b)
246+assert(bit32.btest(b,b) == (b ~= 0x0))
247+assert(bit32.band(b,b,b) == b)
248+assert(bit32.band(b,b,b,~ b) == 0x0)
249+assert(bit32.btest(b,b,b) == (b ~= 0x0))
250+assert(bit32.band(b,bit32.bnot(b)) == 0x0)
251+assert(bit32.bor(b,bit32.bnot(b)) == bit32.bnot(0x0))
252+assert(bit32.bor(b) == b)
253+assert(bit32.bor(b,b) == b)
254+assert(bit32.bor(b,b,b) == b)
255+assert(bit32.bor(b,b,0x0,~ b) == 0xffffffff)
256+assert(bit32.bxor(b) == b)
257+assert(bit32.bxor(b,b) == 0x0)
258+assert(bit32.bxor(b,b,b) == b)
259+assert(bit32.bxor(b,b,b,b) == 0x0)
260+assert(bit32.bxor(b,0x0) == b)
261+assert(bit32.bnot(b) ~= b)
262+assert(bit32.bnot(bit32.bnot(b)) == b)
263+assert(bit32.bnot(b) == (0x1 << 0x20) - 0x1 - b)
264+assert(bit32.lrotate(b,0x20) == b)
265+assert(bit32.rrotate(b,0x20) == b)
266+assert(bit32.lshift(bit32.lshift(b,- 0x4),0x4) == bit32.band(b,bit32.bnot(0xf)))
267+assert(bit32.rshift(bit32.rshift(b,0x4),- 0x4) == bit32.band(b,bit32.bnot(0xf)))
268268end
269269c={0x0,0x1,0x2,0x3,0xa,0x800000,0xaaaaaa,0x555555,0xffffff,0x7fffff}
270270for _,b in pairs(c)
271271do
272−for i = (- 0x28), 0x28
272+for i = - 0x28, 0x28
273273do
274274local x = bit32.lshift(b,i)
275−local y = math.floor(math.fmod((b * (2.0 ^ i)),(2.0 ^ 0x20)))
276−assert((math.fmod((x - y),(2.0 ^ 0x20)) == 0x0))
275+local y = math.floor(math.fmod(b * 2.0 ^ i,2.0 ^ 0x20))
276+assert(math.fmod(x - y,2.0 ^ 0x20) == 0x0)
277277end
278278end
279−assert((not pcall(bit32.band,{})))
280−assert((not pcall(bit32.bnot,"\u{61}")))
281−assert((not pcall(bit32.lshift,0x2d)))
282−assert((not pcall(bit32.lshift,0x2d,print)))
283−assert((not pcall(bit32.rshift,0x2d,print)))
279+assert(not pcall(bit32.band,{}))
280+assert(not pcall(bit32.bnot,"\u{61}"))
281+assert(not pcall(bit32.lshift,0x2d))
282+assert(not pcall(bit32.lshift,0x2d,print))
283+assert(not pcall(bit32.rshift,0x2d,print))
284284print("\u{2b}")
285−assert((bit32.extract(0x12345678,0x0,0x4) == 0x8))
286−assert((bit32.extract(0x12345678,0x4,0x4) == 0x7))
287−assert((bit32.extract(0xa0001111,0x1c,0x4) == 0xa))
288−assert((bit32.extract(0xa0001111,0x1f,0x1) == 0x1))
289−assert((bit32.extract(0x50000111,0x1f,0x1) == 0x0))
290−assert((bit32.extract(0xf2345679,0x0,0x20) == 0xf2345679))
291−assert((not pcall(bit32.extract,0x0,(- 0x1))))
292−assert((not pcall(bit32.extract,0x0,0x20)))
293−assert((not pcall(bit32.extract,0x0,0x0,0x21)))
294−assert((not pcall(bit32.extract,0x0,0x1f,0x2)))
295−assert((bit32.replace(0x12345678,0x5,0x1c,0x4) == 0x52345678))
296−assert((bit32.replace(0x12345678,0x87654321,0x0,0x20) == 0x87654321))
297−assert((bit32.replace(0x0,0x1,0x2) == (0x2 ^ 0x2)))
298−assert((bit32.replace(0x0,(- 0x1),0x4) == (0x2 ^ 0x4)))
299−assert((bit32.replace((- 0x1),0x0,0x1f) == ((0x1 << 0x1f) - 0x1)))
300−assert((bit32.replace((- 0x1),0x0,0x1,0x2) == ((0x1 << 0x20) - 0x7)))
301−assert((bit32.bor(3.0) == 0x3))
302−assert((bit32.bor((- 4.0)) == 0xfffffffc))
303−if (((2.0 ^ 0x32) < ((2.0 ^ 0x32) + 1.0)) and ((2.0 ^ 0x32) < (- (0x1 >> 0x1)))) then
304−assert((bit32.bor(((2.0 ^ 0x20) - 5.0)) == 0xfffffffb))
305−assert((bit32.bor((- ((2.0 ^ 0x20) - 6.0))) == 0xfffffffa))
306−assert((bit32.bor(((2.0 ^ 0x30) - 5.0)) == 0xfffffffb))
307−assert((bit32.bor((- ((2.0 ^ 0x30) - 6.0))) == 0xfffffffa))
285+assert(bit32.extract(0x12345678,0x0,0x4) == 0x8)
286+assert(bit32.extract(0x12345678,0x4,0x4) == 0x7)
287+assert(bit32.extract(0xa0001111,0x1c,0x4) == 0xa)
288+assert(bit32.extract(0xa0001111,0x1f,0x1) == 0x1)
289+assert(bit32.extract(0x50000111,0x1f,0x1) == 0x0)
290+assert(bit32.extract(0xf2345679,0x0,0x20) == 0xf2345679)
291+assert(not pcall(bit32.extract,0x0,- 0x1))
292+assert(not pcall(bit32.extract,0x0,0x20))
293+assert(not pcall(bit32.extract,0x0,0x0,0x21))
294+assert(not pcall(bit32.extract,0x0,0x1f,0x2))
295+assert(bit32.replace(0x12345678,0x5,0x1c,0x4) == 0x52345678)
296+assert(bit32.replace(0x12345678,0x87654321,0x0,0x20) == 0x87654321)
297+assert(bit32.replace(0x0,0x1,0x2) == 0x2 ^ 0x2)
298+assert(bit32.replace(0x0,- 0x1,0x4) == 0x2 ^ 0x4)
299+assert(bit32.replace(- 0x1,0x0,0x1f) == (0x1 << 0x1f) - 0x1)
300+assert(bit32.replace(- 0x1,0x0,0x1,0x2) == (0x1 << 0x20) - 0x7)
301+assert(bit32.bor(3.0) == 0x3)
302+assert(bit32.bor(- 4.0) == 0xfffffffc)
303+if 2.0 ^ 0x32 < 2.0 ^ 0x32 + 1.0 and 2.0 ^ 0x32 < (- 0x1 >> 0x1) then
304+assert(bit32.bor(2.0 ^ 0x20 - 5.0) == 0xfffffffb)
305+assert(bit32.bor(- 2.0 ^ 0x20 - 6.0) == 0xfffffffa)
306+assert(bit32.bor(2.0 ^ 0x30 - 5.0) == 0xfffffffb)
307+assert(bit32.bor(- 2.0 ^ 0x30 - 6.0) == 0xfffffffa)
308308end
309309print("\u{4f}\u{4b}")
desk/res/lua/cycled/bwcoercion.lua+11−11
@@ -6,27 +6,27 @@ _ENV=nil
66local function toint
77(x)
88x=tonumber(x)
9−if (not x) then
9+if not x then
1010return false
1111end
1212return tointeger(x)
1313end
1414local function trymt
1515(x,y,mtname)
16−if (type(y) ~= "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") then
16+if type(y) ~= "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" then
1717local mt = getmetatable(y)
18−local mm = (mt and rawget(mt,mtname))
18+local mm = mt and rawget(mt,mtname)
1919if mm then
2020return mm(x,y)
2121end
2222end
23−error(("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{27}" .. (strsub(mtname,0x3) .. ("\u{27}\u{20}\u{61}\u{20}" .. (type(x) .. ("\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{61}\u{20}" .. type(y)))))),0x4)
23+error("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{27}" .. strsub(mtname,0x3) .. "\u{27}\u{20}\u{61}\u{20}" .. type(x) .. "\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{61}\u{20}" .. type(y),0x4)
2424end
2525local function checkargs
2626(x,y,mtname)
2727local xi = toint(x)
2828local yi = toint(y)
29−if (xi and yi) then
29+if xi and yi then
3030return xi,yi
3131else
3232return trymt(x,y,mtname),nil
@@ -35,25 +35,25 @@ end
3535local smt = getmetatable("")
3636smt.__band=function (x,y)
3737local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}")
38−return ((y and (x & y)) or x)
38+return y and x & y or x
3939end
4040smt.__bor=function (x,y)
4141local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{6f}\u{72}")
42−return ((y and (x | y)) or x)
42+return y and x | y or x
4343end
4444smt.__bxor=function (x,y)
4545local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}")
46−return ((y and (x ~ y)) or x)
46+return y and x ~ y or x
4747end
4848smt.__shl=function (x,y)
4949local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{6c}")
50−return ((y and (x << y)) or x)
50+return y and x << y or x
5151end
5252smt.__shr=function (x,y)
5353local x,y = checkargs(x,y,"\u{5f}\u{5f}\u{73}\u{68}\u{72}")
54−return ((y and (x >> y)) or x)
54+return y and x >> y or x
5555end
5656smt.__bnot=function (x)
5757local x,y = checkargs(x,x,"\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}")
58−return (y and (~ (x or x)))
58+return y and ~ x or x
5959end
desk/res/lua/cycled/calls.lua+136−136
@@ -1,64 +1,64 @@
11print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}")
22local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3−assert((type((0x1 < 0x2)) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}"))
4−assert(((type(true) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}") and (type(false) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")))
5−assert((((((type(nil) == "\u{6e}\u{69}\u{6c}") and (type((- 0x3)) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")) and (type("\u{78}") == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type({}) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")) and (type(type) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")))
6−assert((type(assert) == type(print)))
3+assert(type(0x1 < 0x2) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
4+assert(type(true) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}" and type(false) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
5+assert(type(nil) == "\u{6e}\u{69}\u{6c}" and type(- 0x3) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and type("\u{78}") == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type({}) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and type(type) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
6+assert(type(assert) == type(print))
77local function f
88(x)
99return a:x(x)
1010end
11−assert((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
12−assert((not pcall(type)))
11+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
12+assert(not pcall(type))
1313fact=false
1414do
1515local res = 0x1
1616local function fact
1717(n)
18−if (n == 0x0) then
18+if n == 0x0 then
1919return res
2020else
21−return (n * fact((n - 0x1)))
21+return n * fact(n - 0x1)
2222end
2323end
24−assert((fact(0x5) == 0x78))
24+assert(fact(0x5) == 0x78)
2525end
26−assert((fact == false))
26+assert(fact == false)
2727fact=nil
2828local a = {["\u{69}"] = 0xa}
2929local self = 0x14
3030function a:x(x)
31−return (x + self.i)
31+return x + self.i
3232end
3333function a.y(x)
34−return (x + self)
34+return x + self
3535end
36−assert(((a:x(0x1) + 0xa) == a.y(0x1)))
37−a.t={["\u{69}"] = (- 0x64)}
36+assert(a:x(0x1) + 0xa == a.y(0x1))
37+a.t={["\u{69}"] = - 0x64}
3838a["\u{74}"].x=function (self,a,b)
39−return ((self.i + a) + b)
39+return self.i + a + b
4040end
41−assert((a.t:x(0x2,0x3) == (- 0x5f)))
41+assert(a.t:x(0x2,0x3) == - 0x5f)
4242do
4343local a = {["\u{78}"] = 0x0}
4444function a:add(x)
45−self.x,a.y=(self.x + x),0x14
45+self.x,a.y=self.x + x,0x14
4646;
4747return self
4848end
49−assert(((a:add(0xa):add(0x14):add(0x1e).x == 0x3c) and (a.y == 0x14)))
49+assert(a:add(0xa):add(0x14):add(0x1e).x == 0x3c and a.y == 0x14)
5050end
5151local a = {["\u{62}"] = {["\u{63}"] = {}}}
5252function a.b.c.f1(x)
53−return (x + 0x1)
53+return x + 0x1
5454end
5555function a.b.c:f2(x,y)
5656self[x]=y
5757end
58−assert((a.b.c.f1(0x4) == 0x5))
58+assert(a.b.c.f1(0x4) == 0x5)
5959a.b.c:f2("\u{6b}",0xc)
6060;
61−assert((a.b.c.k == 0xc))
61+assert(a.b.c.k == 0xc)
6262print("\u{2b}")
6363t=nil
6464function f(a,b,c)
@@ -67,32 +67,32 @@ local d = "\u{61}"
6767t={a,b,c,d}
6868end
6969f(0x1,0x2)
70−assert(((((t[0x1] == 0x1) and (t[0x2] == 0x2)) and (t[0x3] == nil)) and (t[0x4] == "\u{61}")))
70+assert(t[0x1] == 0x1 and t[0x2] == 0x2 and t[0x3] == nil and t[0x4] == "\u{61}")
7171f(0x1,0x2,0x3,0x4)
72−assert(((((t[0x1] == 0x1) and (t[0x2] == 0x2)) and (t[0x3] == 0x3)) and (t[0x4] == "\u{61}")))
72+assert(t[0x1] == 0x1 and t[0x2] == 0x2 and t[0x3] == 0x3 and t[0x4] == "\u{61}")
7373t=nil
7474function fat(x)
75−if (x <= 0x1) then
75+if x <= 0x1 then
7676return 0x1
7777else
78−return (x * load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{61}\u{74}\u{28}" .. ((x - 0x1) .. "\u{29}")),"")())
78+return x * load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{61}\u{74}\u{28}" .. x - 0x1 .. "\u{29}","")()
7979end
8080end
8181assert(load("\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{27}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{66}\u{61}\u{74}\u{28}\u{36}\u{29}\u{3d}\u{3d}\u{37}\u{32}\u{30}\u{29}\u{27}\u{20}\u{28}\u{29}\u{20}"))()
8282a=load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{61}\u{74}\u{28}\u{35}\u{29}\u{2c}\u{20}\u{33}")
8383local a,b = a()
84−assert(((a == 0x78) and (b == 0x3)))
84+assert(a == 0x78 and b == 0x3)
8585fat=nil
8686print("\u{2b}")
8787local function err_on_n
8888(n)
89−if (n == 0x0) then
89+if n == 0x0 then
9090error()
9191;
9292exit(0x1)
9393;
9494else
95−err_on_n((n - 0x1))
95+err_on_n(n - 0x1)
9696;
9797exit(0x1)
9898;
@@ -101,39 +101,39 @@ end
101101do
102102local function dummy
103103(n)
104−if (n > 0x0) then
105−assert((not pcall(err_on_n,n)))
106−dummy((n - 0x1))
104+if n > 0x0 then
105+assert(not pcall(err_on_n,n))
106+dummy(n - 0x1)
107107end
108108end
109109dummy(0xa)
110110end
111111_G.deep=nil
112112function deep(n)
113−if (n > 0x0) then
114−deep((n - 0x1))
113+if n > 0x0 then
114+deep(n - 0x1)
115115end
116116end
117117deep(0xa)
118118deep(0xb4)
119119print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}")
120120function deep(n)
121−if (n > 0x0) then
122−return deep((n - 0x1))
121+if n > 0x0 then
122+return deep(n - 0x1)
123123else
124124return 0x65
125125end
126126end
127−assert((deep(0x7530) == 0x65))
127+assert(deep(0x7530) == 0x65)
128128a={}
129129function a:deep(n)
130−if (n > 0x0) then
131−return self:deep((n - 0x1))
130+if n > 0x0 then
131+return self:deep(n - 0x1)
132132else
133133return 0x65
134134end
135135end
136−assert((a:deep(0x7530) == 0x65))
136+assert(a:deep(0x7530) == 0x65)
137137do
138138local function foo
139139(x, ...)
@@ -143,21 +143,21 @@ return x,a[0x1],a[0x2]
143143end
144144local function foo1
145145(x)
146−return foo(0xa,x,(x + 0x1))
146+return foo(0xa,x,x + 0x1)
147147end
148−local a,b,c = foo1((- 0x2))
149−assert(((a == 0xa) and (b == (- (0x2 and (c == (- 0x1)))))))
148+local a,b,c = foo1(- 0x2)
149+assert(a == 0xa and b == - 0x2 and c == - 0x1)
150150local t = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
151151local function foo2
152152(x)
153153return t(0xa,x)
154154end
155155a,b,c=foo2(0x64)
156−assert((((a == t) and (b == 0xa)) and (c == 0x64)))
156+assert(a == t and b == 0xa and c == 0x64)
157157a,b=(function ()
158158return foo()
159159end)()
160−assert(((a == nil) and (b == nil)))
160+assert(a == nil and b == nil)
161161local X,Y,A
162162local function foo
163163(x,y, ...)
@@ -172,13 +172,13 @@ local function foo1
172172return foo(...)
173173end
174174local a,b,c = foo1()
175−assert((((X == nil) and (Y == nil)) and (# (A == 0x0))))
175+assert(X == nil and Y == nil and # A == 0x0)
176176a,b,c=foo1(0xa)
177−assert((((X == 0xa) and (Y == nil)) and (# (A == 0x0))))
177+assert(X == 0xa and Y == nil and # A == 0x0)
178178a,b,c=foo1(0xa,0x14)
179−assert((((X == 0xa) and (Y == 0x14)) and (# (A == 0x0))))
179+assert(X == 0xa and Y == 0x14 and # A == 0x0)
180180a,b,c=foo1(0xa,0x14,0x1e)
181−assert((((X == 0xa) and (Y == 0x14)) and (# ((A == 0x1) and (A[0x1] == 0x1e)))))
181+assert(X == 0xa and Y == 0x14 and # A == 0x1 and A[0x1] == 0x1e)
182182end
183183do
184184local function loop
@@ -186,16 +186,16 @@ local function loop
186186assert(pcall(loop))
187187end
188188local err,msg = xpcall(loop,loop)
189−assert((not (err and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}"))))
189+assert(not err and string.find(msg,"\u{65}\u{72}\u{72}\u{6f}\u{72}"))
190190end
191191do
192192local n = 0x2710
193193local function foo
194194()
195−if (n == 0x0) then
195+if n == 0x0 then
196196return 0x3ff
197197else
198−n=(n - 0x1)
198+n=n - 0x1
199199;
200200return foo()
201201end
@@ -204,9 +204,9 @@ for i = 0x1, 0x64
204204do
205205foo=setmetatable({},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = foo})
206206end
207−assert((coroutine.wrap(function ()
207+assert(coroutine.wrap(function ()
208208return foo()
209−end)() == 0x3ff))
209+end)() == 0x3ff)
210210end
211211print("\u{2b}")
212212do
@@ -217,20 +217,20 @@ do
217217u=setmetatable({i},{["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = u})
218218end
219219local Res = u("\u{61}","\u{62}","\u{63}")
220−assert((Res.n == (N + 0x3)))
220+assert(Res.n == N + 0x3)
221221for i = 0x1, N
222222do
223−assert((Res[i][0x1] == i))
223+assert(Res[i][0x1] == i)
224224end
225−assert((((Res[(N + 0x1)] == "\u{61}") and (Res[(N + 0x2)] == "\u{62}")) and (Res[(N + 0x3)] == "\u{63}")))
225+assert(Res[N + 0x1] == "\u{61}" and Res[N + 0x2] == "\u{62}" and Res[N + 0x3] == "\u{63}")
226226end
227227a=nil
228228(function (x)
229229a=x
230230end)(0x17)
231−assert(((a == 0x17) and ((function (x)
232−return (x * 0x2)
233−end)(0x14) == 0x28)))
231+assert(a == 0x17 and (function (x)
232+return x * 0x2
233+end)(0x14) == 0x28)
234234local Z = function (le)
235235local function a
236236(f)
@@ -242,45 +242,45 @@ return a(a)
242242end
243243local F = function (f)
244244return function (n)
245−if (n == 0x0) then
245+if n == 0x0 then
246246return 0x1
247247else
248−return (n * f((n - 0x1)))
248+return n * f(n - 0x1)
249249end
250250end
251251end
252252local fat = Z(F)
253−assert((((fat(0x0) == 0x1) and (fat(0x4) == 0x18)) and (Z(F)(0x5) == (0x5 * Z(F)(0x4)))))
253+assert(fat(0x0) == 0x1 and fat(0x4) == 0x18 and Z(F)(0x5) == 0x5 * Z(F)(0x4))
254254local function g
255255(z)
256256local function f
257257(a,b,c,d)
258258return function (x,y)
259−return (((((((a + b) + c) + d) + a) + x) + y) + z)
259+return a + b + c + d + a + x + y + z
260260end
261261end
262−return f(z,(z + 0x1),(z + 0x2),(z + 0x3))
262+return f(z,z + 0x1,z + 0x2,z + 0x3)
263263end
264264local f = g(0xa)
265−assert((f(0x9,0x10) == (((((((0xa + 0xb) + 0xc) + 0xd) + 0xa) + 0x9) + 0x10) + 0xa)))
265+assert(f(0x9,0x10) == 0xa + 0xb + 0xc + 0xd + 0xa + 0x9 + 0x10 + 0xa)
266266print("\u{2b}")
267267local function unlpack
268268(t,i)
269−i=(i or 0x1)
270−if (i <= (# t)) then
271−return t[i],unlpack(t,(i + 0x1))
269+i=i or 0x1
270+if (i <= # t) then
271+return t[i],unlpack(t,i + 0x1)
272272end
273273end
274274local function equaltab
275275(t1,t2)
276−assert((# (t1 == (# t2))))
277−for i = 0x1, (# t1)
276+assert(# t1 == # t2)
277+for i = 0x1, # t1
278278do
279−assert((t1[i] == t2[i]))
279+assert(t1[i] == t2[i])
280280end
281281end
282282local pack = function (...)
283−return table.pack(...)
283+return (table.pack(...))
284284end
285285local function f
286286()
@@ -291,23 +291,23 @@ local function ret2
291291return a,b
292292end
293293local a,b,c,d = unlpack({0x1,0x2,0x3})
294−assert(((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (d == nil)))
294+assert(a == 0x1 and b == 0x2 and c == 0x3 and d == nil)
295295a={0x1,0x2,0x3,0x4,false,0xa,"\u{61}\u{6c}\u{6f}",false,assert}
296296equaltab(pack(unlpack(a)),a)
297−equaltab(pack(unlpack(a),(- 0x1)),{0x1,(- 0x1)})
297+equaltab(pack(unlpack(a),- 0x1),{0x1,- 0x1})
298298a,b,c,d=ret2(f()),ret2(f())
299−assert(((((a == 0x1) and (b == 0x1)) and (c == 0x2)) and (d == nil)))
299+assert(a == 0x1 and b == 0x1 and c == 0x2 and d == nil)
300300a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
301−assert(((((a == 0x1) and (b == 0x1)) and (c == 0x2)) and (d == nil)))
302−a,b,c,d=unlpack(pack(ret2(f()),ret2(f())))
303−assert(((((a == 0x1) and (b == 0x1)) and (c == nil)) and (d == nil)))
301+assert(a == 0x1 and b == 0x1 and c == 0x2 and d == nil)
302+a,b,c,d=unlpack(pack(ret2(f()),(ret2(f()))))
303+assert(a == 0x1 and b == 0x1 and c == nil and d == nil)
304304a=ret2({unlpack({0x1,0x2,0x3}),unlpack({0x3,0x2,0x1}),unlpack({"\u{61}","\u{62}"})})
305−assert(((((a[0x1] == 0x1) and (a[0x2] == 0x3)) and (a[0x3] == "\u{61}")) and (a[0x4] == "\u{62}")))
305+assert(a[0x1] == 0x1 and a[0x2] == 0x3 and a[0x3] == "\u{61}" and a[0x4] == "\u{62}")
306306rawget({},"\u{78}",0x1)
307307rawset({},"\u{78}",0x1,0x2)
308−assert((math.sin(0x1,0x2) == math.sin(0x1)))
308+assert(math.sin(0x1,0x2) == math.sin(0x1))
309309table.sort({0xa,0x9,0x8,0x4,0x13,0x17,0x0,0x0},function (a,b)
310−return (a < b)
310+return a < b
311311end,"\u{65}\u{78}\u{74}\u{72}\u{61}\u{20}\u{61}\u{72}\u{67}")
312312local x = "\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{0}\u{0}\u{0}\u{a}\u{20}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{20}\u{2b}\u{20}\u{a}\u{32}\u{33}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{27}\u{68}\u{69}\u{27}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{0}\u{27}"
313313local function read1
@@ -315,55 +315,55 @@ local function read1
315315local i = 0x0
316316return function ()
317317collectgarbage()
318−i=(i + 0x1)
318+i=i + 0x1
319319return string.sub(x,i,i)
320320end
321321end
322322local function cannotload
323323(msg,a,b)
324−assert((not (a and string.find(b,msg))))
324+assert(not a and string.find(b,msg))
325325end
326326a=assert(load(read1(x),"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{74}",_G))
327−assert(((a() == "\u{0}") and (_G.x == 0x21)))
328−assert((debug.getinfo(a).source == "\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}"))
327+assert(a() == "\u{0}" and _G.x == 0x21)
328+assert(debug.getinfo(a).source == "\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}")
329329cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(read1(x),"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{62}",{}))
330330cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(x,"\u{6d}\u{6f}\u{64}\u{6e}\u{61}\u{6d}\u{65}","\u{62}"))
331331a=assert(load(function ()
332332return nil
333333end))
334334a()
335−assert((not load(function ()
335+assert(not load(function ()
336336return true
337−end)))
337+end))
338338local t = {nil,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{33}"}
339339f,msg=load(function ()
340340return table.remove(t,0x1)
341341end)
342−assert((f() == nil))
342+assert(f() == nil)
343343f=load(string.dump(function ()
344344return 0x1
345345end),nil,"\u{62}",{})
346−assert(((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (f() == 0x1)))
346+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and f() == 0x1)
347347do
348348local f = string.dump(function ()
349349return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
350350end)
351351f=load(read1(f))
352−assert((f() == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
352+assert(f() == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
353353end
354354x=string.dump(load("\u{78}\u{20}\u{3d}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}"))
355355a=assert(load(read1(x),nil,"\u{62}"))
356−assert(((a() == 0x1) and (_G.x == 0x1)))
356+assert(a() == 0x1 and _G.x == 0x1)
357357cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(read1(x),nil,"\u{74}"))
358358cannotload("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}",load(x,nil,"\u{74}"))
359359_G.x=nil
360−assert((not pcall(string.dump,print)))
360+assert(not pcall(string.dump,print))
361361cannotload("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}",load(read1("\u{2a}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{33}")))
362362cannotload("\u{75}\u{6e}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{79}\u{6d}\u{62}\u{6f}\u{6c}",load("\u{2a}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{33}"))
363363cannotload("\u{68}\u{68}\u{69}",load(function ()
364364error("\u{68}\u{68}\u{69}")
365365end))
366−assert((load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}",nil,nil,0x7b)() == 0x7b))
366+assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{45}\u{4e}\u{56}",nil,nil,0x7b)() == 0x7b)
367367local x
368368;
369369XX=0x7b
@@ -374,60 +374,60 @@ return XX
374374end
375375local d = string.dump(h)
376376x=load(d,"","\u{62}")
377−assert((debug.getupvalue(x,0x2) == "\u{5f}\u{45}\u{4e}\u{56}"))
377+assert(debug.getupvalue(x,0x2) == "\u{5f}\u{45}\u{4e}\u{56}")
378378debug.setupvalue(x,0x2,_G)
379−assert((x() == 0x7b))
380−assert((assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{2b}\u{20}\u{2e}\u{2e}\u{2e}",nil,nil,{["\u{58}\u{58}"] = 0xd}))(0x4) == 0x11))
379+assert(x() == 0x7b)
380+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{2b}\u{20}\u{2e}\u{2e}\u{2e}",nil,nil,{["\u{58}\u{58}"] = 0xd}))(0x4) == 0x11)
381381XX=nil
382382x="\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{79}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{7a}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{2b}\u{79}\u{2b}\u{7a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}"
383383a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{74}"))
384−assert((a()(0x2)(0x3)(0xa) == 0xf))
384+assert(a()(0x2)(0x3)(0xa) == 0xf)
385385x=string.dump(a)
386386a=assert(load(read1(x),"\u{72}\u{65}\u{61}\u{64}","\u{62}"))
387−assert((a()(0x2)(0x3)(0xa) == 0xf))
387+assert(a()(0x2)(0x3)(0xa) == 0xf)
388388local a,b = 0x14,0x1e
389389x=load(string.dump(function (x)
390−if (x == "\u{73}\u{65}\u{74}") then
391−a=(0xa + b)
390+if x == "\u{73}\u{65}\u{74}" then
391+a=0xa + b
392392;
393−b=(b + 0x1)
393+b=b + 0x1
394394else
395395return a
396396end
397397end),"","\u{62}",nil)
398−assert((x() == nil))
399−assert((debug.setupvalue(x,0x1,"\u{68}\u{69}") == "\u{61}"))
400−assert((x() == "\u{68}\u{69}"))
401−assert((debug.setupvalue(x,0x2,0xd) == "\u{62}"))
402−assert((not debug.setupvalue(x,0x3,0xa)))
398+assert(x() == nil)
399+assert(debug.setupvalue(x,0x1,"\u{68}\u{69}") == "\u{61}")
400+assert(x() == "\u{68}\u{69}")
401+assert(debug.setupvalue(x,0x2,0xd) == "\u{62}")
402+assert(not debug.setupvalue(x,0x3,0xa))
403403x("\u{73}\u{65}\u{74}")
404−assert((x() == 0x17))
404+assert(x() == 0x17)
405405x("\u{73}\u{65}\u{74}")
406−assert((x() == 0x18))
406+assert(x() == 0x18)
407407do
408408local nup = 0xc8
409409local prog = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}"}
410410for i = 0x2, nup
411411do
412−prog[(# (prog + 0x1))]=("\u{2c}\u{20}\u{61}" .. i)
412+prog[# prog + 0x1]="\u{2c}\u{20}\u{61}" .. i
413413end
414−prog[(# (prog + 0x1))]="\u{20}\u{3d}\u{20}\u{31}"
414+prog[# prog + 0x1]="\u{20}\u{3d}\u{20}\u{31}"
415415for i = 0x2, nup
416416do
417−prog[(# (prog + 0x1))]=("\u{2c}\u{20}" .. i)
417+prog[# prog + 0x1]="\u{2c}\u{20}" .. i
418418end
419419local sum = 0x1
420−prog[(# (prog + 0x1))]="\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{31}"
420+prog[# prog + 0x1]="\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{31}"
421421for i = 0x2, nup
422422do
423−prog[(# (prog + 0x1))]=("\u{20}\u{2b}\u{20}\u{61}" .. i)
423+prog[# prog + 0x1]="\u{20}\u{2b}\u{20}\u{61}" .. i
424424;
425−sum=(sum + i)
425+sum=sum + i
426426end
427−prog[(# (prog + 0x1))]="\u{20}\u{65}\u{6e}\u{64}"
427+prog[# prog + 0x1]="\u{20}\u{65}\u{6e}\u{64}"
428428prog=table.concat(prog)
429429local f = assert(load(prog))()
430−assert((f() == sum))
430+assert(f() == sum)
431431f=load(string.dump(f))
432432local a = 0xa
433433local h = function ()
@@ -437,26 +437,26 @@ for i = 0x1, nup
437437do
438438debug.upvaluejoin(f,i,h,0x1)
439439end
440−assert((f() == (0xa * nup)))
440+assert(f() == 0xa * nup)
441441end
442442do
443443local t = {["\u{78}"] = 0x1}
444444function t:_012345678901234567890123456789012345678901234567890123456789()
445445return self.x
446446end
447−assert((t:_012345678901234567890123456789012345678901234567890123456789() == 0x1))
447+assert(t:_012345678901234567890123456789012345678901234567890123456789() == 0x1)
448448end
449−assert(((function ()
449+assert((function ()
450450return nil
451−end)(0x4) == nil))
452−assert(((function ()
451+end)(0x4) == nil)
452+assert((function ()
453453local a
454454;
455455return a
456−end)(0x4) == nil))
457−assert(((function (a)
456+end)(0x4) == nil)
457+assert((function (a)
458458return a
459−end)() == nil))
459+end)() == nil)
460460print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{73}")
461461do
462462local header = string.pack("\u{63}\u{34}\u{42}\u{42}\u{63}\u{36}\u{42}\u{42}\u{42}","\u{1b}\u{4c}\u{75}\u{61}",0x54,0x0,"\u{19}\u{93}\u{d}\u{a}\u{1a}\u{a}",0x4,string.packsize("\u{6a}"),string.packsize("\u{6e}"))
@@ -466,26 +466,26 @@ local a = 0x1
466466local b = 0x3
467467;
468468local f = function ()
469−return ((a + b) + _ENV.c)
469+return a + b + _ENV.c
470470end
471471local s1 = "\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
472472local s2 = "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}"
473−return (a + (b * 0x3))
473+return a + b * 0x3
474474end)
475−assert((assert(load(c))() == 0xa))
476−assert((string.sub(c,0x1,(# header)) == header))
477−local ci,cn = string.unpack("\u{6a}\u{6e}",c,(# (header + 0x1)))
478−assert(((ci == 0x5678) and (cn == 370.5)))
479−for i = 0x1, (# header)
475+assert(assert(load(c))() == 0xa)
476+assert(string.sub(c,0x1,# header) == header)
477+local ci,cn = string.unpack("\u{6a}\u{6e}",c,# header + 0x1)
478+assert(ci == 0x5678 and cn == 370.5)
479+for i = 0x1, # header
480480do
481−local s = (string.sub(c,0x1,(i - 0x1)) .. (string.char((string.byte(string.sub(c,i,i)) + 0x1)) .. string.sub(c,(i + 0x1),(- 0x1))))
482−assert((# (s == (# c))))
483−assert((not load(s)))
481+local s = string.sub(c,0x1,i - 0x1) .. string.char(string.byte(string.sub(c,i,i)) + 0x1) .. string.sub(c,i + 0x1,- 0x1)
482+assert(# s == # c)
483+assert(not load(s))
484484end
485−for i = 0x1, (# (c - 0x1))
485+for i = 0x1, # c - 0x1
486486do
487487local st,msg = load(string.sub(c,0x1,i))
488−assert((not (st and string.find(msg,"\u{74}\u{72}\u{75}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{64}"))))
488+assert(not st and string.find(msg,"\u{74}\u{72}\u{75}\u{6e}\u{63}\u{61}\u{74}\u{65}\u{64}"))
489489end
490490end
491491print("\u{4f}\u{4b}")
desk/res/lua/cycled/closure.lua+77−77
@@ -8,11 +8,11 @@ do
88local y = 0x0
99do
1010a[i]=function ()
11−B.g=(B.g + 0x1)
11+B.g=B.g + 0x1
1212;
13−y=(y + x)
13+y=y + x
1414;
15−return (y + A)
15+return y + A
1616end
1717end
1818end
@@ -22,41 +22,41 @@ end
2222collectgarbage()
2323A=0x1
2424;
25−assert((dummy() == a[0x1]))
25+assert(dummy() == a[0x1])
2626;
2727A=0x0
2828;
29−assert((a[0x1]() == x))
30−assert((a[0x3]() == x))
29+assert(a[0x1]() == x)
30+assert(a[0x3]() == x)
3131collectgarbage()
32−assert((B.g == 0xc))
32+assert(B.g == 0xc)
3333return a
3434end
3535local a = f(0xa)
3636local x = {[0x1] = {}}
3737setmetatable(x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
3838while x[0x1] do
39−local a = (A .. (A .. (A .. A)))
40−A=(A + 0x1)
39+local a = A .. A .. A .. A
40+A=A + 0x1
4141end
42−assert((a[0x1]() == (0x14 + A)))
43−assert((a[0x1]() == (0x1e + A)))
44−assert((a[0x2]() == (0xa + A)))
42+assert(a[0x1]() == 0x14 + A)
43+assert(a[0x1]() == 0x1e + A)
44+assert(a[0x2]() == 0xa + A)
4545collectgarbage()
46−assert((a[0x2]() == (0x14 + A)))
47−assert((a[0x2]() == (0x1e + A)))
48−assert((a[0x3]() == (0x14 + A)))
49−assert((a[0x8]() == (0xa + A)))
50−assert((getmetatable(x).__mode == "\u{6b}\u{76}"))
51−assert((B.g == 0x13))
46+assert(a[0x2]() == 0x14 + A)
47+assert(a[0x2]() == 0x1e + A)
48+assert(a[0x3]() == 0x14 + A)
49+assert(a[0x8]() == 0xa + A)
50+assert(getmetatable(x).__mode == "\u{6b}\u{76}")
51+assert(B.g == 0x13)
5252a={}
5353for i = 0x1, 0x5
5454do
5555a[i]=function (x)
56−return ((i + a) + _ENV)
56+return i + a + _ENV
5757end
5858end
59−assert(((a[0x3] ~= a[0x4]) and (a[0x4] ~= a[0x5])))
59+assert(a[0x3] ~= a[0x4] and a[0x4] ~= a[0x5])
6060do
6161local a = function (x)
6262return math.sin(_ENV[x])
@@ -65,7 +65,7 @@ local function f
6565()
6666return a
6767end
68−assert((f() == f()))
68+assert(f() == f())
6969end
7070a={}
7171for i = 0x1, 0xa
@@ -75,19 +75,19 @@ i=x
7575end,["\u{67}\u{65}\u{74}"] = function ()
7676return i
7777end}
78−if (i == 0x3) then
78+if i == 0x3 then
7979break
8080end
8181end
82−assert((a[0x4] == undef))
82+assert(a[0x4] == undef)
8383a[0x1].set(0xa)
84−assert((a[0x2].get() == 0x2))
84+assert(a[0x2].get() == 0x2)
8585a[0x2].set("\u{61}")
86−assert((a[0x3].get() == 0x3))
87−assert((a[0x2].get() == "\u{61}"))
86+assert(a[0x3].get() == 0x3)
87+assert(a[0x2].get() == "\u{61}")
8888a={}
8989local t = {"\u{61}","\u{62}"}
90−for i = 0x1, (# t)
90+for i = 0x1, # t
9191do
9292local k = t[i]
9393a[i]={["\u{73}\u{65}\u{74}"] = function (x,y)
@@ -97,18 +97,18 @@ k=y
9797end,["\u{67}\u{65}\u{74}"] = function ()
9898return i,k
9999end}
100−if (i == 0x2) then
100+if i == 0x2 then
101101break
102102end
103103end
104104a[0x1].set(0xa,0x14)
105105local r,s = a[0x2].get()
106−assert(((r == 0x2) and (s == "\u{62}")))
106+assert(r == 0x2 and s == "\u{62}")
107107r,s=a[0x1].get()
108−assert(((r == 0xa) and (s == 0x14)))
108+assert(r == 0xa and s == 0x14)
109109a[0x2].set("\u{61}","\u{62}")
110110r,s=a[0x2].get()
111−assert(((r == "\u{61}") and (s == "\u{62}")))
111+assert(r == "\u{61}" and s == "\u{62}")
112112local f
113113for i = 0x1, 0x3
114114do
@@ -117,8 +117,8 @@ return i
117117end
118118break
119119end
120−assert((f() == 0x1))
121−for k = 0x1, (# t)
120+assert(f() == 0x1)
121+for k = 0x1, # t
122122do
123123local v = t[k]
124124f=function ()
@@ -126,31 +126,31 @@ return k,v
126126end
127127break
128128end
129−assert((({f()})[0x1] == 0x1))
130−assert((({f()})[0x2] == "\u{61}"))
129+assert(({f()})[0x1] == 0x1)
130+assert(({f()})[0x2] == "\u{61}")
131131local b
132132function f(x)
133133local first = 0x1
134134while 0x1 do
135−if ((x == 0x3) and (not first)) then
135+if x == 0x3 and not first then
136136return
137137end
138138local a = "\u{78}\u{75}\u{78}\u{75}"
139139b=function (op,y)
140−if (op == "\u{73}\u{65}\u{74}") then
141−a=(x + y)
140+if op == "\u{73}\u{65}\u{74}" then
141+a=x + y
142142else
143143return a
144144end
145145end
146−if (x == 0x1) then
146+if x == 0x1 then
147147do
148148break
149149end
150−elseif (x == 0x2) then
150+elseif x == 0x2 then
151151return
152152else
153−if (x ~= 0x3) then
153+if x ~= 0x3 then
154154error()
155155end
156156end
@@ -160,29 +160,29 @@ end
160160for i = 0x1, 0x3
161161do
162162f(i)
163−assert((b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}"))
163+assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
164164b("\u{73}\u{65}\u{74}",0xa)
165165;
166−assert((b("\u{67}\u{65}\u{74}") == (0xa + i)))
166+assert(b("\u{67}\u{65}\u{74}") == 0xa + i)
167167b=nil
168168end
169169pcall(f,0x4)
170170;
171−assert((b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}"))
171+assert(b("\u{67}\u{65}\u{74}") == "\u{78}\u{75}\u{78}\u{75}")
172172b("\u{73}\u{65}\u{74}",0xa)
173173;
174−assert((b("\u{67}\u{65}\u{74}") == 0xe))
174+assert(b("\u{67}\u{65}\u{74}") == 0xe)
175175local y,w
176176function f(x)
177177return function (y)
178178return function (z)
179−return (((w + x) + y) + z)
179+return w + x + y + z
180180end
181181end
182182end
183183y=f(0xa)
184184w=1.345
185−assert((y(0x14)(0x1e) == (0x3c + w)))
185+assert(y(0x14)(0x1e) == 0x3c + w)
186186do
187187local X,Y
188188local a = math.sin(0x0)
@@ -201,23 +201,23 @@ Y=function ()
201201return b
202202end
203203end
204−assert(((X() == 0xa) and (Y() == 0x14)))
204+assert(X() == 0xa and Y() == 0x14)
205205end
206206local a = {}
207207local i = 0x1
208208repeat
209209local x = i
210210a[i]=function ()
211−i=(x + 0x1)
211+i=x + 0x1
212212;
213213return x
214214end
215−until ((i > 0xa) or (a[i]() ~= x))
216−assert(((((i == 0xb) and (a[0x1]() == 0x1)) and (a[0x3]() == 0x3)) and (i == 0x4)))
215+until i > 0xa or a[i]() ~= x
216+assert(i == 0xb and a[0x1]() == 0x1 and a[0x3]() == 0x3 and i == 0x4)
217217a={}
218218for i = 0x1, 0xa
219219do
220−if ((i % 0x3) == 0x0) then
220+if i % 0x3 == 0x0 then
221221local y = 0x0
222222a[i]=function (x)
223223local t = y
@@ -226,7 +226,7 @@ y=x
226226;
227227return t
228228end
229−elseif ((i % 0x3) == 0x1) then
229+elseif i % 0x3 == 0x1 then
230230goto L1
231231error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
232232::L1::
@@ -238,7 +238,7 @@ y=x
238238;
239239return t
240240end
241−elseif ((i % 0x3) == 0x2) then
241+elseif i % 0x3 == 0x2 then
242242local t
243243goto l4
244244::l4a::
@@ -262,18 +262,18 @@ end
262262end
263263for i = 0x1, 0xa
264264do
265−assert(((a[i]((i * 0xa)) == (i % 0x3)) and (a[i]() == (i * 0xa))))
265+assert(a[i](i * 0xa) == i % 0x3 and a[i]() == i * 0xa)
266266end
267267print("\u{2b}")
268268local function t
269269()
270270local function c
271271(a,b)
272−assert(((a == "\u{74}\u{65}\u{73}\u{74}") and (b == "\u{4f}\u{4b}")))
272+assert(a == "\u{74}\u{65}\u{73}\u{74}" and b == "\u{4f}\u{4b}")
273273end
274274local function v
275275(f, ...)
276−c("\u{74}\u{65}\u{73}\u{74}",(((f() ~= 0x1) and "\u{46}\u{41}\u{49}\u{4c}\u{45}\u{44}") or "\u{4f}\u{4b}"))
276+c("\u{74}\u{65}\u{73}\u{74}",f() ~= 0x1 and "\u{46}\u{41}\u{49}\u{4c}\u{45}\u{44}" or "\u{4f}\u{4b}")
277277end
278278local x = 0x1
279279return v(function ()
@@ -286,42 +286,42 @@ local foo1,foo2,foo3
286286do
287287local a,b,c = 0x3,0x5,0x7
288288foo1=function ()
289−return (a + b)
289+return a + b
290290end
291291;
292292foo2=function ()
293−return (b + a)
293+return b + a
294294end
295295;
296296do
297297local a = 0xa
298298foo3=function ()
299−return (a + b)
299+return a + b
300300end
301301;
302302end
303303end
304304assert(debug.upvalueid(foo1,0x1))
305305assert(debug.upvalueid(foo1,0x2))
306−assert((not debug.upvalueid(foo1,0x3)))
307−assert((debug.upvalueid(foo1,0x1) == debug.upvalueid(foo2,0x2)))
308−assert((debug.upvalueid(foo1,0x2) == debug.upvalueid(foo2,0x1)))
306+assert(not debug.upvalueid(foo1,0x3))
307+assert(debug.upvalueid(foo1,0x1) == debug.upvalueid(foo2,0x2))
308+assert(debug.upvalueid(foo1,0x2) == debug.upvalueid(foo2,0x1))
309309assert(debug.upvalueid(foo3,0x1))
310−assert((debug.upvalueid(foo1,0x1) ~= debug.upvalueid(foo3,0x1)))
311−assert((debug.upvalueid(foo1,0x2) == debug.upvalueid(foo3,0x2)))
312−assert((debug.upvalueid(string.gmatch("\u{78}","\u{78}"),0x1) ~= nil))
313−assert(((foo1() == (0x3 + 0x5)) and (foo2() == (0x5 + 0x3))))
310+assert(debug.upvalueid(foo1,0x1) ~= debug.upvalueid(foo3,0x1))
311+assert(debug.upvalueid(foo1,0x2) == debug.upvalueid(foo3,0x2))
312+assert(debug.upvalueid(string.gmatch("\u{78}","\u{78}"),0x1) ~= nil)
313+assert(foo1() == 0x3 + 0x5 and foo2() == 0x5 + 0x3)
314314debug.upvaluejoin(foo1,0x2,foo2,0x2)
315−assert(((foo1() == (0x3 + 0x3)) and (foo2() == (0x5 + 0x3))))
316−assert((foo3() == (0xa + 0x5)))
315+assert(foo1() == 0x3 + 0x3 and foo2() == 0x5 + 0x3)
316+assert(foo3() == 0xa + 0x5)
317317debug.upvaluejoin(foo3,0x2,foo2,0x1)
318−assert((foo3() == (0xa + 0x5)))
318+assert(foo3() == 0xa + 0x5)
319319debug.upvaluejoin(foo3,0x2,foo2,0x2)
320−assert((foo3() == (0xa + 0x3)))
321−assert((not pcall(debug.upvaluejoin,foo1,0x3,foo2,0x1)))
322−assert((not pcall(debug.upvaluejoin,foo1,0x1,foo2,0x3)))
323−assert((not pcall(debug.upvaluejoin,foo1,0x0,foo2,0x1)))
324−assert((not pcall(debug.upvaluejoin,print,0x1,foo2,0x1)))
325−assert((not pcall(debug.upvaluejoin,{},0x1,foo2,0x1)))
326−assert((not pcall(debug.upvaluejoin,foo1,0x1,print,0x1)))
320+assert(foo3() == 0xa + 0x3)
321+assert(not pcall(debug.upvaluejoin,foo1,0x3,foo2,0x1))
322+assert(not pcall(debug.upvaluejoin,foo1,0x1,foo2,0x3))
323+assert(not pcall(debug.upvaluejoin,foo1,0x0,foo2,0x1))
324+assert(not pcall(debug.upvaluejoin,print,0x1,foo2,0x1))
325+assert(not pcall(debug.upvaluejoin,{},0x1,foo2,0x1))
326+assert(not pcall(debug.upvaluejoin,foo1,0x1,print,0x1))
327327print("\u{4f}\u{4b}")
desk/res/lua/cycled/code.lua+144−144
@@ -1,4 +1,4 @@
1−if (T == nil) then
1+if T == nil then
22(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{70}\u{63}\u{6f}\u{64}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
33return
44end
@@ -7,11 +7,11 @@ local k0aux <const> = 0x0
77local k0 <const> = k0aux
88local k1 <const> = 0x1
99local k3 <const> = 0x3
10−local k6 <const> = (k3 + (k3 << k0))
10+local k6 <const> = k3 + (k3 << k0)
1111local kFF0 <const> = 0xff0
1212local k3_78 <const> = 3.78
13−local x,k3_78_4 <const> = 0xa,(k3_78 / 0x4)
14−assert((x == 0xa))
13+local x,k3_78_4 <const> = 0xa,k3_78 / 0x4
14+assert(x == 0xa)
1515local kx <const> = "\u{78}"
1616local kTrue <const> = true
1717local kFalse <const> = false
@@ -28,10 +28,10 @@ end
2828local function checkKlist
2929(func,list)
3030local k = T.listk(func)
31−assert((# (k == (# list))))
32−for i = 0x1, (# k)
31+assert(# k == # list)
32+for i = 0x1, # k
3333do
34−assert(((k[i] == list[i]) and (math.type(k[i]) == math.type(list[i]))))
34+assert(k[i] == list[i] and math.type(k[i]) == math.type(list[i]))
3535end
3636end
3737local function foo
@@ -43,20 +43,20 @@ a=0x0
4343;
4444a=0.0
4545;
46−a=(- (0x7 + 0x7))
47−a=(k3_78 / 0x4)
46+a=- 0x7 + 0x7
47+a=k3_78 / 0x4
4848;
4949a=k3_78_4
50−a=(- (k3_78 / 0x4))
50+a=- k3_78 / 0x4
5151;
52−a=(k3_78 / 0x4)
52+a=k3_78 / 0x4
5353;
54−a=(- (3.78 / 0x4))
55−a=(- (3.79 / 0x4))
54+a=- 3.78 / 0x4
55+a=- 3.79 / 0x4
5656;
5757a=0.0
5858;
59−a=(- 0x0)
59+a=- 0x0
6060;
6161a=k3
6262;
@@ -66,18 +66,18 @@ a=0x3
6666;
6767a=3.0
6868end
69−checkKlist(foo,{(3.78 / 0x4),(- (3.78 / 0x4)),(- (3.79 / 0x4))})
69+checkKlist(foo,{3.78 / 0x4,- 3.78 / 0x4,- 3.79 / 0x4})
7070foo=function (f,a)
71−f((0x64 * 0x3e8))
72−f((100.0 * 0x3e8))
73−f((- (0x64 * 0x3e8)))
74−f((- (0x64 * 1e3)))
71+f(0x64 * 0x3e8)
72+f(100.0 * 0x3e8)
73+f(- 0x64 * 0x3e8)
74+f(- 0x64 * 1e3)
7575f(0x186a0)
7676f(1e5)
77−f((- 0x186a0))
78−f((- 1e5))
77+f(- 0x186a0)
78+f(- 1e5)
7979end
80−checkKlist(foo,{0x186a0,1e5,(- 0x186a0),(- 1e5)})
80+checkKlist(foo,{0x186a0,1e5,- 0x186a0,- 1e5})
8181foo=function (t,a)
8282t[a]=0x1
8383;
@@ -106,29 +106,29 @@ local function check
106106(f, ...)
107107local arg = {...}
108108local c = T.listcode(f)
109−for i = 0x1, (# arg)
109+for i = 0x1, # arg
110110do
111111local opcode = string.match(c[i],"\u{25}\u{75}\u{25}\u{77}\u{2b}")
112−assert((arg[i] == opcode))
112+assert(arg[i] == opcode)
113113end
114−assert((c[(# (arg + 0x2))] == undef))
114+assert(c[# arg + 0x2] == undef)
115115end
116116local function checkR
117117(f,p,r, ...)
118118local r1 = f(p)
119−assert(((r == r1) and (math.type(r) == math.type(r1))))
119+assert(r == r1 and math.type(r) == math.type(r1))
120120check(f,...)
121121end
122122local function checkequal
123123(a,b)
124124a=T.listcode(a)
125125b=T.listcode(b)
126−assert((# (a == (# b))))
127−for i = 0x1, (# a)
126+assert(# a == # b)
127+for i = 0x1, # a
128128do
129129a[i]=string.gsub(a[i],"\u{25}\u{62}\u{28}\u{29}","")
130130b[i]=string.gsub(b[i],"\u{25}\u{62}\u{28}\u{29}","")
131−assert((a[i] == b[i]))
131+assert(a[i] == b[i])
132132end
133133end
134134check(function ()
@@ -180,19 +180,19 @@ c=nil
180180b=nil
181181;
182182a=nil
183−assert(((((a == nil) and (b == nil)) and (c == nil)) and (d == nil)))
183+assert(a == nil and b == nil and c == nil and d == nil)
184184end
185185check(function (a,b,c)
186186return a
187187end,"\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
188188check(function ()
189189while kTrue do
190−local a = (- 0x1)
190+local a = - 0x1
191191end
192192end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
193193check(function ()
194194while 0x1 do
195−local a = (- 0x1)
195+local a = - 0x1
196196end
197197end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
198198check(function ()
@@ -201,24 +201,24 @@ local x = 0x1
201201until true
202202end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
203203check(function (a,b,c,d)
204−return (a .. (b .. (c .. d)))
204+return a .. b .. c .. d
205205end,"\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{4d}\u{4f}\u{56}\u{45}","\u{43}\u{4f}\u{4e}\u{43}\u{41}\u{54}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
206206check(function ()
207−return (not (not nil))
207+return not not nil
208208end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}\u{41}\u{4c}\u{53}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
209209check(function ()
210−return (not (not kFalse))
210+return not not kFalse
211211end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}\u{41}\u{4c}\u{53}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
212212check(function ()
213−return (not (not true))
213+return not not true
214214end,"\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
215215check(function ()
216−return (not (not k3))
216+return not not k3
217217end,"\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
218218check(function ()
219219local a,b,c,d
220−a=(b * a)
221−c.x,a[b]=(- (((a + (d / b)) - a[b]) ^ a.x)),b
220+a=b * a
221+c.x,a[b]=- ((a + d / b - a[b]) ^ a.x),b
222222end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{4d}\u{55}\u{4c}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{44}\u{49}\u{56}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{41}\u{44}\u{44}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{55}\u{42}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{47}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{50}\u{4f}\u{57}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{55}\u{4e}\u{4d}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{45}\u{54}\u{46}\u{49}\u{45}\u{4c}\u{44}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
223223check(function ()
224224local a,b
@@ -235,76 +235,76 @@ a[0x100]=0x5
235235end,"\u{47}\u{45}\u{54}\u{49}","\u{53}\u{45}\u{54}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{47}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{53}\u{45}\u{54}\u{49}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
236236check(function ()
237237local a,b
238−a=(a - a)
239−b=(a / a)
240−b=(0x5 - 0x4)
238+a=a - a
239+b=a / a
240+b=0x5 - 0x4
241241end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{53}\u{55}\u{42}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{44}\u{49}\u{56}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
242242check(function ()
243243local a,b
244244a[kTrue]=false
245245end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{4c}\u{4f}\u{41}\u{44}\u{54}\u{52}\u{55}\u{45}","\u{53}\u{45}\u{54}\u{54}\u{41}\u{42}\u{4c}\u{45}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
246246checkR(function (a)
247−if (a == 0x1) then
247+if a == 0x1 then
248248return 0x2
249249end
250250end,0x1,0x2,"\u{45}\u{51}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
251251checkR(function (a)
252−if (- (4.0 == a)) then
252+if - 4.0 == a then
253253return 0x2
254254end
255−end,(- 0x4),0x2,"\u{45}\u{51}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
255+end,- 0x4,0x2,"\u{45}\u{51}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
256256checkR(function (a)
257−if (a == "\u{68}\u{69}") then
257+if a == "\u{68}\u{69}" then
258258return 0x2
259259end
260260end,0xa,nil,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
261261checkR(function (a)
262−if (a == 0x2710) then
262+if a == 0x2710 then
263263return 0x2
264264end
265265end,0x1,nil,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
266266checkR(function (a)
267−if (- (0x2710 == a)) then
267+if - 0x2710 == a then
268268return 0x2
269269end
270−end,(- 0x2710),0x2,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
270+end,- 0x2710,0x2,"\u{45}\u{51}\u{4b}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
271271checkR(function (a)
272−if (- (0xa <= a)) then
272+if - 0xa <= a then
273273return 0x2
274274end
275−end,(- 0xa),0x2,"\u{47}\u{45}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
275+end,- 0xa,0x2,"\u{47}\u{45}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
276276checkR(function (a)
277−if (128.0 > a) then
277+if 128.0 > a then
278278return 0x2
279279end
280280end,0x81,nil,"\u{4c}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
281281checkR(function (a)
282−if (- (127.0 < a)) then
282+if - 127.0 < a then
283283return 0x2
284284end
285−end,(- 0x7f),nil,"\u{47}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
285+end,- 0x7f,nil,"\u{47}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
286286checkR(function (a)
287−if (0xa < a) then
287+if 0xa < a then
288288return 0x2
289289end
290290end,0xb,0x2,"\u{47}\u{54}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
291291checkR(function (a)
292−if (0x81 < a) then
292+if 0x81 < a then
293293return 0x2
294294end
295295end,0x82,0x2,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4c}\u{54}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
296296checkR(function (a)
297−if (a >= 23.0) then
297+if a >= 23.0 then
298298return 0x2
299299end
300300end,0x19,0x2,"\u{47}\u{45}\u{49}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
301301checkR(function (a)
302−if (a >= 23.1) then
302+if a >= 23.1 then
303303return 0x2
304304end
305305end,0x0,nil,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{4c}\u{45}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
306306checkR(function (a)
307−if (a > 2300.0) then
307+if a > 2300.0 then
308308return 0x2
309309end
310310end,0x0,nil,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{4c}\u{54}","\u{4a}\u{4d}\u{50}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
@@ -312,19 +312,19 @@ local function checkK
312312(func,val)
313313check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
314314checkKlist(func,{val})
315−assert((func() == val))
315+assert(func() == val)
316316end
317317local function checkI
318318(func,val)
319319check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
320320checkKlist(func,{})
321−assert((func() == val))
321+assert(func() == val)
322322end
323323local function checkF
324324(func,val)
325325check(func,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
326326checkKlist(func,{})
327−assert((func() == val))
327+assert(func() == val)
328328end
329329checkF(function ()
330330return 0.0
@@ -333,168 +333,168 @@ checkI(function ()
333333return k0
334334end,0x0)
335335checkI(function ()
336−return (- (k0 // 0x1))
336+return - k0 // 0x1
337337end,0x0)
338338checkK(function ()
339−return (0x3 ^ (- 0x1))
340−end,(0x1 / 0x3))
339+return 0x3 ^ - 0x1
340+end,0x1 / 0x3)
341341checkK(function ()
342−return ((0x1 + 0x1) ^ (0x32 + 0x32))
343−end,(0x2 ^ 0x64))
342+return (0x1 + 0x1) ^ (0x32 + 0x32)
343+end,0x2 ^ 0x64)
344344checkK(function ()
345−return ((- 0x2) ^ (0x1f - 0x2))
346−end,(- (0x20000000 + 0.0)))
345+return (- 0x2) ^ (0x1f - 0x2)
346+end,- 0x20000000 + 0.0)
347347checkF(function ()
348−return ((- ((k3 ^ 0x0) + 0x5)) // 3.0)
348+return (- k3 ^ 0x0 + 0x5) // 3.0
349349end,1.0)
350350checkI(function ()
351−return (- (k3 % 0x5))
351+return - k3 % 0x5
352352end,0x2)
353353checkF(function ()
354−return (- ((((((2.0 ^ 0x8) + (- (- 0x1))) % 0x8) / 0x2) * 0x4) - 0x3))
355−end,(- 5.0))
354+return - ((2.0 ^ 0x8 + - (- 0x1)) % 0x8) / 0x2 * 0x4 - 0x3
355+end,- 5.0)
356356checkF(function ()
357−return (- ((((((0x2 ^ 0x8) + (- (- 0x1))) % 0x8) // 0x2) * 0x4) - 0x3))
358−end,(- 7.0))
357+return - ((0x2 ^ 0x8 + - (- 0x1)) % 0x8) // 0x2 * 0x4 - 0x3
358+end,- 7.0)
359359checkI(function ()
360−return (240.0 | (204.0 ~ (0xaa & 0xfd)))
360+return 240.0 | 204.0 ~ 0xaa & 0xfd
361361end,0xf4)
362362checkI(function ()
363−return (~ (~ (kFF0 | kFF0)))
363+return ~ (~ kFF0 | kFF0)
364364end,0x0)
365365checkI(function ()
366−return (~ (~ (- 1024.0)))
367−end,(- 0x400))
366+return ~ ~ - 1024.0
367+end,- 0x400)
368368checkI(function ()
369−return (((0x64 << k6) << (- 0x4)) >> 0x2)
369+return ((0x64 << k6) << - 0x4) >> 0x2
370370end,0x64)
371371local a = 0x11
372372;
373−local sbx = (((0x1 << a) - 0x1) >> 0x1)
373+local sbx = ((0x1 << a) - 0x1) >> 0x1
374374local border <const> = 0xffff
375375checkI(function ()
376376return border
377377end,sbx)
378378checkI(function ()
379−return (- border)
380−end,(- sbx))
379+return - border
380+end,- sbx)
381381checkI(function ()
382−return (border + 0x1)
383−end,(sbx + 0x1))
382+return border + 0x1
383+end,sbx + 0x1)
384384checkK(function ()
385−return (border + 0x2)
386−end,(sbx + 0x2))
385+return border + 0x2
386+end,sbx + 0x2)
387387checkK(function ()
388−return (- (border + 0x1))
389−end,(- (sbx + 0x1)))
388+return - (border + 0x1)
389+end,- (sbx + 0x1))
390390local border <const> = 65535.0
391391checkF(function ()
392392return border
393−end,(sbx + 0.0))
393+end,sbx + 0.0)
394394checkF(function ()
395−return (- border)
396−end,(- (sbx + 0.0)))
395+return - border
396+end,- sbx + 0.0)
397397checkF(function ()
398−return (border + 0x1)
398+return border + 0x1
399399end,(sbx + 1.0))
400400checkK(function ()
401−return (border + 0x2)
401+return border + 0x2
402402end,(sbx + 2.0))
403403checkK(function ()
404−return (- (border + 0x1))
405−end,(- (sbx + 1.0)))
404+return - (border + 0x1)
405+end,- (sbx + 1.0))
406406checkR(function (x)
407−return (x + k1)
407+return x + k1
408408end,0xa,0xb,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
409409checkR(function (x)
410−return (x - 0x7f)
411−end,0xa,(- 0x75),"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
410+return x - 0x7f
411+end,0xa,- 0x75,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
412412checkR(function (x)
413−return (0x80 + x)
413+return 0x80 + x
414414end,0.0,128.0,"\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
415415checkR(function (x)
416−return (x * (- 0x7f))
417−end,(- 1.0),127.0,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
416+return x * - 0x7f
417+end,- 1.0,127.0,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
418418checkR(function (x)
419−return (0x14 * x)
419+return 0x14 * x
420420end,0x2,0x28,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
421421checkR(function (x)
422−return (x ^ (- 0x2))
422+return x ^ - 0x2
423423end,0x2,0.25,"\u{50}\u{4f}\u{57}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
424424checkR(function (x)
425−return (x / 0x28)
425+return x / 0x28
426426end,0x28,1.0,"\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
427427checkR(function (x)
428−return (x // 0x1)
428+return x // 0x1
429429end,10.0,10.0,"\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
430430checkR(function (x)
431−return (x % (0x64 - 0xa))
431+return x % (0x64 - 0xa)
432432end,0x5b,0x1,"\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
433433checkR(function (x)
434−return (k1 << x)
434+return k1 << x
435435end,0x3,0x8,"\u{53}\u{48}\u{4c}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
436436checkR(function (x)
437−return (x << 0x7f)
437+return x << 0x7f
438438end,0xa,0x0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
439439checkR(function (x)
440−return (x << (- 0x7f))
440+return x << - 0x7f
441441end,0xa,0x0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
442442checkR(function (x)
443−return (x >> 0x80)
443+return x >> 0x80
444444end,0x8,0x0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
445445checkR(function (x)
446−return (x >> (- 0x7f))
446+return x >> - 0x7f
447447end,0x8,0x0,"\u{53}\u{48}\u{52}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
448448checkR(function (x)
449−return (x & 0x1)
449+return x & 0x1
450450end,0x9,0x1,"\u{42}\u{41}\u{4e}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
451451checkR(function (x)
452−return (0xa | x)
452+return 0xa | x
453453end,0x1,0xb,"\u{42}\u{4f}\u{52}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
454454checkR(function (x)
455−return (- (0xa ~ x))
456−end,(- 0x1),0x9,"\u{42}\u{58}\u{4f}\u{52}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
455+return - 0xa ~ x
456+end,- 0x1,0x9,"\u{42}\u{58}\u{4f}\u{52}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
457457checkR(function (x)
458−return (x + 0.0)
458+return x + 0.0
459459end,0x1,1.0,"\u{41}\u{44}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
460460checkR(function (x)
461−return (x * (- 0x2710))
462−end,0x2,(- 0x4e20),"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
461+return x * - 0x2710
462+end,0x2,- 0x4e20,"\u{4d}\u{55}\u{4c}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
463463checkR(function (x)
464−return (x ^ 0.5)
464+return x ^ 0.5
465465end,0x4,2.0,"\u{50}\u{4f}\u{57}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
466466checkR(function (x)
467−return (x / 2.0)
467+return x / 2.0
468468end,0x4,2.0,"\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
469469checkR(function (x)
470−return (x // 0x2710)
470+return x // 0x2710
471471end,0x2710,0x1,"\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
472472checkR(function (x)
473−return (x % (100.0 - 0xa))
473+return x % (100.0 - 0xa)
474474end,0x5b,1.0,"\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
475475check(function ()
476−return (- 0.0)
476+return - 0.0
477477end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{55}\u{4e}\u{4d}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
478478check(function ()
479−return (k3 / 0x0)
479+return k3 / 0x0
480480end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
481481check(function ()
482−return (0x0 % 0x0)
482+return 0x0 % 0x0
483483end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{4d}\u{4f}\u{44}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
484484check(function ()
485−return (- (0x4 // 0x0))
485+return - 0x4 // 0x0
486486end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{49}\u{44}\u{49}\u{56}\u{4b}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{4b}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
487487check(function (x)
488−return (x >> 2.0)
488+return x >> 2.0
489489end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{53}\u{48}\u{52}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
490490check(function (x)
491−return (x << 0x80)
491+return x << 0x80
492492end,"\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{53}\u{48}\u{4c}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
493493check(function (x)
494−return (x & 2.0)
494+return x & 2.0
495495end,"\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{42}\u{41}\u{4e}\u{44}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
496496check(function ()
497−for i = (- 0xa), 10.5
497+for i = - 0xa, 10.5
498498do
499499
500500end
@@ -506,7 +506,7 @@ do
506506end
507507end,"\u{4c}\u{4f}\u{41}\u{44}\u{4b}","\u{4c}\u{4f}\u{41}\u{44}\u{46}","\u{4c}\u{4f}\u{41}\u{44}\u{49}","\u{46}\u{4f}\u{52}\u{50}\u{52}\u{45}\u{50}","\u{46}\u{4f}\u{52}\u{4c}\u{4f}\u{4f}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
508508check(function ()
509−return (- nil)
509+return - nil
510510end,"\u{4c}\u{4f}\u{41}\u{44}\u{4e}\u{49}\u{4c}","\u{55}\u{4e}\u{4d}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{31}")
511511check(function ()
512512local a,b,c
@@ -527,43 +527,43 @@ end
527527checkequal(function ()
528528local a
529529;
530−if (not (a or b)) then
530+if not (a or b) then
531531b=a
532532end
533533end,function ()
534534local a
535535;
536−if (not (a and (not b))) then
536+if (not a and not b) then
537537b=a
538538end
539539end)
540540checkequal(function (l)
541541local a
542542;
543−return ((0x0 <= a) and (a <= l))
543+return 0x0 <= a and a <= l
544544end,function (l)
545545local a
546546;
547−return (not (not ((a >= 0x0) or (not (a <= l)))))
547+return not (not (a >= 0x0) or not (a <= l))
548548end)
549549check(function (a,b)
550550while a do
551551if b then
552552break
553553else
554−a=(a + 0x1)
554+a=a + 0x1
555555end
556556end
557557end,"\u{54}\u{45}\u{53}\u{54}","\u{4a}\u{4d}\u{50}","\u{54}\u{45}\u{53}\u{54}","\u{4a}\u{4d}\u{50}","\u{41}\u{44}\u{44}\u{49}","\u{4d}\u{4d}\u{42}\u{49}\u{4e}\u{49}","\u{4a}\u{4d}\u{50}","\u{52}\u{45}\u{54}\u{55}\u{52}\u{4e}\u{30}")
558558checkequal(function ()
559−return ((0x6 or true) or nil)
559+return 0x6 or true or nil
560560end,function ()
561−return ((k6 or kTrue) or kNil)
561+return k6 or kTrue or kNil
562562end)
563563checkequal(function ()
564−return ((0x6 and true) or nil)
564+return 0x6 and true or nil
565565end,function ()
566−return ((k6 and kTrue) or kNil)
566+return k6 and kTrue or kNil
567567end)
568568do
569569local k0 <const> = "\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}"
@@ -578,9 +578,9 @@ end
578578end
579579local f2 = f1()
580580local f3 = f2()
581−assert((f3() == k0))
581+assert(f3() == k0)
582582checkK(f3,k0)
583−assert((T.listk(f1)[0x1] == nil))
584−assert((T.listk(f2)[0x1] == nil))
583+assert(T.listk(f1)[0x1] == nil)
584+assert(T.listk(f2)[0x1] == nil)
585585end
586586print("\u{4f}\u{4b}")
desk/res/lua/cycled/constructs.lua+118−118
@@ -19,64 +19,64 @@ do
1919;
2020a=0x3
2121;
22−assert((a == 0x3))
22+assert(a == 0x3)
2323end
2424;
2525;
2626if false then
27−a=(0x3 // 0x0)
27+a=0x3 // 0x0
2828;
29−a=(0x0 % 0x0)
29+a=0x0 % 0x0
3030end
31−assert(((0x2 ^ (0x3 ^ 0x2)) == (0x2 ^ (0x3 ^ 0x2))))
31+assert(0x2 ^ 0x3 ^ 0x2 == 0x2 ^ (0x3 ^ 0x2))
3232;
33−assert((((0x2 ^ 0x3) * 0x4) == ((0x2 ^ 0x3) * 0x4)))
33+assert(0x2 ^ 0x3 * 0x4 == (0x2 ^ 0x3) * 0x4)
3434;
35−assert((2.0 ^ (- ((0x2 == (0x1 / 0x4)) and (- (0x2 ^ (- (- (0x2 == (- (- (- 0x4))))))))))))
35+assert(2.0 ^ - 0x2 == 0x1 / 0x4 and - 0x2 ^ - - 0x2 == - - - 0x4)
3636;
37−assert((not ((nil and 0x2) and (not ((0x2 > 0x3) or (0x3 < 0x2))))))
37+assert(not nil and 0x2 and not (0x2 > 0x3 or 0x3 < 0x2))
3838;
39−assert((- (((0x3 - 0x1) - 0x5) == ((0x0 + 0x0) - 0x9))))
39+assert(- 0x3 - 0x1 - 0x5 == 0x0 + 0x0 - 0x9)
4040;
41−assert((- ((0x2 ^ 0x2) == (- ((0x4 and (((- 0x2) ^ 0x2) == 0x4)) and ((((0x2 * 0x2) - 0x3) - 0x1) == 0x0))))))
41+assert(- 0x2 ^ 0x2 == - 0x4 and (- 0x2) ^ 0x2 == 0x4 and 0x2 * 0x2 - 0x3 - 0x1 == 0x0)
4242;
43−assert((- (((0x3 % 0x5) == 0x2) and (- ((0x3 + 0x5) == 0x2)))))
44−assert(((((0x2 * 0x1) + (0x3 / 0x3)) == 0x3) and (((0x1 + 0x2) .. (0x3 * 0x1)) == "\u{33}\u{33}")))
43+assert(- 0x3 % 0x5 == 0x2 and - 0x3 + 0x5 == 0x2)
44+assert(0x2 * 0x1 + 0x3 / 0x3 == 0x3 and 0x1 + 0x2 .. 0x3 * 0x1 == "\u{33}\u{33}")
4545;
46−assert((not (((0x2 + 0x1) > (0x3 * 0x1)) and (("\u{61}" .. "\u{62}") > "\u{61}"))))
46+assert(not (0x2 + 0x1 > 0x3 * 0x1) and "\u{61}" .. "\u{62}" > "\u{61}")
4747;
48−assert(((0xf0 | (0xcc ~ (0xaa & 0xfd))) == 0xf4))
49−assert(((((0xfd & 0xaa) ~ 0xcc) | 0xf0) == 0xf4))
50−assert(((0xf0 & (0xf + 0x1)) == 0x10))
51−assert(((((0x3 ^ 0x4) // (0x2 ^ 0x3)) // 0x5) == 0x2))
52−assert((- (((0x3 + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)) == (((- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9)) + ((0x4 % 0xa) / 0x3)))))
53−assert((not ((true or false) and nil)))
54−assert((true or (false and nil)))
55−assert(((((0x1 or false) and true) or false) == true))
56−assert(((((nil and true) or false) and true) == false))
48+assert(0xf0 | 0xcc ~ 0xaa & 0xfd == 0xf4)
49+assert(0xfd & 0xaa ~ 0xcc | 0xf0 == 0xf4)
50+assert(0xf0 & 0xf + 0x1 == 0x10)
51+assert(0x3 ^ 0x4 // 0x2 ^ 0x3 // 0x5 == 0x2)
52+assert(- 0x3 + 0x4 * 0x5 // 0x2 ^ 0x3 ^ 0x2 // 0x9 + 0x4 % 0xa / 0x3 == (- 0x3) + (((0x4 * 0x5) // (0x2 ^ (0x3 ^ 0x2))) // 0x9) + ((0x4 % 0xa) / 0x3))
53+assert(not ((true or false) and nil))
54+assert(true or false and nil)
55+assert((((0x1 or false) and true) or false) == true)
56+assert((((nil and true) or false) and true) == false)
5757local a,b = 0x1,nil
5858;
59−assert((- ((0x1 or 0x2) == (- (0x1 and (((0x1 and 0x2) + (- (1.25 or (- 0x4)))) == 0.75))))))
59+assert(- (0x1 or 0x2) == - 0x1 and (0x1 and 0x2) + (- 1.25 or - 0x4) == 0.75)
6060;
61−local x = ((((b or a) + 0x1) == 0x2) and (((0xa or a) + 0x1) == 0xb))
61+local x = ((b or a) + 0x1 == 0x2 and (0xa or a) + 0x1 == 0xb)
6262;
6363assert(x)
6464;
65−x=((((0x2 < 0x3) or 0x1) == true) and (((0x2 < 0x3) and 0x4) == 0x4))
65+x=(((0x2 < 0x3) or 0x1) == true and (0x2 < 0x3 and 0x4) == 0x4)
6666;
6767assert(x)
6868;
6969local x,y = 0x1,0x2
7070;
71−assert((((x > y) and x) or (y == 0x2)))
71+assert((x > y) and x or y == 0x2)
7272;
7373x,y=0x2,0x1
7474;
75−assert((((x > y) and x) or (y == 0x2)))
75+assert((x > y) and x or y == 0x2)
7676;
77−assert(((0x499602d2 == tonumber("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}")) and ((0x499602d2 + 0x1) == 0x499602d3)))
77+assert(0x499602d2 == tonumber("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") and 0x499602d2 + 0x1 == 0x499602d3)
7878do
79−local operand = {0x3,0x64,5.0,(- 0xa),(- 5.0),0x2710,(- 0x2710)}
79+local operand = {0x3,0x64,5.0,- 0xa,- 5.0,0x2710,- 0x2710}
8080local operator = {"\u{2b}","\u{2d}","\u{2a}","\u{2f}","\u{2f}\u{2f}","\u{25}","\u{5e}","\u{26}","\u{7c}","\u{5e}","\u{3c}\u{3c}","\u{3e}\u{3e}","\u{3d}\u{3d}","\u{7e}\u{3d}","\u{3c}","\u{3e}","\u{3c}\u{3d}","\u{3e}\u{3d}"}
8181for _,op in ipairs(operator)
8282do
@@ -90,14 +90,14 @@ local gab = f(o1,o2)
9090_ENV.XX=o1
9191local code = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{25}\u{73}\u{20}\u{25}\u{73}",op,o2)
9292local res = assert(load(code))()
93−assert((res == gab))
93+assert(res == gab)
9494_ENV.XX=o2
9595code=string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{25}\u{73}\u{29}\u{20}\u{25}\u{73}\u{20}\u{58}\u{58}",o1,op)
9696res=assert(load(code))()
97−assert((res == gab))
97+assert(res == gab)
9898code=string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{25}\u{73}\u{29}\u{20}\u{25}\u{73}\u{20}\u{25}\u{73}",o1,op,o2)
9999res=assert(load(code))()
100−assert((res == gab))
100+assert(res == gab)
101101end
102102end
103103end
@@ -135,57 +135,57 @@ do
135135local code = {"\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}"}
136136for i = 0x1, 0x101
137137do
138−code[(# (code + 0x1))]=(i .. "\u{2e}\u{31}\u{2c}")
138+code[# code + 0x1]=i .. "\u{2e}\u{31}\u{2c}"
139139end
140−code[(# (code + 0x1))]="\u{7d}\u{3b}"
140+code[# code + 0x1]="\u{7d}\u{3b}"
141141code=table.concat(code)
142142local function check
143143(ret,val)
144−local code = (code .. ret)
144+local code = code .. ret
145145code=load(code)
146−assert((code() == val))
146+assert(code() == val)
147147end
148−check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7e}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",(0x1 ~ 0x2))
149−check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",(0x1 | 0x2))
150−check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{2b}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",(0x1 + 0x2))
151−check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",(0x1 << 0x2))
148+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7e}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",0x1 ~ 0x2)
149+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{7c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",0x1 | 0x2)
150+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{2b}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",0x1 + 0x2)
151+check("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{28}\u{31}\u{20}\u{3c}\u{3c}\u{20}\u{28}\u{32}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{29}\u{29}",0x1 << 0x2)
152152end
153153local function f
154154(i)
155−if (type(i) ~= "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") then
155+if type(i) ~= "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" then
156156return i,"\u{6a}\u{6f}\u{6a}\u{6f}"
157157end
158158;
159−if (i > 0x0) then
160−return i,f((i - 0x1))
159+if i > 0x0 then
160+return i,f(i - 0x1)
161161end
162162;
163163end
164164x={f(0x3),f(0x5),f(0xa)}
165165;
166−assert((((((x[0x1] == 0x3) and (x[0x2] == 0x5)) and (x[0x3] == 0xa)) and (x[0x4] == 0x9)) and (x[0xc] == 0x1)))
166+assert(x[0x1] == 0x3 and x[0x2] == 0x5 and x[0x3] == 0xa and x[0x4] == 0x9 and x[0xc] == 0x1)
167167;
168−assert((x[nil] == nil))
168+assert(x[nil] == nil)
169169x={f("\u{61}\u{6c}\u{6f}"),f("\u{78}\u{69}\u{78}\u{69}"),nil}
170170;
171−assert((((x[0x1] == "\u{61}\u{6c}\u{6f}") and (x[0x2] == "\u{78}\u{69}\u{78}\u{69}")) and (x[0x3] == nil)))
171+assert(x[0x1] == "\u{61}\u{6c}\u{6f}" and x[0x2] == "\u{78}\u{69}\u{78}\u{69}" and x[0x3] == nil)
172172;
173−x={(f("\u{61}\u{6c}\u{6f}") .. "\u{78}\u{69}\u{78}\u{69}")}
173+x={f("\u{61}\u{6c}\u{6f}") .. "\u{78}\u{69}\u{78}\u{69}"}
174174;
175−assert((x[0x1] == "\u{61}\u{6c}\u{6f}\u{78}\u{69}\u{78}\u{69}"))
175+assert(x[0x1] == "\u{61}\u{6c}\u{6f}\u{78}\u{69}\u{78}\u{69}")
176176x={f({})}
177−assert(((x[0x2] == "\u{6a}\u{6f}\u{6a}\u{6f}") and (type(x[0x1]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")))
177+assert(x[0x2] == "\u{6a}\u{6f}\u{6a}\u{6f}" and type(x[0x1]) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
178178local f = function (i)
179−if (i < 0xa) then
179+if i < 0xa then
180180return "\u{61}"
181−elseif (i < 0x14) then
181+elseif i < 0x14 then
182182return "\u{62}"
183−elseif (i < 0x1e) then
183+elseif i < 0x1e then
184184return "\u{63}"
185185end
186186;
187187end
188−assert(((((f(0x3) == "\u{61}") and (f(0xc) == "\u{62}")) and (f(0x1a) == "\u{63}")) and (f(0x64) == nil)))
188+assert(f(0x3) == "\u{61}" and f(0xc) == "\u{62}" and f(0x1a) == "\u{63}" and f(0x64) == nil)
189189for i = 0x1, 0x3e8
190190do
191191break
@@ -199,14 +199,14 @@ local i = 0x3
199199local t = {}
200200;
201201local a = nil
202−while (not a) do
202+while not a do
203203a=0x0
204204;
205205for i = 0x1, n
206206do
207−for i = i, 0x1, (- 0x1)
207+for i = i, 0x1, - 0x1
208208do
209−a=(a + 0x1)
209+a=a + 0x1
210210;
211211t[i]=0x1
212212;
@@ -215,66 +215,66 @@ end
215215end
216216;
217217end
218−assert(((a == ((n * (n + 0x1)) / 0x2)) and (i == 0x3)))
218+assert(a == n * (n + 0x1) / 0x2 and i == 0x3)
219219;
220−assert(((t[0x1] and t[n]) and (not (t[0x0] and (not t[(n + 0x1)])))))
220+assert(t[0x1] and t[n] and not t[0x0] and not t[n + 0x1])
221221function f(b)
222222local x = 0x1
223223;
224224repeat
225225local a
226226;
227−if (b == 0x1) then
227+if b == 0x1 then
228228local b = 0x1
229229;
230230x=0xa
231231;
232232break
233−elseif (b == 0x2) then
233+elseif b == 0x2 then
234234x=0x14
235235;
236236break
237237;
238−elseif (b == 0x3) then
238+elseif b == 0x3 then
239239x=0x1e
240240;
241241else
242242local a,b,c,d = math.sin(0x1)
243243;
244−x=(x + 0x1)
244+x=x + 0x1
245245;
246246end
247−until (x >= 0xc)
247+until x >= 0xc
248248;
249249return x
250250end
251251;
252−assert(((((f(0x1) == 0xa) and (f(0x2) == 0x14)) and (f(0x3) == 0x1e)) and (f(0x4) == 0xc)))
252+assert(f(0x1) == 0xa and f(0x2) == 0x14 and f(0x3) == 0x1e and f(0x4) == 0xc)
253253local f = function (i)
254−if (i < 0xa) then
254+if i < 0xa then
255255return "\u{61}"
256−elseif (i < 0x14) then
256+elseif i < 0x14 then
257257return "\u{62}"
258−elseif (i < 0x1e) then
258+elseif i < 0x1e then
259259return "\u{63}"
260260else
261261return 0x8
262262end
263263end
264−assert(((((f(0x3) == "\u{61}") and (f(0xc) == "\u{62}")) and (f(0x1a) == "\u{63}")) and (f(0x64) == 0x8)))
264+assert(f(0x3) == "\u{61}" and f(0xc) == "\u{62}" and f(0x1a) == "\u{63}" and f(0x64) == 0x8)
265265local a,b = nil,0x17
266−x={(((f(0x64) * 0x2) + 0x3) or a),(a or (b + 0x2))}
267−assert(((x[0x1] == 0x13) and (x[0x2] == 0x19)))
268−x={["\u{66}"] = ((0x2 + 0x3) or a),["\u{61}"] = (b + 0x2)}
269−assert(((x.f == 0x5) and (x.a == 0x19)))
266+x={f(0x64) * 0x2 + 0x3 or a,a or b + 0x2}
267+assert(x[0x1] == 0x13 and x[0x2] == 0x19)
268+x={["\u{66}"] = 0x2 + 0x3 or a,["\u{61}"] = b + 0x2}
269+assert(x.f == 0x5 and x.a == 0x19)
270270a={["\u{79}"] = 0x1}
271271x={a.y}
272−assert((x[0x1] == 0x1))
272+assert(x[0x1] == 0x1)
273273local function f
274274(i)
275275while 0x1 do
276−if (i > 0x0) then
277−i=(i - 0x1)
276+if i > 0x0 then
277+i=i - 0x1
278278;
279279else
280280return
@@ -287,8 +287,8 @@ end
287287local function g
288288(i)
289289while 0x1 do
290−if (i > 0x0) then
291−i=(i - 0x1)
290+if i > 0x0 then
291+i=i - 0x1
292292else
293293return
294294end
@@ -304,26 +304,26 @@ return 0x1,0x2,0x3
304304end
305305local a,b,c = f()
306306;
307−assert((((a == 0x1) and (b == 0x2)) and (c == 0x3)))
308−a,b,c=f()
307+assert(a == 0x1 and b == 0x2 and c == 0x3)
308+a,b,c=(f())
309309;
310−assert((((a == 0x1) and (b == nil)) and (c == nil)))
310+assert(a == 0x1 and b == nil and c == nil)
311311end
312−local a,b = (0x3 and f())
312+local a,b = 0x3 and f()
313313;
314−assert(((a == 0x1) and (b == nil)))
314+assert(a == 0x1 and b == nil)
315315function g()
316316f()
317317;
318318return
319319end
320320;
321−assert((g() == nil))
321+assert(g() == nil)
322322function g()
323−return (nil or f())
323+return nil or f()
324324end
325325a,b=g()
326−assert(((a == 0x1) and (b == nil)))
326+assert(a == 0x1 and b == nil)
327327print("\u{2b}")
328328;
329329do
@@ -338,9 +338,9 @@ f=string.gsub(f,"\u{25}\u{73}\u{2b}","\u{a}")
338338;
339339f,a=load(f)()
340340;
341−assert(((a.a == 0x1) and a.b))
341+assert(a.a == 0x1 and a.b)
342342function g(a,b,c,d,e)
343−if (not ((((a >= b) or c) or (d and e)) or nil)) then
343+if not (a >= b or c or d and e or nil) then
344344return 0x0
345345else
346346return 0x1
@@ -349,27 +349,27 @@ end
349349end
350350local function h
351351(a,b,c,d,e)
352−while ((((a >= b) or c) or (d and e)) or nil) do
352+while (a >= b or c or (d and e) or nil) do
353353return 0x1
354354end
355355;
356356return 0x0
357357end
358358;
359−assert((((f(0x2,0x1) == true) and (g(0x2,0x1) == 0x1)) and (h(0x2,0x1) == 0x1)))
360−assert((((f(0x1,0x2,"\u{61}") == "\u{61}") and (g(0x1,0x2,"\u{61}") == 0x1)) and (h(0x1,0x2,"\u{61}") == 0x1)))
361−assert((f(0x1,0x2,"\u{61}") ~= nil),"")
362−assert((((f(0x1,0x2,"\u{61}") == "\u{61}") and (g(0x1,0x2,"\u{61}") == 0x1)) and (h(0x1,0x2,"\u{61}") == 0x1)))
363−assert((((f(0x1,0x2,nil,0x1,"\u{78}") == "\u{78}") and (g(0x1,0x2,nil,0x1,"\u{78}") == 0x1)) and (h(0x1,0x2,nil,0x1,"\u{78}") == 0x1)))
364−assert((((f(0x1,0x2,nil,nil,"\u{78}") == nil) and (g(0x1,0x2,nil,nil,"\u{78}") == 0x0)) and (h(0x1,0x2,nil,nil,"\u{78}") == 0x0)))
365−assert((((f(0x1,0x2,nil,0x1,nil) == nil) and (g(0x1,0x2,nil,0x1,nil) == 0x0)) and (h(0x1,0x2,nil,0x1,nil) == 0x0)))
366−assert((((0x1 and ((0x2 < 0x3) == true)) and (0x2 < 0x3)) and (("\u{61}" < "\u{62}") == true)))
367−x=((0x2 < 0x3) and (not 0x3))
359+assert(f(0x2,0x1) == true and g(0x2,0x1) == 0x1 and h(0x2,0x1) == 0x1)
360+assert(f(0x1,0x2,"\u{61}") == "\u{61}" and g(0x1,0x2,"\u{61}") == 0x1 and h(0x1,0x2,"\u{61}") == 0x1)
361+assert(f(0x1,0x2,"\u{61}") ~= nil,"")
362+assert(f(0x1,0x2,"\u{61}") == "\u{61}" and g(0x1,0x2,"\u{61}") == 0x1 and h(0x1,0x2,"\u{61}") == 0x1)
363+assert(f(0x1,0x2,nil,0x1,"\u{78}") == "\u{78}" and g(0x1,0x2,nil,0x1,"\u{78}") == 0x1 and h(0x1,0x2,nil,0x1,"\u{78}") == 0x1)
364+assert(f(0x1,0x2,nil,nil,"\u{78}") == nil and g(0x1,0x2,nil,nil,"\u{78}") == 0x0 and h(0x1,0x2,nil,nil,"\u{78}") == 0x0)
365+assert(f(0x1,0x2,nil,0x1,nil) == nil and g(0x1,0x2,nil,0x1,nil) == 0x0 and h(0x1,0x2,nil,0x1,nil) == 0x0)
366+assert(0x1 and 0x2 < 0x3 == true and 0x2 < 0x3 and "\u{61}" < "\u{62}" == true)
367+x=0x2 < 0x3 and not 0x3
368368;
369−assert((x == false))
370−x=((0x2 < 0x1) or ((0x2 > 0x1) and "\u{61}"))
369+assert(x == false)
370+x=0x2 < 0x1 or (0x2 > 0x1 and "\u{61}")
371371;
372−assert((x == "\u{61}"))
372+assert(x == "\u{61}")
373373do
374374local a
375375;
@@ -381,33 +381,33 @@ a=0x2
381381;
382382end
383383;
384−assert((a == 0x2))
384+assert(a == 0x2)
385385end
386386local function F
387387(a)
388−assert((debug.getinfo(0x1,"\u{6e}").name == "\u{46}"))
388+assert(debug.getinfo(0x1,"\u{6e}").name == "\u{46}")
389389return a,0x2,0x3
390390end
391−a,b=(F(0x1) ~= nil)
391+a,b=F(0x1) ~= nil
392392;
393−assert(((a == true) and (b == nil)))
393+assert(a == true and b == nil)
394394;
395−a,b=(F(nil) == nil)
395+a,b=F(nil) == nil
396396;
397−assert(((a == true) and (b == nil)))
397+assert(a == true and b == nil)
398398_ENV.GLOB1=math.random(0x0,0x1)
399−local basiccases = {{"\u{6e}\u{69}\u{6c}",nil},{"\u{66}\u{61}\u{6c}\u{73}\u{65}",false},{"\u{74}\u{72}\u{75}\u{65}",true},{"\u{31}\u{30}",0xa},{"\u{28}\u{30}\u{3d}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{2e}\u{47}\u{4c}\u{4f}\u{42}\u{31}\u{29}",(0x0 == _ENV.GLOB1)}}
399+local basiccases = {{"\u{6e}\u{69}\u{6c}",nil},{"\u{66}\u{61}\u{6c}\u{73}\u{65}",false},{"\u{74}\u{72}\u{75}\u{65}",true},{"\u{31}\u{30}",0xa},{"\u{28}\u{30}\u{3d}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{2e}\u{47}\u{4c}\u{4f}\u{42}\u{31}\u{29}",0x0 == _ENV.GLOB1}}
400400local prog
401−if (_ENV.GLOB1 == 0x0) then
401+if _ENV.GLOB1 == 0x0 then
402402basiccases[0x2][0x1]="\u{46}"
403403prog="\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{46}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{25}\u{73}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{49}\u{58}\u{20}\u{3d}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{a}"
404404else
405405basiccases[0x4][0x1]="\u{6b}\u{31}\u{30}"
406406prog="\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6b}\u{31}\u{30}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{25}\u{73}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{49}\u{58}\u{20}\u{3d}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{a}\u{20}\u{20}"
407407end
408−print(("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{2d}\u{63}\u{69}\u{72}\u{63}\u{75}\u{69}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6d}\u{69}\u{7a}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{28}" .. (_ENV.GLOB1 .. "\u{29}")))
408+print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{2d}\u{63}\u{69}\u{72}\u{63}\u{75}\u{69}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6d}\u{69}\u{7a}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{28}" .. _ENV.GLOB1 .. "\u{29}")
409409local binops <const> = {{"\u{20}\u{61}\u{6e}\u{64}\u{20}",function (a,b)
410−if (not a) then
410+if not a then
411411return a
412412else
413413return b
@@ -423,24 +423,24 @@ local cases <const> = {}
423423local function createcases
424424(n)
425425local res = {}
426−for i = 0x1, (n - 0x1)
426+for i = 0x1, n - 0x1
427427do
428428for _,v1 in ipairs(cases[i])
429429do
430−for _,v2 in ipairs(cases[(n - i)])
430+for _,v2 in ipairs(cases[n - i])
431431do
432432for _,op in ipairs(binops)
433433do
434−local t = {("\u{28}" .. (v1[0x1] .. (op[0x1] .. (v2[0x1] .. "\u{29}")))),op[0x2](v1[0x2],v2[0x2])}
435−res[(# (res + 0x1))]=t
436−res[(# (res + 0x1))]={("\u{6e}\u{6f}\u{74}" .. t[0x1]),(not t[0x2])}
434+local t = {"\u{28}" .. v1[0x1] .. op[0x1] .. v2[0x1] .. "\u{29}",op[0x2](v1[0x2],v2[0x2])}
435+res[# res + 0x1]=t
436+res[# res + 0x1]={"\u{6e}\u{6f}\u{74}" .. t[0x1],not t[0x2]}
437437end
438438end
439439end
440440end
441441return res
442442end
443−local level = ((_soft and 0x3) or 0x4)
443+local level = _soft and 0x3 or 0x4
444444cases[0x1]=basiccases
445445for i = 0x2, level
446446do
@@ -455,9 +455,9 @@ do
455455local s = v[0x1]
456456local p = load(string.format(prog,s,s),"")
457457IX=false
458−assert(((p() == v[0x2]) and (IX == (not (not v[0x2])))))
459−i=(i + 0x1)
460−if ((i % 0xea60) == 0x0) then
458+assert(p() == v[0x2] and IX == not not v[0x2])
459+i=i + 0x1
460+if i % 0xea60 == 0x0 then
461461print("\u{2b}")
462462end
463463end
desk/res/lua/cycled/coroutine.lua+353−353
@@ -2,19 +2,19 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\
22local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33local f
44local main,ismain = coroutine.running()
5−assert(((type(main) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") and ismain))
6−assert((not coroutine.resume(main)))
7−assert((not (coroutine.isyieldable(main) and (not coroutine.isyieldable()))))
8−assert((not pcall(coroutine.yield)))
9−assert((not pcall(coroutine.resume,0x0)))
10−assert((not pcall(coroutine.status,0x0)))
5+assert(type(main) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and ismain)
6+assert(not coroutine.resume(main))
7+assert(not coroutine.isyieldable(main) and not coroutine.isyieldable())
8+assert(not pcall(coroutine.yield))
9+assert(not pcall(coroutine.resume,0x0))
10+assert(not pcall(coroutine.status,0x0))
1111local function eqtab
1212(t1,t2)
13−assert((# (t1 == (# t2))))
14−for i = 0x1, (# t1)
13+assert(# t1 == # t2)
14+for i = 0x1, # t1
1515do
1616local v = t1[i]
17−assert((t2[i] == v))
17+assert(t2[i] == v)
1818end
1919end
2020_G.x=nil
@@ -22,12 +22,12 @@ _G.f=nil
2222local function foo
2323(a, ...)
2424local x,y = coroutine.running()
25−assert(((x == f) and (y == false)))
26−assert((coroutine.resume(f) == false))
27−assert((coroutine.status(f) == "\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
25+assert(x == f and y == false)
26+assert(coroutine.resume(f) == false)
27+assert(coroutine.status(f) == "\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}")
2828local arg = {...}
2929assert(coroutine.isyieldable(x))
30−for i = 0x1, (# arg)
30+for i = 0x1, # arg
3131do
3232_G.x={coroutine.yield(table.unpack(arg[i]))}
3333end
@@ -35,25 +35,25 @@ return table.unpack(a)
3535end
3636f=coroutine.create(foo)
3737assert(coroutine.isyieldable(f))
38−assert(((type(f) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") and (coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")))
38+assert(type(f) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}" and coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")
3939assert(string.find(tostring(f),"\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}"))
4040local s,a,b,c,d
4141s,a,b,c,d=coroutine.resume(f,{0x1,0x2,0x3},{},{0x1},{"\u{61}","\u{62}","\u{63}"})
4242assert(coroutine.isyieldable(f))
43−assert(((s and (a == nil)) and (coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")))
43+assert(s and a == nil and coroutine.status(f) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")
4444s,a,b,c,d=coroutine.resume(f)
4545eqtab(_G.x,{})
46−assert(((s and (a == 0x1)) and (b == nil)))
46+assert(s and a == 0x1 and b == nil)
4747assert(coroutine.isyieldable(f))
4848s,a,b,c,d=coroutine.resume(f,0x1,0x2,0x3)
4949eqtab(_G.x,{0x1,0x2,0x3})
50−assert(((((s and (a == "\u{61}")) and (b == "\u{62}")) and (c == "\u{63}")) and (d == nil)))
50+assert(s and a == "\u{61}" and b == "\u{62}" and c == "\u{63}" and d == nil)
5151s,a,b,c,d=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
5252eqtab(_G.x,{"\u{78}\u{75}\u{78}\u{75}"})
53−assert(((((s and (a == 0x1)) and (b == 0x2)) and (c == 0x3)) and (d == nil)))
54−assert((coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}"))
53+assert(s and a == 0x1 and b == 0x2 and c == 0x3 and d == nil)
54+assert(coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}")
5555s,a=coroutine.resume(f,"\u{78}\u{75}\u{78}\u{75}")
56−assert((not ((s and string.find(a,"\u{64}\u{65}\u{61}\u{64}")) and (coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}"))))
56+assert(not s and string.find(a,"\u{64}\u{65}\u{61}\u{64}") and coroutine.status(f) == "\u{64}\u{65}\u{61}\u{64}")
5757_G.f=nil
5858local function foo
5959(i)
@@ -62,7 +62,7 @@ end
6262local f = coroutine.wrap(function ()
6363for i = 0x1, 0xa
6464do
65−assert((foo(i) == _G.x))
65+assert(foo(i) == _G.x)
6666end
6767return "\u{61}"
6868end)
@@ -70,23 +70,23 @@ for i = 0x1, 0xa
7070do
7171_G.x=i
7272;
73−assert((f(i) == i))
73+assert(f(i) == i)
7474end
7575_G.x="\u{78}\u{75}\u{78}\u{75}"
7676;
77−assert((f("\u{78}\u{75}\u{78}\u{75}") == "\u{61}"))
77+assert(f("\u{78}\u{75}\u{78}\u{75}") == "\u{61}")
7878_G.x=nil
7979local function pf
8080(n,i)
8181coroutine.yield(n)
82−pf((n * i),(i + 0x1))
82+pf(n * i,i + 0x1)
8383end
8484f=coroutine.wrap(pf)
8585local s = 0x1
8686for i = 0x1, 0xa
8787do
88−assert((f(0x1,0x1) == s))
89−s=(s * i)
88+assert(f(0x1,0x1) == s)
89+s=s * i
9090end
9191local function gen
9292(n)
@@ -102,10 +102,10 @@ local function filter
102102return coroutine.wrap(function ()
103103while 0x1 do
104104local n = g()
105−if (n == nil) then
105+if n == nil then
106106return
107107end
108−if (math.fmod(n,p) ~= 0x0) then
108+if math.fmod(n,p) ~= 0x0 then
109109coroutine.yield(n)
110110end
111111end
@@ -115,13 +115,13 @@ local x = gen(0x50)
115115local a = {}
116116while 0x1 do
117117local n = x()
118−if (n == nil) then
118+if n == nil then
119119break
120120end
121121table.insert(a,n)
122122x=filter(n,x)
123123end
124−assert((# ((a == 0x16) and (a[(# a)] == 0x4f))))
124+assert(# a == 0x16 and a[# a] == 0x4f)
125125x,a=nil
126126print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}")
127127local function func2close
@@ -131,18 +131,18 @@ end
131131do
132132local co = coroutine.create(print)
133133assert(coroutine.resume(co,"\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))
134−assert((coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))
134+assert(coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
135135local st,msg = coroutine.close(co)
136−assert((st and (msg == nil)))
136+assert(st and msg == nil)
137137st,msg=coroutine.close(co)
138−assert((st and (msg == nil)))
138+assert(st and msg == nil)
139139local st,msg = pcall(coroutine.close,coroutine.running())
140−assert((not (st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))))
140+assert(not st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
141141local main = coroutine.running()
142142;
143143(coroutine.wrap(function ()
144144local st,msg = pcall(coroutine.close,main)
145−assert((not (st and string.find(msg,"\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))))
145+assert(not st and string.find(msg,"\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))
146146end))()
147147do
148148local co
@@ -153,21 +153,21 @@ end)
153153coroutine.yield(0x14)
154154end)
155155local st,msg = coroutine.resume(co)
156−assert((st and (msg == 0x14)))
156+assert(st and msg == 0x14)
157157st,msg=coroutine.close(co)
158−assert((not (st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))))
158+assert(not st and string.find(msg,"\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))
159159end
160160local X
161161local co = coroutine.create(error)
162162local st,msg = coroutine.resume(co,0x64)
163−assert((not (st and (msg == 0x64))))
163+assert(not st and msg == 0x64)
164164st,msg=coroutine.close(co)
165−assert((not (st and (msg == 0x64))))
165+assert(not st and msg == 0x64)
166166st,msg=coroutine.close(co)
167−assert((st and (msg == nil)))
167+assert(st and msg == nil)
168168co=coroutine.create(function ()
169169local x <close> = func2close(function (self,err)
170−assert((err == nil))
170+assert(err == nil)
171171;
172172X=false
173173end)
@@ -177,28 +177,28 @@ end)
177177coroutine.resume(co)
178178assert(X)
179179assert(coroutine.close(co))
180−assert((not (X and (coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))))
180+assert(not X and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
181181local x = 0x0
182182co=coroutine.create(function ()
183183local y <close> = func2close(function (self,err)
184−assert((err == 0x6f))
184+assert(err == 0x6f)
185185x=0xc8
186186error(0xc8)
187187end)
188188local x <close> = func2close(function (self,err)
189−assert((err == nil))
189+assert(err == nil)
190190;
191191error(0x6f)
192192end)
193193coroutine.yield()
194194end)
195195coroutine.resume(co)
196−assert((x == 0x0))
196+assert(x == 0x0)
197197local st,msg = coroutine.close(co)
198−assert((((st == false) and (coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")) and (msg == 0xc8)))
199−assert((x == 0xc8))
198+assert(st == false and coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}" and msg == 0xc8)
199+assert(x == 0xc8)
200200st,msg=coroutine.close(co)
201−assert((st and (msg == nil)))
201+assert(st and msg == nil)
202202end
203203do
204204local X = false
@@ -215,8 +215,8 @@ local co = coroutine.create(function ()
215215return pcall(foo)
216216end)
217217local st1,st2,err = coroutine.resume(co)
218−assert((st1 and (not (st2 and (err == 0x2b)))))
219−assert(((X == 0x2b) and (Y.what == "\u{43}")))
218+assert(st1 and not st2 and err == 0x2b)
219+assert(X == 0x2b and Y.what == "\u{43}")
220220local track = {}
221221local function h
222222(o)
@@ -226,39 +226,39 @@ end
226226local function foo
227227()
228228local x <close> = func2close(function (_,msg)
229−track[(# (track + 0x1))]=(msg or false)
229+track[# track + 0x1]=msg or false
230230error(0x14)
231231end)
232232local y <close> = func2close(function (_,msg)
233−track[(# (track + 0x1))]=(msg or false)
233+track[# track + 0x1]=msg or false
234234return 0x3e8
235235end)
236236local z <close> = func2close(function (_,msg)
237−track[(# (track + 0x1))]=(msg or false)
237+track[# track + 0x1]=msg or false
238238error(0xa)
239239end)
240240coroutine.yield(0x1)
241241h(func2close(function (_,msg)
242−track[(# (track + 0x1))]=(msg or false)
242+track[# track + 0x1]=msg or false
243243error(0x2)
244244end))
245245end
246246local co = coroutine.create(pcall)
247247local st,res = coroutine.resume(co,foo)
248−assert((st and (res == 0x1)))
248+assert(st and res == 0x1)
249249local st,res1,res2 = coroutine.resume(co)
250−assert((coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}"))
251−assert((st and (not (res1 and (res2 == 0x14)))))
252−assert(((((track[0x1] == false) and (track[0x2] == 0x2)) and (track[0x3] == 0xa)) and (track[0x4] == 0xa)))
250+assert(coroutine.status(co) == "\u{64}\u{65}\u{61}\u{64}")
251+assert(st and not res1 and res2 == 0x14)
252+assert(track[0x1] == false and track[0x2] == 0x2 and track[0x3] == 0xa and track[0x4] == 0xa)
253253end
254254local co = coroutine.wrap(function ()
255−assert((not pcall(table.sort,{0x1,0x2,0x3},coroutine.yield)))
255+assert(not pcall(table.sort,{0x1,0x2,0x3},coroutine.yield))
256256assert(coroutine.isyieldable())
257257coroutine.yield(0x14)
258258return 0x1e
259259end)
260−assert((co() == 0x14))
261−assert((co() == 0x1e))
260+assert(co() == 0x14)
261+assert(co() == 0x1e)
262262local f = function (s,i)
263263return coroutine.yield(i)
264264end
@@ -270,7 +270,7 @@ local s = 0x0
270270for i in f,nil,0x1
271271do
272272pcall(function ()
273−s=(s + i)
273+s=s + i
274274end)
275275end
276276error({s})
@@ -279,38 +279,38 @@ end)
279279f1()
280280for i = 0x1, 0xa
281281do
282−assert((f1(i) == i))
282+assert(f1(i) == i)
283283end
284284local r1,r2,v = f1(nil)
285−assert((r1 and (not (r2 and (v[0x1] == (((0xa + 0x1) * 0xa) / 0x2))))))
285+assert(r1 and not r2 and v[0x1] == (0xa + 0x1) * 0xa / 0x2)
286286local function f
287287(a,b)
288288a=coroutine.yield(a)
289289;
290−error({(a + b)})
290+error({a + b})
291291end
292292local function g
293293(x)
294−return (x[0x1] * 0x2)
294+return x[0x1] * 0x2
295295end
296296co=coroutine.wrap(function ()
297297coroutine.yield(xpcall(f,g,0xa,0x14))
298298end)
299−assert((co() == 0xa))
299+assert(co() == 0xa)
300300local r,msg = co(0x64)
301−assert((not (r and (msg == 0xf0))))
301+assert(not r and msg == 0xf0)
302302do
303303local function f
304304(c)
305−assert((not coroutine.isyieldable()))
306−return (c .. c)
305+assert(not coroutine.isyieldable())
306+return c .. c
307307end
308308local co = coroutine.wrap(function (c)
309309assert(coroutine.isyieldable())
310310local s = string.gsub("\u{61}","\u{2e}",f)
311311return s
312312end)
313−assert((co() == "\u{61}\u{61}"))
313+assert(co() == "\u{61}\u{61}")
314314end
315315do
316316local X
@@ -321,22 +321,22 @@ end)
321321local trace = {}
322322local function dotrace
323323(event)
324−trace[(# (trace + 0x1))]=event
324+trace[# trace + 0x1]=event
325325end
326326debug.sethook(co,dotrace,"\u{63}\u{6c}\u{72}")
327327repeat
328328
329−until (not coroutine.resume(co))
329+until not coroutine.resume(co)
330330local correcttrace = {"\u{63}\u{61}\u{6c}\u{6c}","\u{6c}\u{69}\u{6e}\u{65}","\u{63}\u{61}\u{6c}\u{6c}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{6c}\u{69}\u{6e}\u{65}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"}
331−assert((# (trace == (# correcttrace))))
331+assert(# trace == # correcttrace)
332332for k,v in pairs(trace)
333333do
334−assert((v == correcttrace[k]))
334+assert(v == correcttrace[k])
335335end
336336end
337337function foo()
338−assert((debug.getinfo(0x1).currentline == (debug.getinfo(foo).linedefined + 0x1)))
339−assert((debug.getinfo(0x2).currentline == debug.getinfo(goo).linedefined))
338+assert(debug.getinfo(0x1).currentline == debug.getinfo(foo).linedefined + 0x1)
339+assert(debug.getinfo(0x2).currentline == debug.getinfo(goo).linedefined)
340340coroutine.yield(0x3)
341341error(foo)
342342end
@@ -344,26 +344,26 @@ function goo()
344344foo()
345345end
346346x=coroutine.wrap(goo)
347−assert((x() == 0x3))
347+assert(x() == 0x3)
348348local a,b = pcall(x)
349−assert((not (a and (b == foo))))
349+assert(not a and b == foo)
350350x=coroutine.create(goo)
351351a,b=coroutine.resume(x)
352−assert((a and (b == 0x3)))
352+assert(a and b == 0x3)
353353a,b=coroutine.resume(x)
354−assert((not ((a and (b == foo)) and (coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}"))))
354+assert(not a and b == foo and coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}")
355355a,b=coroutine.resume(x)
356−assert((not ((a and string.find(b,"\u{64}\u{65}\u{61}\u{64}")) and (coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}"))))
356+assert(not a and string.find(b,"\u{64}\u{65}\u{61}\u{64}") and coroutine.status(x) == "\u{64}\u{65}\u{61}\u{64}")
357357goo=nil
358358local function all
359359(a,n,k)
360−if (k == 0x0) then
360+if k == 0x0 then
361361coroutine.yield(a)
362362else
363363for i = 0x1, n
364364do
365365a[k]=i
366−all(a,n,(k - 0x1))
366+all(a,n,k - 0x1)
367367end
368368end
369369end
@@ -372,9 +372,9 @@ for t in coroutine.wrap(function ()
372372all({},0x5,0x4)
373373end)
374374do
375−a=(a + 0x1)
375+a=a + 0x1
376376end
377−assert((a == (0x5 ^ 0x4)))
377+assert(a == 0x5 ^ 0x4)
378378local C = {}
379379;
380380setmetatable(C,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -382,48 +382,48 @@ local x = coroutine.wrap(function ()
382382local a = 0xa
383383local function f
384384()
385−a=(a + 0xa)
385+a=a + 0xa
386386;
387387return a
388388end
389389while true do
390−a=(a + 0x1)
390+a=a + 0x1
391391coroutine.yield(f)
392392end
393393end)
394394C[0x1]=x
395395;
396396local f = x()
397−assert((((f() == 0x15) and (x()() == 0x20)) and (x() == f)))
397+assert(f() == 0x15 and x()() == 0x20 and x() == f)
398398x=nil
399399collectgarbage()
400−assert((C[0x1] == undef))
401−assert(((f() == 0x2b) and (f() == 0x35)))
400+assert(C[0x1] == undef)
401+assert(f() == 0x2b and f() == 0x35)
402402local function co_func
403403(current_co)
404−assert((coroutine.running() == current_co))
405−assert((coroutine.resume(current_co) == false))
404+assert(coroutine.running() == current_co)
405+assert(coroutine.resume(current_co) == false)
406406coroutine.yield(0xa,0x14)
407−assert((coroutine.resume(current_co) == false))
407+assert(coroutine.resume(current_co) == false)
408408coroutine.yield(0x17)
409409return 0xa
410410end
411411local co = coroutine.create(co_func)
412412local a,b,c = coroutine.resume(co,co)
413−assert((((a == true) and (b == 0xa)) and (c == 0x14)))
413+assert(a == true and b == 0xa and c == 0x14)
414414a,b=coroutine.resume(co,co)
415−assert(((a == true) and (b == 0x17)))
415+assert(a == true and b == 0x17)
416416a,b=coroutine.resume(co,co)
417−assert(((a == true) and (b == 0xa)))
418−assert((coroutine.resume(co,co) == false))
419−assert((coroutine.resume(co,co) == false))
417+assert(a == true and b == 0xa)
418+assert(coroutine.resume(co,co) == false)
419+assert(coroutine.resume(co,co) == false)
420420do
421421local A = coroutine.running()
422422local B = coroutine.create(function ()
423423return coroutine.resume(A)
424424end)
425425local st,res = coroutine.resume(B)
426−assert(((st == true) and (res == false)))
426+assert(st == true and res == false)
427427local X = false
428428A=coroutine.wrap(function ()
429429local _ <close> = func2close(function ()
@@ -432,7 +432,7 @@ end)
432432return pcall(A,0x1)
433433end)
434434st,res=A()
435−assert((not ((st and string.find(res,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")) and (X == true))))
435+assert(not st and string.find(res,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and X == true)
436436end
437437do
438438local co
@@ -443,53 +443,53 @@ end)
443443error(0x6f)
444444end)
445445local st,errobj = pcall(co)
446−assert((not (st and (errobj == 0x6f))))
446+assert(not st and errobj == 0x6f)
447447st,errobj=pcall(co)
448−assert((not (st and string.find(errobj,"\u{64}\u{65}\u{61}\u{64}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))))
448+assert(not st and string.find(errobj,"\u{64}\u{65}\u{61}\u{64}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}"))
449449end
450450local co1,co2
451451co1=coroutine.create(function ()
452452return co2()
453453end)
454454co2=coroutine.wrap(function ()
455−assert((coroutine.status(co1) == "\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}"))
456−assert((not coroutine.resume(co1)))
455+assert(coroutine.status(co1) == "\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
456+assert(not coroutine.resume(co1))
457457coroutine.yield(0x3)
458458end)
459459a,b=coroutine.resume(co1)
460−assert((a and (b == 0x3)))
461−assert((coroutine.status(co1) == "\u{64}\u{65}\u{61}\u{64}"))
460+assert(a and b == 0x3)
461+assert(coroutine.status(co1) == "\u{64}\u{65}\u{61}\u{64}")
462462a=function (a)
463463coroutine.wrap(a)(a)
464464end
465−assert((not pcall(a,a)))
465+assert(not pcall(a,a))
466466a=nil
467467local x = coroutine.create(function ()
468468local a = 0xa
469469_G.F=function ()
470−a=(a + 0x1)
470+a=a + 0x1
471471;
472472return a
473473end
474474error("\u{78}")
475475end)
476−assert((not coroutine.resume(x)))
477−assert((not coroutine.resume(x,0x1,0x1,0x1,0x1,0x1,0x1,0x1)))
478−assert((_G.F() == 0xb))
479−assert((_G.F() == 0xc))
476+assert(not coroutine.resume(x))
477+assert(not coroutine.resume(x,0x1,0x1,0x1,0x1,0x1,0x1,0x1))
478+assert(_G.F() == 0xb)
479+assert(_G.F() == 0xc)
480480_G.F=nil
481−if (not T) then
481+if not T then
482482(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
483483else
484484print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{68}\u{6f}\u{6f}\u{6b}\u{73}")
485485local turn
486486local function fact
487487(t,x)
488−assert((turn == t))
489−if (x == 0x0) then
488+assert(turn == t)
489+if x == 0x0 then
490490return 0x1
491491else
492−return (x * fact(t,(x - 0x1)))
492+return x * fact(t,x - 0x1)
493493end
494494end
495495local A,B = 0x0,0x0
@@ -501,13 +501,13 @@ local y = coroutine.create(function ()
501501T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x3)
502502B=fact("\u{42}",0x7)
503503end)
504−while ((A == 0x0) or (B == 0x0)) do
505−if (A == 0x0) then
504+while A == 0x0 or B == 0x0 do
505+if A == 0x0 then
506506turn="\u{41}"
507507;
508508assert(T.resume(x))
509509end
510−if (B == 0x0) then
510+if B == 0x0 then
511511turn="\u{42}"
512512;
513513assert(T.resume(y))
@@ -515,7 +515,7 @@ end
515515debug.traceback(x)
516516debug.traceback(y)
517517end
518−assert(((B // A) == 0x7))
518+assert(B // A == 0x7)
519519do
520520local done
521521local function test
@@ -529,40 +529,40 @@ a[i]=i
529529end
530530T.sethook("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x1)
531531local a1 = {table.unpack(a)}
532−assert((# (a1 == n)))
532+assert(# a1 == n)
533533for i = 0x1, n
534534do
535−assert((a[i] == i))
535+assert(a[i] == i)
536536end
537537done=true
538538end)
539539end
540540local co = test(0x0)
541541;
542−while (not done) do
542+while not done do
543543co(0x1e)
544544end
545545co=test(0x1)
546546;
547−while (not done) do
547+while not done do
548548co(0x14,0xa)
549549end
550550co=test(0x3)
551551;
552−while (not done) do
552+while not done do
553553co()
554554end
555555co=test(0x64)
556556;
557−while (not done) do
557+while not done do
558558co()
559559end
560560end
561−local line = (debug.getinfo(0x1,"\u{6c}").currentline + 0x2)
561+local line = debug.getinfo(0x1,"\u{6c}").currentline + 0x2
562562local function foo
563563()
564564local x = 0xa
565−x=(x + 0xa)
565+x=x + 0xa
566566_G.XX=x
567567end
568568local co = coroutine.wrap(function ()
@@ -578,23 +578,23 @@ _G.X=nil
578578;
579579co()
580580;
581−assert((_G.X == line))
581+assert(_G.X == line)
582582_G.X=nil
583583;
584584co()
585585;
586−assert((_G.X == (line + 0x1)))
586+assert(_G.X == line + 0x1)
587587_G.X=nil
588588;
589589co()
590590;
591−assert(((_G.X == (line + 0x2)) and (_G.XX == nil)))
591+assert(_G.X == line + 0x2 and _G.XX == nil)
592592_G.X=nil
593593;
594594co()
595595;
596−assert(((_G.X == (line + 0x3)) and (_G.XX == 0x14)))
597−assert((co() == 0xa))
596+assert(_G.X == line + 0x3 and _G.XX == 0x14)
597+assert(co() == 0xa)
598598_G.X=nil
599599co=coroutine.wrap(function ()
600600T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x1)
@@ -607,11 +607,11 @@ _G.XX=nil
607607;
608608local c = 0x0
609609repeat
610−c=(c + 0x1)
610+c=c + 0x1
611611;
612612local a = co()
613−until (a == 0xa)
614−assert(((_G.XX == 0x14) and (c >= 0x5)))
613+until a == 0xa
614+assert(_G.XX == 0x14 and c >= 0x5)
615615co=coroutine.wrap(function ()
616616T.sethook("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{30}","",0x2)
617617;
@@ -623,11 +623,11 @@ _G.XX=nil
623623;
624624local c = 0x0
625625repeat
626−c=(c + 0x1)
626+c=c + 0x1
627627;
628628local a = co()
629−until (a == 0xa)
630−assert(((_G.XX == 0x14) and (c >= 0x5)))
629+until a == 0xa
630+assert(_G.XX == 0x14 and c >= 0x5)
631631_G.X=nil
632632;
633633_G.XX=nil
@@ -639,82 +639,82 @@ return ...
639639end)
640640assert(coroutine.resume(c,0x1,0x2,0x3))
641641local n,v = debug.getlocal(c,0x0,0x1)
642−assert((((n == "\u{61}") and (v == 0x1)) and (debug.getlocal(c,0x0,0x2) ~= "\u{62}")))
642+assert(n == "\u{61}" and v == 0x1 and debug.getlocal(c,0x0,0x2) ~= "\u{62}")
643643assert(debug.setlocal(c,0x0,0x1,0xa))
644644local t = debug.getinfo(c,0x0)
645−assert((t.currentline == (t.linedefined + 0x2)))
646−assert((not debug.getinfo(c,0x1)))
645+assert(t.currentline == t.linedefined + 0x2)
646+assert(not debug.getinfo(c,0x1))
647647assert(coroutine.resume(c))
648648local n,v = debug.getlocal(c,0x0,0x2)
649−assert(((n == "\u{62}") and (v == 0xa)))
649+assert(n == "\u{62}" and v == 0xa)
650650v={coroutine.resume(c)}
651−assert(((((v[0x1] == true) and (v[0x2] == 0x2)) and (v[0x3] == 0x3)) and (v[0x4] == undef)))
652−assert((not coroutine.resume(c)))
651+assert(v[0x1] == true and v[0x2] == 0x2 and v[0x3] == 0x3 and v[0x4] == undef)
652+assert(not coroutine.resume(c))
653653end
654654do
655655local c = coroutine.create(function ()
656656T.testC("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}",0xa,0x14)
657657end)
658658local a,b = coroutine.resume(c)
659−assert((a and (b == 0x14)))
660−assert((debug.getinfo(c,0x0).linedefined == (- 0x1)))
659+assert(a and b == 0x14)
660+assert(debug.getinfo(c,0x0).linedefined == - 0x1)
661661a,b=debug.getlocal(c,0x0,0x2)
662−assert((b == 0xa))
662+assert(b == 0xa)
663663end
664664print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}")
665−assert((T.testC("\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{61}\u{20}\u{61}\u{20}\u{61}\u{27}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}\u{20}\u{74}\u{6f}\u{20}\u{6e}\u{65}\u{77}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{6f}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{20}\u{28}\u{74}\u{6f}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{62}\u{20}\u{62}\u{20}\u{62}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}",function (...)
665+assert(T.testC("\u{20}\u{20}\u{20}\u{20}\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{72}\u{65}\u{61}\u{74}\u{65}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{61}\u{20}\u{61}\u{20}\u{61}\u{27}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}\u{20}\u{74}\u{6f}\u{20}\u{6e}\u{65}\u{77}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{6f}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{59}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{20}\u{28}\u{74}\u{6f}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{62}\u{20}\u{62}\u{20}\u{62}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{31}\u{2c}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{61}\u{67}\u{61}\u{69}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{a}\u{20}\u{20}",function (...)
666666return ...
667−end) == "\u{62}\u{20}\u{62}\u{20}\u{62}"))
668−assert(((X == "\u{61}\u{20}\u{61}\u{20}\u{61}") and (Y == "\u{4f}\u{4b}")))
667+end) == "\u{62}\u{20}\u{62}\u{20}\u{62}")
668+assert(X == "\u{61}\u{20}\u{61}\u{20}\u{61}" and Y == "\u{4f}\u{4b}")
669669X,Y=nil
670670C=coroutine.create(function ()
671671return T.testC("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",C)
672672end)
673673local a,b,c,d = coroutine.resume(C)
674−assert(((((a == true) and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")) and (c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}")) and (d == 0x4)))
674+assert(a == true and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and d == 0x4)
675675a,b,c,d=T.testC("\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{2d}\u{33}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}")
676−assert(((((a == coroutine.running()) and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}")) and (c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}")) and (d == 0x4)))
676+assert(a == coroutine.running() and string.find(b,"\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") and c == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and d == 0x4)
677677local state = T.newstate()
678678assert(T.testC(state,"\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{3b}\u{20}\u{69}\u{73}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
679−assert((not T.testC(state,"\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{3b}\u{20}\u{69}\u{73}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}")))
679+assert(not T.testC(state,"\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{3b}\u{20}\u{69}\u{73}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"))
680680T.testC(state,"\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{30}")
681681T.loadlib(state)
682682assert(T.doremote(state,"\u{20}\u{20}\u{20}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{27}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{58}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{78}\u{2c}\u{20}\u{27}\u{42}\u{42}\u{27}\u{29}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{43}\u{43}\u{27}\u{20}\u{65}\u{6e}\u{64}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{6f}\u{6b}\u{27}"))
683683local t = table.pack(T.testC(state,"\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{58}\u{58}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{58}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{62}\u{6f}\u{64}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{41}\u{41}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{72}\u{67}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{27}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{27}\u{20}\u{73}\u{68}\u{61}\u{64}\u{6f}\u{77}\u{73}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{54}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{6f}\u{70}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{42}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{65}\u{64}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{73}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{41}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{66}\u{69}\u{73}\u{74}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{65}\u{64}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{61}\u{77}\u{67}\u{65}\u{74}\u{69}\u{20}\u{52}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{72}\u{67}\u{20}\u{28}\u{6e}\u{6f}\u{69}\u{73}\u{65}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{31}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{65}\u{6e}\u{64}\u{73}\u{2c}\u{20}\u{70}\u{72}\u{65}\u{76}\u{69}\u{6f}\u{75}\u{73}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{69}\u{73}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}\u{20}\u{20}"))
684−assert(((((t.n == 0x4) and (t[0x2] == "\u{58}\u{58}")) and (t[0x3] == "\u{43}\u{43}")) and (t[0x4] == "\u{4f}\u{4b}")))
685−assert((T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{54}") == "\u{32}"))
686−assert((T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{41}") == "\u{41}\u{41}"))
687−assert((T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{42}") == "\u{42}\u{42}"))
684+assert(t.n == 0x4 and t[0x2] == "\u{58}\u{58}" and t[0x3] == "\u{43}\u{43}" and t[0x4] == "\u{4f}\u{4b}")
685+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{54}") == "\u{32}")
686+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{41}") == "\u{41}\u{41}")
687+assert(T.doremote(state,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{42}") == "\u{42}\u{42}")
688688T.closestate(state)
689689print("\u{2b}")
690690end
691691_G.TO_SURVIVE=coroutine.wrap(function ()
692692local a = 0xa
693693local x = function ()
694−a=(a + 0x1)
694+a=a + 0x1
695695end
696696coroutine.yield()
697697end)
698698_G.TO_SURVIVE()
699−if (not _soft) then
699+if not _soft then
700700local lim = 0xf4240
701−local t = {(lim - 0xa),(lim - 0x5),(lim - 0x1),lim,(lim + 0x1),(lim + 0x5)}
702−for i = 0x1, (# t)
701+local t = {lim - 0xa,lim - 0x5,lim - 0x1,lim,lim + 0x1,lim + 0x5}
702+for i = 0x1, # t
703703do
704704local j = t[i]
705705local co = coroutine.create(function ()
706706return table.unpack({},0x1,j)
707707end)
708708local r,msg = coroutine.resume(co)
709−assert(((j < lim) or (not r)))
709+assert(j < lim or not r)
710710end
711711end
712−assert((coroutine.running() == main))
712+assert(coroutine.running() == main)
713713print("\u{2b}")
714714print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{73}")
715715local function val
716716(x)
717−if (type(x) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
717+if type(x) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
718718return x.x
719719else
720720return x
@@ -723,74 +723,74 @@ end
723723local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
724724coroutine.yield(nil,"\u{65}\u{71}")
725725;
726−return (val(a) == val(b))
726+return val(a) == val(b)
727727end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
728728coroutine.yield(nil,"\u{6c}\u{74}")
729729;
730−return (val(a) < val(b))
730+return val(a) < val(b)
731731end,["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
732732coroutine.yield(nil,"\u{6c}\u{65}")
733733;
734−return ((a - b) <= 0x0)
734+return a - b <= 0x0
735735end,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = function (a,b)
736736coroutine.yield(nil,"\u{61}\u{64}\u{64}")
737737;
738−return (val(a) + val(b))
738+return val(a) + val(b)
739739end,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = function (a,b)
740740coroutine.yield(nil,"\u{73}\u{75}\u{62}")
741741;
742−return (val(a) - val(b))
742+return val(a) - val(b)
743743end,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = function (a,b)
744744coroutine.yield(nil,"\u{6d}\u{75}\u{6c}")
745745;
746−return (val(a) * val(b))
746+return val(a) * val(b)
747747end,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = function (a,b)
748748coroutine.yield(nil,"\u{64}\u{69}\u{76}")
749749;
750−return (val(a) / val(b))
750+return val(a) / val(b)
751751end,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = function (a,b)
752752coroutine.yield(nil,"\u{69}\u{64}\u{69}\u{76}")
753753;
754−return (val(a) // val(b))
754+return val(a) // val(b)
755755end,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = function (a,b)
756756coroutine.yield(nil,"\u{70}\u{6f}\u{77}")
757757;
758−return (val(a) ^ val(b))
758+return val(a) ^ val(b)
759759end,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = function (a,b)
760760coroutine.yield(nil,"\u{6d}\u{6f}\u{64}")
761761;
762−return (val(a) % val(b))
762+return val(a) % val(b)
763763end,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = function (a,b)
764764coroutine.yield(nil,"\u{75}\u{6e}\u{6d}")
765765;
766−return (- val(a))
766+return - val(a)
767767end,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = function (a,b)
768768coroutine.yield(nil,"\u{62}\u{6e}\u{6f}\u{74}")
769769;
770−return (~ val(a))
770+return ~ val(a)
771771end,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = function (a,b)
772772coroutine.yield(nil,"\u{73}\u{68}\u{6c}")
773773;
774−return (val(a) << val(b))
774+return val(a) << val(b)
775775end,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = function (a,b)
776776coroutine.yield(nil,"\u{73}\u{68}\u{72}")
777777;
778−return (val(a) >> val(b))
778+return val(a) >> val(b)
779779end,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = function (a,b)
780780coroutine.yield(nil,"\u{62}\u{61}\u{6e}\u{64}")
781−return (val(a) & val(b))
781+return val(a) & val(b)
782782end,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = function (a,b)
783783coroutine.yield(nil,"\u{62}\u{6f}\u{72}")
784784;
785−return (val(a) | val(b))
785+return val(a) | val(b)
786786end,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = function (a,b)
787787coroutine.yield(nil,"\u{62}\u{78}\u{6f}\u{72}")
788788;
789−return (val(a) ~ val(b))
789+return val(a) ~ val(b)
790790end,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
791791coroutine.yield(nil,"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
792792;
793−return (val(a) .. val(b))
793+return val(a) .. val(b)
794794end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
795795coroutine.yield(nil,"\u{69}\u{64}\u{78}")
796796;
@@ -814,157 +814,157 @@ local c = coroutine.wrap(f)
814814while true do
815815local res,stat = c()
816816if res then
817−assert((t[i] == undef))
817+assert(t[i] == undef)
818818;
819819return res,t
820820end
821−assert((stat == t[i]))
822−i=(i + 0x1)
821+assert(stat == t[i])
822+i=i + 0x1
823823end
824824end
825−assert((run(function ()
825+assert(run(function ()
826826if (a >= b) then
827827return "\u{3e}\u{3d}"
828828else
829829return "\u{3c}"
830830end
831−end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}"))
832−assert((run(function ()
831+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}")
832+assert(run(function ()
833833if (a <= b) then
834834return "\u{3c}\u{3d}"
835835else
836836return "\u{3e}"
837837end
838−end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}\u{3d}"))
839−assert((run(function ()
838+end,{"\u{6c}\u{65}","\u{73}\u{75}\u{62}"}) == "\u{3c}\u{3d}")
839+assert(run(function ()
840840if (a == b) then
841841return "\u{3d}\u{3d}"
842842else
843843return "\u{7e}\u{3d}"
844844end
845−end,{"\u{65}\u{71}"}) == "\u{7e}\u{3d}"))
846−assert((run(function ()
847−return (a & (b + a))
848−end,{"\u{61}\u{64}\u{64}","\u{62}\u{61}\u{6e}\u{64}"}) == 0x2))
849−assert((run(function ()
850−return (0x1 + a)
851−end,{"\u{61}\u{64}\u{64}"}) == 0xb))
852−assert((run(function ()
853−return (a - 0x19)
854−end,{"\u{73}\u{75}\u{62}"}) == (- 0xf)))
855−assert((run(function ()
856−return (0x2 * a)
857−end,{"\u{6d}\u{75}\u{6c}"}) == 0x14))
858−assert((run(function ()
859−return (a ^ 0x2)
860−end,{"\u{70}\u{6f}\u{77}"}) == 0x64))
861−assert((run(function ()
862−return (a / 0x2)
863−end,{"\u{64}\u{69}\u{76}"}) == 0x5))
864−assert((run(function ()
865−return (a % 0x6)
866−end,{"\u{6d}\u{6f}\u{64}"}) == 0x4))
867−assert((run(function ()
868−return (a // 0x3)
869−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x3))
870−assert((run(function ()
871−return (a + b)
872−end,{"\u{61}\u{64}\u{64}"}) == 0x16))
873−assert((run(function ()
874−return (a - b)
875−end,{"\u{73}\u{75}\u{62}"}) == (- 0x2)))
876−assert((run(function ()
877−return (a * b)
878−end,{"\u{6d}\u{75}\u{6c}"}) == 0x78))
879−assert((run(function ()
880−return (a ^ b)
881−end,{"\u{70}\u{6f}\u{77}"}) == (0xa ^ 0xc)))
882−assert((run(function ()
883−return (a / b)
884−end,{"\u{64}\u{69}\u{76}"}) == (0xa / 0xc)))
885−assert((run(function ()
886−return (a % b)
887−end,{"\u{6d}\u{6f}\u{64}"}) == 0xa))
888−assert((run(function ()
889−return (a // b)
890−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x0))
845+end,{"\u{65}\u{71}"}) == "\u{7e}\u{3d}")
846+assert(run(function ()
847+return a & b + a
848+end,{"\u{61}\u{64}\u{64}","\u{62}\u{61}\u{6e}\u{64}"}) == 0x2)
849+assert(run(function ()
850+return 0x1 + a
851+end,{"\u{61}\u{64}\u{64}"}) == 0xb)
852+assert(run(function ()
853+return a - 0x19
854+end,{"\u{73}\u{75}\u{62}"}) == - 0xf)
855+assert(run(function ()
856+return 0x2 * a
857+end,{"\u{6d}\u{75}\u{6c}"}) == 0x14)
858+assert(run(function ()
859+return a ^ 0x2
860+end,{"\u{70}\u{6f}\u{77}"}) == 0x64)
861+assert(run(function ()
862+return a / 0x2
863+end,{"\u{64}\u{69}\u{76}"}) == 0x5)
864+assert(run(function ()
865+return a % 0x6
866+end,{"\u{6d}\u{6f}\u{64}"}) == 0x4)
867+assert(run(function ()
868+return a // 0x3
869+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x3)
870+assert(run(function ()
871+return a + b
872+end,{"\u{61}\u{64}\u{64}"}) == 0x16)
873+assert(run(function ()
874+return a - b
875+end,{"\u{73}\u{75}\u{62}"}) == - 0x2)
876+assert(run(function ()
877+return a * b
878+end,{"\u{6d}\u{75}\u{6c}"}) == 0x78)
879+assert(run(function ()
880+return a ^ b
881+end,{"\u{70}\u{6f}\u{77}"}) == 0xa ^ 0xc)
882+assert(run(function ()
883+return a / b
884+end,{"\u{64}\u{69}\u{76}"}) == 0xa / 0xc)
885+assert(run(function ()
886+return a % b
887+end,{"\u{6d}\u{6f}\u{64}"}) == 0xa)
888+assert(run(function ()
889+return a // b
890+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x0)
891891local a1000 = new(0x3e8)
892−assert((run(function ()
893−return (a1000 + 0x3e8)
894−end,{"\u{61}\u{64}\u{64}"}) == 0x7d0))
895−assert((run(function ()
896−return (a1000 - 0x61a8)
897−end,{"\u{73}\u{75}\u{62}"}) == (- 0x5dc0)))
898−assert((run(function ()
899−return (0x7d0 * a)
900−end,{"\u{6d}\u{75}\u{6c}"}) == 0x4e20))
901−assert((run(function ()
902−return (a1000 / 0x3e8)
903−end,{"\u{64}\u{69}\u{76}"}) == 0x1))
904−assert((run(function ()
905−return (a1000 % 0x258)
906−end,{"\u{6d}\u{6f}\u{64}"}) == 0x190))
907−assert((run(function ()
908−return (a1000 // 0x1f4)
909−end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x2))
910−assert((run(function ()
911−return (a % b)
912−end,{"\u{6d}\u{6f}\u{64}"}) == 0xa))
913−assert((run(function ()
914−return (~ (a & b))
915−end,{"\u{62}\u{6e}\u{6f}\u{74}","\u{62}\u{61}\u{6e}\u{64}"}) == (~ (0xa & 0xc))))
916−assert((run(function ()
917−return (a | b)
918−end,{"\u{62}\u{6f}\u{72}"}) == (0xa | 0xc)))
919−assert((run(function ()
920−return (a ~ b)
921−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0xa ~ 0xc)))
922−assert((run(function ()
923−return (a << b)
924−end,{"\u{73}\u{68}\u{6c}"}) == (0xa << 0xc)))
925−assert((run(function ()
926−return (a >> b)
927−end,{"\u{73}\u{68}\u{72}"}) == (0xa >> 0xc)))
928−assert((run(function ()
929−return (0xa & b)
930−end,{"\u{62}\u{61}\u{6e}\u{64}"}) == (0xa & 0xc)))
931−assert((run(function ()
932−return (a | 0x2)
933−end,{"\u{62}\u{6f}\u{72}"}) == (0xa | 0x2)))
934−assert((run(function ()
935−return (a ~ 0x2)
936−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0xa ~ 0x2)))
937−assert((run(function ()
938−return (a >> 0x2)
939−end,{"\u{73}\u{68}\u{72}"}) == (0xa >> 0x2)))
940−assert((run(function ()
941−return (0x1 >> a)
942−end,{"\u{73}\u{68}\u{72}"}) == (0x1 >> 0xa)))
943−assert((run(function ()
944−return (a << 0x2)
945−end,{"\u{73}\u{68}\u{6c}"}) == (0xa << 0x2)))
946−assert((run(function ()
947−return (0x1 << a)
948−end,{"\u{73}\u{68}\u{6c}"}) == (0x1 << 0xa)))
949−assert((run(function ()
950−return (0x2 ~ a)
951−end,{"\u{62}\u{78}\u{6f}\u{72}"}) == (0x2 ~ 0xa)))
952−assert((run(function ()
953−return (a .. b)
954−end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}"))
955−assert((run(function ()
956−return (a .. (b .. (c .. a)))
957−end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{30}"))
958−assert((run(function ()
959−return ("\u{61}" .. ("\u{62}" .. (a .. ("\u{63}" .. (c .. (b .. "\u{78}"))))))
960−end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{61}\u{62}\u{31}\u{30}\u{63}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{32}\u{78}"))
892+assert(run(function ()
893+return a1000 + 0x3e8
894+end,{"\u{61}\u{64}\u{64}"}) == 0x7d0)
895+assert(run(function ()
896+return a1000 - 0x61a8
897+end,{"\u{73}\u{75}\u{62}"}) == - 0x5dc0)
898+assert(run(function ()
899+return 0x7d0 * a
900+end,{"\u{6d}\u{75}\u{6c}"}) == 0x4e20)
901+assert(run(function ()
902+return a1000 / 0x3e8
903+end,{"\u{64}\u{69}\u{76}"}) == 0x1)
904+assert(run(function ()
905+return a1000 % 0x258
906+end,{"\u{6d}\u{6f}\u{64}"}) == 0x190)
907+assert(run(function ()
908+return a1000 // 0x1f4
909+end,{"\u{69}\u{64}\u{69}\u{76}"}) == 0x2)
910+assert(run(function ()
911+return a % b
912+end,{"\u{6d}\u{6f}\u{64}"}) == 0xa)
913+assert(run(function ()
914+return ~ a & b
915+end,{"\u{62}\u{6e}\u{6f}\u{74}","\u{62}\u{61}\u{6e}\u{64}"}) == ~ 0xa & 0xc)
916+assert(run(function ()
917+return a | b
918+end,{"\u{62}\u{6f}\u{72}"}) == 0xa | 0xc)
919+assert(run(function ()
920+return a ~ b
921+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0xa ~ 0xc)
922+assert(run(function ()
923+return a << b
924+end,{"\u{73}\u{68}\u{6c}"}) == 0xa << 0xc)
925+assert(run(function ()
926+return a >> b
927+end,{"\u{73}\u{68}\u{72}"}) == 0xa >> 0xc)
928+assert(run(function ()
929+return 0xa & b
930+end,{"\u{62}\u{61}\u{6e}\u{64}"}) == 0xa & 0xc)
931+assert(run(function ()
932+return a | 0x2
933+end,{"\u{62}\u{6f}\u{72}"}) == 0xa | 0x2)
934+assert(run(function ()
935+return a ~ 0x2
936+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0xa ~ 0x2)
937+assert(run(function ()
938+return a >> 0x2
939+end,{"\u{73}\u{68}\u{72}"}) == 0xa >> 0x2)
940+assert(run(function ()
941+return 0x1 >> a
942+end,{"\u{73}\u{68}\u{72}"}) == 0x1 >> 0xa)
943+assert(run(function ()
944+return a << 0x2
945+end,{"\u{73}\u{68}\u{6c}"}) == 0xa << 0x2)
946+assert(run(function ()
947+return 0x1 << a
948+end,{"\u{73}\u{68}\u{6c}"}) == 0x1 << 0xa)
949+assert(run(function ()
950+return 0x2 ~ a
951+end,{"\u{62}\u{78}\u{6f}\u{72}"}) == 0x2 ~ 0xa)
952+assert(run(function ()
953+return a .. b
954+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}")
955+assert(run(function ()
956+return a .. b .. c .. a
957+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{31}\u{30}\u{31}\u{32}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{30}")
958+assert(run(function ()
959+return "\u{61}" .. "\u{62}" .. a .. "\u{63}" .. c .. b .. "\u{78}"
960+end,{"\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}","\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"}) == "\u{61}\u{62}\u{31}\u{30}\u{63}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{31}\u{32}\u{78}")
961961do
962962local mt1 = {["\u{5f}\u{5f}\u{6c}\u{65}"] = function (a,b)
963963coroutine.yield(0xa)
964964return (val(a) <= val(b))
965965end,["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
966966coroutine.yield(0xa)
967−return (val(a) < val(b))
967+return val(a) < val(b)
968968end}
969969local mt2 = {["\u{5f}\u{5f}\u{6c}\u{74}"] = mt1.__lt,["\u{5f}\u{5f}\u{6c}\u{65}"] = mt1.__le}
970970local function run
@@ -973,31 +973,31 @@ local co = coroutine.wrap(f)
973973local res
974974repeat
975975res=co()
976−until (res ~= 0xa)
976+until res ~= 0xa
977977return res
978978end
979979local function test
980980()
981981local a1 = setmetatable({["\u{78}"] = 0x1},mt1)
982982local a2 = setmetatable({["\u{78}"] = 0x2},mt2)
983−assert((a1 < a2))
984−assert((a1 <= a2))
985−assert((0x1 < a2))
986−assert((0x1 <= a2))
987−assert((0x2 > a1))
988−assert((0x2 >= a2))
983+assert(a1 < a2)
984+assert(a1 <= a2)
985+assert(0x1 < a2)
986+assert(0x1 <= a2)
987+assert(0x2 > a1)
988+assert(0x2 >= a2)
989989return true
990990end
991991run(test)
992992end
993−assert((run(function ()
993+assert(run(function ()
994994a.BB=print
995995return a.BB
996−end,{"\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == print))
996+end,{"\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == print)
997997do
998998local _ENV = _ENV
999999f=function ()
1000−AAA=(BBB + 0x1)
1000+AAA=BBB + 0x1
10011001;
10021002return AAA
10031003end
@@ -1007,27 +1007,27 @@ local g = new(0xa)
10071007g.k.BBB=0xa
10081008;
10091009debug.setupvalue(f,0x1,g)
1010−assert((run(f,{"\u{69}\u{64}\u{78}","\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == 0xb))
1011−assert((g.k.AAA == 0xb))
1010+assert(run(f,{"\u{69}\u{64}\u{78}","\u{6e}\u{69}\u{64}\u{78}","\u{69}\u{64}\u{78}"}) == 0xb)
1011+assert(g.k.AAA == 0xb)
10121012print("\u{2b}")
10131013print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{69}\u{74}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}\u{73}")
10141014local f = function (s,i)
1015−if ((i % 0x2) == 0x0) then
1015+if i % 0x2 == 0x0 then
10161016coroutine.yield(nil,"\u{66}\u{6f}\u{72}")
10171017end
1018−if (i < s) then
1019−return (i + 0x1)
1018+if i < s then
1019+return i + 0x1
10201020end
10211021end
1022−assert((run(function ()
1022+assert(run(function ()
10231023local s = 0x0
10241024for i in f,0x4,0x0
10251025do
1026−s=(s + i)
1026+s=s + i
10271027end
10281028return s
1029−end,{"\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}"}) == 0xa))
1030−if (T == nil) then
1029+end,{"\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}","\u{66}\u{6f}\u{72}"}) == 0xa)
1030+if T == nil then
10311031(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{20}\u{41}\u{50}\u{49}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
10321032print("\u{4f}\u{4b}")
10331033;
@@ -1042,35 +1042,35 @@ return T.testC(table.unpack(x))
10421042end)
10431043end
10441044local a = {apico("\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{63}\u{6f}\u{64}\u{65}\u{a}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{30}\u{20}\u{32}\u{3b}\u{a}\u{20}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}\u{20}\u{28}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{72}\u{72}\u{69}\u{76}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{29}\u{a}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}","\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}",error)()}
1045−assert((# (((((a == 0x4) and (a[0x3] == "\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}")) and (a[0x4] == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{63}\u{6f}\u{64}\u{65}")) and (_G.status == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}")) and (_G.ctx == 0x2))))
1045+assert(# a == 0x4 and a[0x3] == "\u{73}\u{74}\u{61}\u{63}\u{6b}\u{6d}\u{61}\u{72}\u{6b}" and a[0x4] == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{63}\u{6f}\u{64}\u{65}" and _G.status == "\u{45}\u{52}\u{52}\u{52}\u{55}\u{4e}" and _G.ctx == 0x2)
10461046local co = apico("\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{32}\u{20}\u{33}\u{3b}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}\u{3b}",coroutine.yield,"\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{3b}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{30}\u{20}\u{34}\u{3b}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}","\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}")
1047−assert((co() == 0xa))
1048−assert((co(0x14,0x1e) == "\u{61}"))
1047+assert(co() == 0xa)
1048+assert(co(0x14,0x1e) == "\u{61}")
10491049a={co()}
1050−assert((# ((((((((a == 0xa) and (a[0x2] == coroutine.yield)) and (a[0x5] == 0x14)) and (a[0x6] == 0x1e)) and (a[0x7] == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (a[0x8] == 0x3)) and (a[0x9] == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (a[0xa] == 0x4))))
1051−assert((not pcall(co)))
1050+assert(# a == 0xa and a[0x2] == coroutine.yield and a[0x5] == 0x14 and a[0x6] == 0x1e and a[0x7] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[0x8] == 0x3 and a[0x9] == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and a[0xa] == 0x4)
1051+assert(not pcall(co))
10521052f=T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{35}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{31}\u{3b}")
10531053co=coroutine.wrap(function ()
1054−assert((f() == 0x17))
1054+assert(f() == 0x17)
10551055;
1056−assert((f() == 0x17))
1056+assert(f() == 0x17)
10571057;
10581058return 0xa
10591059end)
1060−assert((co(0x17,0x10) == 0x5))
1061−assert((co(0x17,0x10) == 0x5))
1062−assert((co(0x17,0x10) == 0xa))
1060+assert(co(0x17,0x10) == 0x5)
1061+assert(co(0x17,0x10) == 0x5)
1062+assert(co(0x17,0x10) == 0xa)
10631063f=T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{32}\u{a}\u{9}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{9}\u{31}\u{20}\u{55}\u{32}\u{a}\u{9}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}","\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{9}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{33}\u{20}\u{20}\u{20}\u{23}\u{20}\u{61}\u{63}\u{63}\u{65}\u{73}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{73}\u{69}\u{64}\u{65}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{34}\u{a}\u{9}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}",0x17,"\u{68}\u{75}\u{75}")
10641064x=coroutine.wrap(f)
1065−assert((x() == 0x66))
1065+assert(x() == 0x66)
10661066eqtab({x()},{0x17,"\u{68}\u{75}\u{75}"})
10671067f=T.makeCfunc("\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{61}\u{27}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{32}\u{3b}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{32}\u{3b}\u{20}")
10681068a,b,c,d=T.testC("\u{6e}\u{65}\u{77}\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{30}\u{20}\u{33}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{33}\u{20}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{78}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{33}\u{20}\u{30}\u{20}\u{30}\u{3b}\u{20}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6d}\u{65}\u{20}\u{33}\u{20}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{3b}\u{20}",f)
1069−assert(((((a == "\u{59}\u{49}\u{45}\u{4c}\u{44}") and (b == "\u{61}")) and (c == 0x66)) and (d == "\u{4f}\u{4b}")))
1069+assert(a == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and b == "\u{61}" and c == 0x66 and d == "\u{4f}\u{4b}")
10701070local count = 0x3
10711071f=T.makeCfunc("\u{20}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{31}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{55}\u{33}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{67}\u{65}\u{74}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{30}\u{20}\u{31}\u{3b}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{74}\u{20}\u{20}\u{28}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{20}\u{69}\u{73}\u{20}\u{27}\u{66}\u{27}\u{20}\u{6f}\u{72}\u{20}\u{27}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{27}\u{29}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{73}\u{69}\u{6e}\u{67}\u{6c}\u{65}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{32}\u{3b}\u{20}\u{20}\u{20}\u{23}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{6f}\u{66}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{a}\u{20}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{31}\u{20}\u{2d}\u{31}\u{20}\u{2e}\u{3b}\u{9}\u{9}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{9}\u{9}\u{23}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{61}\u{72}\u{72}\u{69}\u{76}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{a}","\u{20}\u{20}\u{23}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{a}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{33}\u{34}\u{9}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}\u{a}",function ()
1072−count=(count - 0x1)
1073−if (count == 0x0) then
1072+count=count - 0x1
1073+if count == 0x0 then
10741074return coroutine.yield
10751075else
10761076return f
@@ -1079,9 +1079,9 @@ end)
10791079co=coroutine.wrap(function ()
10801080return f(nil)
10811081end)
1082−assert((co() == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}"))
1082+assert(co() == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
10831083a={co()}
1084−assert((# ((((a == 0x3) and (a[0x1] == a[0x2])) and (a[0x2] == a[0x3])) and (a[0x3] == 0x22))))
1084+assert(# a == 0x3 and a[0x1] == a[0x2] and a[0x2] == a[0x3] and a[0x3] == 0x22)
10851085local y
10861086co=coroutine.wrap(function (...)
10871087return T.testC("\u{20}\u{23}\u{20}\u{69}\u{6e}\u{69}\u{74}\u{69}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{31}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{31}\u{73}\u{74}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{30}\u{20}\u{33}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{32}\u{6e}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{6b}\u{20}\u{30}\u{20}\u{34}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{33}\u{74}\u{68}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{36}\u{20}\u{20}\u{20}\u{23}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{68}\u{69}\u{63}\u{68}\u{20}\u{69}\u{73}\u{20}\u{6c}\u{61}\u{73}\u{74}\u{20}\u{61}\u{72}\u{67}\u{2e}\u{20}\u{74}\u{6f}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{43}\u{27}\u{20}\u{68}\u{65}\u{72}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{32}\u{30}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{32}\u{20}\u{30}\u{20}\u{30}\u{20}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{74}\u{68}\u{72}\u{6f}\u{77}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{6f}\u{70}\u{20}\u{31}\u{9}\u{9}\u{23}\u{20}\u{72}\u{65}\u{6d}\u{6f}\u{76}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{36}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{73}\u{74}\u{61}\u{74}\u{75}\u{73}\u{3b}\u{20}\u{67}\u{65}\u{74}\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{63}\u{74}\u{78}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{6b}\u{20}\u{32}\u{20}\u{32}\u{20}\u{35}\u{20}\u{20}\u{23}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{74}\u{68}\u{72}\u{6f}\u{77}\u{20}\u{61}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6a}\u{75}\u{6d}\u{70}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}","\u{20}\u{20}\u{23}\u{20}\u{34}\u{74}\u{68}\u{20}\u{28}\u{61}\u{6e}\u{64}\u{20}\u{6c}\u{61}\u{73}\u{74}\u{29}\u{20}\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}",function (a,b)
@@ -1093,21 +1093,21 @@ error("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}")
10931093end,...)
10941094end)
10951095local a = {co(0x3,0x4,0x6)}
1096−assert(((a[0x1] == 0x6) and (a[0x2] == undef)))
1096+assert(a[0x1] == 0x6 and a[0x2] == undef)
10971097a={co()}
10981098;
1099−assert((((a[0x1] == undef) and (_G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (_G.ctx == 0x2)))
1099+assert(a[0x1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 0x2)
11001100a={co()}
11011101;
1102−assert((((a[0x1] == undef) and (_G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}")) and (_G.ctx == 0x3)))
1102+assert(a[0x1] == undef and _G.status == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and _G.ctx == 0x3)
11031103a={co(0x7,0x8)}
11041104;
1105−assert(((((((type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (type(a[0x2]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x3]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x4]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x5]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(a[0x6]) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")))
1106−assert(((a[0x7] == 0x3) and (a[0x8] == 0x4)))
1107−assert(((a[0x9] == 0x7) and (a[0xa] == 0x8)))
1108−assert((a[0xb]:find("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}") and (# (a == 0xb))))
1109−assert(((x == "\u{59}\u{49}\u{45}\u{4c}\u{44}") and (y == 0x4)))
1110−assert((not pcall(co)))
1105+assert(type(a[0x1]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x2]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x3]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x4]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x5]) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(a[0x6]) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
1106+assert(a[0x7] == 0x3 and a[0x8] == 0x4)
1107+assert(a[0x9] == 0x7 and a[0xa] == 0x8)
1108+assert(a[0xb]:find("\u{65}\u{72}\u{72}\u{6d}\u{73}\u{67}") and # a == 0xb)
1109+assert(x == "\u{59}\u{49}\u{45}\u{4c}\u{44}" and y == 0x4)
1110+assert(not pcall(co))
11111111_G.ctx=nil
11121112_G.status=nil
11131113local co = coroutine.wrap(function ()
@@ -1115,5 +1115,5 @@ local a = {pcall(pcall,pcall,pcall,pcall,pcall,pcall,pcall,error,"\u{68}\u{69}")
11151115return pcall(assert,table.unpack(a))
11161116end)
11171117local a = {co()}
1118−assert((a[0xa] == "\u{68}\u{69}"))
1118+assert(a[0xa] == "\u{68}\u{69}")
11191119print("\u{4f}\u{4b}")
desk/res/lua/cycled/cstack.lua+22−22
@@ -3,20 +3,20 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\
33local function checkerror
44(msg,f, ...)
55local s,err = pcall(f,...)
6−assert((not (s and string.find(err,msg))))
6+assert(not s and string.find(err,msg))
77end
88do
99print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{69}\u{6e}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}")
1010local count = 0x0
1111local function loop
1212(x,y,z)
13−count=(count + 0x1)
14−return (0x1 + loop(x,y,z))
13+count=count + 0x1
14+return 0x1 + loop(x,y,z)
1515end
1616tracegc.stop()
1717local res,msg = xpcall(loop,loop)
1818tracegc.start()
19−assert((msg == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}"))
19+assert(msg == "\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}")
2020print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
2121end
2222do
@@ -28,7 +28,7 @@ local p = string.rep("\u{2e}\u{3f}",size)
2828return string.match(s,p)
2929end
3030local m = f(0x50)
31−assert((# (m == 0x50)))
31+assert(# m == 0x50)
3232checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{6c}\u{65}\u{78}",f,0x7d0)
3333end
3434do
@@ -36,7 +36,7 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\
3636local count = 0x0
3737local function foo
3838()
39−count=(count + 0x1)
39+count=count + 0x1
4040string.gsub("\u{61}","\u{2e}",foo)
4141end
4242checkerror("\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",foo)
@@ -45,7 +45,7 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\
4545local count = 0x0
4646local t = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = foo})
4747foo=function ()
48−count=(count + 0x1)
48+count=count + 0x1
4949string.gsub("\u{61}","\u{2e}",t)
5050end
5151checkerror("\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",foo)
@@ -57,11 +57,11 @@ local count = 0x0
5757local lim = 0x3e8
5858local function stack
5959(n)
60−if (n > 0x0) then
61−return (stack((n - 0x1)) + 0x1)
60+if n > 0x0 then
61+return stack(n - 0x1) + 0x1
6262else
6363coroutine.wrap(function ()
64−count=(count + 0x1)
64+count=count + 0x1
6565stack(lim)
6666end)()
6767end
@@ -69,7 +69,7 @@ end
6969local st,msg = xpcall(stack,function ()
7070return "\u{6f}\u{6b}"
7171end,lim)
72−assert((not (st and (msg == "\u{6f}\u{6b}"))))
72+assert(not st and msg == "\u{6f}\u{6b}")
7373print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
7474end
7575do
@@ -81,7 +81,7 @@ do
8181local previous = coro
8282coro=coroutine.create(function ()
8383local cc <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
84−count=(count + 0x1)
84+count=count + 0x1
8585if previous then
8686assert(coroutine.close(previous))
8787end
@@ -91,7 +91,7 @@ end)
9191assert(coroutine.resume(coro))
9292end
9393local st,msg = coroutine.close(coro)
94−assert((not (st and string.find(msg,"\u{43}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))))
94+assert(not st and string.find(msg,"\u{43}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
9595print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
9696end
9797do
@@ -103,12 +103,12 @@ coroutine.yield()
103103local f = coroutine.wrap(body)
104104f()
105105;
106−count=(count + 0x1)
106+count=count + 0x1
107107f()
108108end
109109local f = coroutine.wrap(body)
110110f()
111−assert((not pcall(f)))
111+assert(not pcall(f))
112112print("\u{66}\u{69}\u{6e}\u{61}\u{6c}\u{20}\u{63}\u{6f}\u{75}\u{6e}\u{74}\u{3a}\u{20}",count)
113113end
114114do
@@ -116,7 +116,7 @@ print("\u{6e}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{72}\u{6f}\
116116local count = 0x0
117117local function foo
118118()
119−count=(count + 0x1)
119+count=count + 0x1
120120pcall(0x1)
121121coroutine.wrap(foo)()
122122end
@@ -126,25 +126,25 @@ end
126126if T then
127127print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{72}\u{65}\u{63}\u{6f}\u{76}\u{65}\u{72}\u{79}")
128128local N = 0x0
129−local LIM = (- 0x1)
129+local LIM = - 0x1
130130local stack1
131131local dummy
132132local function err
133133(msg)
134134assert(string.find(msg,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
135135local _,stacknow = T.stacklevel()
136−assert((stacknow == (stack1 + 0xc8)))
136+assert(stacknow == stack1 + 0xc8)
137137end
138138local function f
139139()
140140dummy,stack1=T.stacklevel()
141−if (N == LIM) then
141+if N == LIM then
142142xpcall(f,err)
143143local _,stacknow = T.stacklevel()
144−assert((stacknow == stack1))
144+assert(stacknow == stack1)
145145return
146146end
147−N=(N + 0x1)
147+N=N + 0x1
148148f()
149149end
150150local topB,sizeB
@@ -154,7 +154,7 @@ tracegc.stop()
154154xpcall(f,err)
155155tracegc.start()
156156topA,sizeA=T.stacklevel()
157−assert(((topA == topB) and (sizeA < (sizeB * 0x2))))
157+assert(topA == topB and sizeA < sizeB * 0x2)
158158print(string.format("\u{6d}\u{61}\u{78}\u{69}\u{6d}\u{75}\u{6d}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{3a}\u{20}\u{25}\u{64}",stack1))
159159LIM=N
160160N=0x0
desk/res/lua/cycled/db.lua+245−245
@@ -7,45 +7,45 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{65}\u{62}\u{75}\
77do
88local a = 0x1
99end
10−assert((not debug.gethook()))
10+assert(not debug.gethook())
1111local testline = 0x13
1212local function test
1313(s,l,p)
1414collectgarbage()
1515local function f
1616(event,line)
17−assert((event == "\u{6c}\u{69}\u{6e}\u{65}"))
17+assert(event == "\u{6c}\u{69}\u{6e}\u{65}")
1818local l = table.remove(l,0x1)
1919if p then
2020print(l,line)
2121end
22−assert((l == line),"\u{77}\u{72}\u{6f}\u{6e}\u{67}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{21}\u{21}")
22+assert(l == line,"\u{77}\u{72}\u{6f}\u{6e}\u{67}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{21}\u{21}")
2323end
2424debug.sethook(f,"\u{6c}")
2525;
2626load(s)()
2727;
2828debug.sethook()
29−assert((# (l == 0x0)))
29+assert(# l == 0x0)
3030end
3131do
32−assert((not pcall(debug.getinfo,print,"\u{58}")))
33−assert((not pcall(debug.getinfo,0x0,"\u{3e}")))
34−assert((not debug.getinfo(0x3e8)))
35−assert((not debug.getinfo((- 0x1))))
32+assert(not pcall(debug.getinfo,print,"\u{58}"))
33+assert(not pcall(debug.getinfo,0x0,"\u{3e}"))
34+assert(not debug.getinfo(0x3e8))
35+assert(not debug.getinfo(- 0x1))
3636local a = debug.getinfo(print)
37−assert(((a.what == "\u{43}") and (a.short_src == "\u{5b}\u{43}\u{5d}")))
37+assert(a.what == "\u{43}" and a.short_src == "\u{5b}\u{43}\u{5d}")
3838a=debug.getinfo(print,"\u{4c}")
39−assert((a.activelines == nil))
39+assert(a.activelines == nil)
4040local b = debug.getinfo(test,"\u{53}\u{66}\u{4c}")
41−assert(((((((b.name == nil) and (b.what == "\u{4c}\u{75}\u{61}")) and (b.linedefined == testline)) and (b.lastlinedefined == (b.linedefined + 0xa))) and (b.func == test)) and (not string.find(b.short_src,"\u{25}\u{5b}"))))
42−assert((b.activelines[(b.linedefined + 0x1)] and b.activelines[b.lastlinedefined]))
43−assert((not (b.activelines[b.linedefined] and (not b.activelines[(b.lastlinedefined + 0x1)]))))
41+assert(b.name == nil and b.what == "\u{4c}\u{75}\u{61}" and b.linedefined == testline and b.lastlinedefined == b.linedefined + 0xa and b.func == test and not string.find(b.short_src,"\u{25}\u{5b}"))
42+assert(b.activelines[b.linedefined + 0x1] and b.activelines[b.lastlinedefined])
43+assert(not b.activelines[b.linedefined] and not b.activelines[b.lastlinedefined + 0x1])
4444end
4545do
4646local func = load(string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{30}\u{29}"),true))
4747local actl = debug.getinfo(func,"\u{4c}").activelines
48−assert((# (actl == 0x0)))
48+assert(# actl == 0x0)
4949end
5050local a = "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}"
5151local function dostring
@@ -53,25 +53,25 @@ local function dostring
5353return load(s,x)()
5454end
5555dostring(a)
56−assert((debug.getinfo(f).short_src == string.format("\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{25}\u{73}\u{22}\u{5d}",a)))
57−dostring((a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{a}\u{3d}\u{31}",string.rep("\u{70}",0x190))))
56+assert(debug.getinfo(f).short_src == string.format("\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{25}\u{73}\u{22}\u{5d}",a))
57+dostring(a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{a}\u{3d}\u{31}",string.rep("\u{70}",0x190)))
5858assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{5b}\u{5e}\u{a}\u{5d}\u{2a}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{22}\u{25}\u{5d}\u{24}"))
59−dostring((a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{3d}\u{31}",string.rep("\u{70}",0x190))))
59+dostring(a .. string.format("\u{3b}\u{20}\u{25}\u{73}\u{3d}\u{31}",string.rep("\u{70}",0x190)))
6060assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{5b}\u{5e}\u{a}\u{5d}\u{2a}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{22}\u{25}\u{5d}\u{24}"))
61−dostring(("\u{a}" .. a))
62−assert((debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{2e}\u{2e}\u{2e}\u{22}\u{5d}"))
61+dostring("\u{a}" .. a)
62+assert(debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{2e}\u{2e}\u{2e}\u{22}\u{5d}")
6363dostring(a,"")
64−assert((debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{22}\u{5d}"))
64+assert(debug.getinfo(f).short_src == "\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{22}\u{5d}")
6565dostring(a,"\u{40}\u{78}\u{75}\u{78}\u{75}")
66−assert((debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}"))
67−dostring(a,("\u{40}" .. (string.rep("\u{70}",0x3e8) .. "\u{74}")))
66+assert(debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}")
67+dostring(a,"\u{40}" .. string.rep("\u{70}",0x3e8) .. "\u{74}")
6868assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{70}\u{2a}\u{74}\u{24}"))
6969dostring(a,"\u{3d}\u{78}\u{75}\u{78}\u{75}")
70−assert((debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}"))
70+assert(debug.getinfo(f).short_src == "\u{78}\u{75}\u{78}\u{75}")
7171dostring(a,string.format("\u{3d}\u{25}\u{73}",string.rep("\u{78}",0x1f4)))
7272assert(string.find(debug.getinfo(f).short_src,"\u{5e}\u{78}\u{2a}\u{24}"))
7373dostring(a,"\u{3d}")
74−assert((debug.getinfo(f).short_src == ""))
74+assert(debug.getinfo(f).short_src == "")
7575_G.a=nil
7676;
7777_G.f=nil
@@ -80,29 +80,29 @@ _G[string.rep("\u{70}",0x190)]=nil
8080repeat
8181local g = {["\u{78}"] = function ()
8282local a = debug.getinfo(0x2)
83−assert(((a.name == "\u{66}") and (a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")))
83+assert(a.name == "\u{66}" and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
8484a=debug.getinfo(0x1)
85−assert(((a.name == "\u{78}") and (a.namewhat == "\u{66}\u{69}\u{65}\u{6c}\u{64}")))
85+assert(a.name == "\u{78}" and a.namewhat == "\u{66}\u{69}\u{65}\u{6c}\u{64}")
8686return "\u{78}\u{69}\u{78}\u{69}"
8787end}
8888local f = function ()
89−return ((0x1 + 0x1) and (not (0x1 or g.x())))
89+return 0x1 + 0x1 and (not 0x1 or g.x())
9090end
91−assert((f() == "\u{78}\u{69}\u{78}\u{69}"))
91+assert(f() == "\u{78}\u{69}\u{78}\u{69}")
9292g=debug.getinfo(f)
93−assert(((((g.what == "\u{4c}\u{75}\u{61}") and (g.func == f)) and (g.namewhat == "")) and (not g.name)))
93+assert(g.what == "\u{4c}\u{75}\u{61}" and g.func == f and g.namewhat == "" and not g.name)
9494function f(x,name)
95−name=(name or "\u{66}")
95+name=name or "\u{66}"
9696local a = debug.getinfo(0x1)
97−assert(((a.name == name) and (a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")))
97+assert(a.name == name and a.namewhat == "\u{6c}\u{6f}\u{63}\u{61}\u{6c}")
9898return x
9999end
100−if (0x3 > 0x4) then
100+if 0x3 > 0x4 then
101101break
102102end
103103;
104104f()
105−if (0x3 < 0x4) then
105+if 0x3 < 0x4 then
106106a=0x1
107107else
108108break
@@ -117,21 +117,21 @@ end
117117;
118118f()
119119local b = 0x1
120−if (0x3 > 0x4) then
120+if 0x3 > 0x4 then
121121return math.sin(0x1)
122122end
123123;
124124f()
125−a=(0x3 < 0x4)
125+a=0x3 < 0x4
126126;
127127f()
128−a=((0x3 < 0x4) or 0x1)
128+a=0x3 < 0x4 or 0x1
129129;
130130f()
131131repeat
132132local x = 0x14
133133;
134−if (0x4 > 0x3) then
134+if 0x4 > 0x3 then
135135f()
136136else
137137break
@@ -140,15 +140,15 @@ end
140140f()
141141until 0x1
142142g={}
143−f(g).x=(f(0x2) and (f(0xa) + f(0x9)))
144−assert((g.x == f(0x13)))
143+f(g).x=f(0x2) and f(0xa) + f(0x9)
144+assert(g.x == f(0x13))
145145function g(x)
146−if (not x) then
146+if not x then
147147return 0x3
148148end
149−return x("\u{61}","\u{78}")
149+return (x("\u{61}","\u{78}"))
150150end
151−assert((g(f) == "\u{61}"))
151+assert(g(f) == "\u{61}")
152152until 0x1
153153test("\u{69}\u{66}\u{a}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{a}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{31}\u{a}\u{65}\u{6c}\u{73}\u{65}\u{a}\u{20}\u{20}\u{61}\u{3d}\u{32}\u{a}\u{65}\u{6e}\u{64}\u{a}",{0x2,0x3,0x4,0x7})
154154test("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{66}\u{6f}\u{6f}\u{28}\u{29}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{41}\u{20}\u{3d}\u{20}\u{33}\u{a}",{0x2,0x3,0x2,0x4,0x5,0x6})
@@ -172,7 +172,7 @@ for _,j in ipairs(a)
172172do
173173subs.Y=string.rep("\u{a}",j)
174174local s = string.gsub(s,"\u{5b}\u{58}\u{59}\u{5d}",subs)
175−test(s,{0x1,(0x2 + i),((0x2 + i) + j),(0x2 + i),((0x2 + i) + j),((0x3 + i) + j)})
175+test(s,{0x1,0x2 + i,0x2 + i + j,0x2 + i,0x2 + i + j,0x3 + i + j})
176176end
177177end
178178end
@@ -183,11 +183,11 @@ local function checkactivelines
183183local t = debug.getinfo(f,"\u{53}\u{4c}")
184184for _,l in pairs(lines)
185185do
186−l=(l + t.linedefined)
186+l=l + t.linedefined
187187assert(t.activelines[l])
188188t.activelines[l]=undef
189189end
190−assert((next(t.activelines) == nil))
190+assert(next(t.activelines) == nil)
191191end
192192checkactivelines(function (...)
193193local a = 0x14
@@ -205,75 +205,75 @@ checkactivelines(function (a,b)
205205end,{0x1})
206206for _,n in pairs({0x0,0x1,0x2,0xa,0x32,0x64,0x3e8,0x2710})
207207do
208−checkactivelines(load(string.format("\u{25}\u{73}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",string.rep("\u{a}",n))),{(n + 0x1)})
208+checkactivelines(load(string.format("\u{25}\u{73}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",string.rep("\u{a}",n))),{n + 0x1})
209209end
210210end
211211print("\u{2b}")
212−assert((not pcall(debug.getlocal,0x14,0x1)))
213−assert((not pcall(debug.setlocal,(- 0x1),0x1,0xa)))
212+assert(not pcall(debug.getlocal,0x14,0x1))
213+assert(not pcall(debug.setlocal,- 0x1,0x1,0xa))
214214local function foo
215215(a,b, ...)
216216local d,e
217217end
218218local co = coroutine.create(foo)
219−assert((debug.getlocal(foo,0x1) == "\u{61}"))
220−assert((debug.getlocal(foo,0x2) == "\u{62}"))
221−assert((not debug.getlocal(foo,0x3)))
222−assert((debug.getlocal(co,foo,0x1) == "\u{61}"))
223−assert((debug.getlocal(co,foo,0x2) == "\u{62}"))
224−assert((not debug.getlocal(co,foo,0x3)))
225−assert((not debug.getlocal(print,0x1)))
219+assert(debug.getlocal(foo,0x1) == "\u{61}")
220+assert(debug.getlocal(foo,0x2) == "\u{62}")
221+assert(not debug.getlocal(foo,0x3))
222+assert(debug.getlocal(co,foo,0x1) == "\u{61}")
223+assert(debug.getlocal(co,foo,0x2) == "\u{62}")
224+assert(not debug.getlocal(co,foo,0x3))
225+assert(not debug.getlocal(print,0x1))
226226local function foo
227227()
228−return debug.getlocal(0x1,(- 0x1))
228+return (debug.getlocal(0x1,- 0x1))
229229end
230−assert((not foo(0xa)))
230+assert(not foo(0xa))
231231local function foo
232232(a, ...)
233233local t = table.pack(...)
234234for i = 0x1, t.n
235235do
236−local n,v = debug.getlocal(0x1,(- i))
237−assert(((n == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}") and (v == t[i])))
236+local n,v = debug.getlocal(0x1,- i)
237+assert(n == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}" and v == t[i])
238238end
239−assert((not debug.getlocal(0x1,(- (t.n + 0x1)))))
240−assert((not debug.setlocal(0x1,(- (t.n + 0x1)),0x1e)))
241−if (t.n > 0x0) then
239+assert(not debug.getlocal(0x1,- (t.n + 0x1)))
240+assert(not debug.setlocal(0x1,- (t.n + 0x1),0x1e))
241+if t.n > 0x0 then
242242(function (x)
243−assert((debug.setlocal(0x2,(- 0x1),x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}"))
244−assert((debug.setlocal(0x2,(- t.n),x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}"))
243+assert(debug.setlocal(0x2,- 0x1,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
244+assert(debug.setlocal(0x2,- t.n,x) == "\u{28}\u{76}\u{61}\u{72}\u{61}\u{72}\u{67}\u{29}")
245245end)(0x1ae)
246−assert((... == 0x1ae))
246+assert(... == 0x1ae)
247247end
248248end
249249foo()
250250foo(print)
251251foo(0xc8,0x3,0x4)
252252local a = {}
253−for i = 0x1, ((_soft and 0x64) or 0x3e8)
253+for i = 0x1, (_soft and 0x64 or 0x3e8)
254254do
255255a[i]=i
256256end
257257foo(table.unpack(a))
258258do
259−assert((not debug.gethook()))
259+assert(not debug.gethook())
260260local count = 0x0
261261local function f
262262()
263−assert((debug.getinfo(0x1).namewhat == "\u{68}\u{6f}\u{6f}\u{6b}"))
263+assert(debug.getinfo(0x1).namewhat == "\u{68}\u{6f}\u{6f}\u{6b}")
264264local sndline = string.match(debug.traceback(),"\u{a}\u{28}\u{2e}\u{2d}\u{29}\u{a}")
265265assert(string.find(sndline,"\u{68}\u{6f}\u{6f}\u{6b}"))
266−count=(count + 0x1)
266+count=count + 0x1
267267end
268268debug.sethook(f,"\u{6c}")
269269local a = 0x0
270270_ENV.a=a
271271a=0x1
272272debug.sethook()
273−assert((count == 0x4))
273+assert(count == 0x4)
274274end
275275_ENV.a=nil
276−assert((getmetatable(debug.getregistry()._HOOKKEY).__mode == "\u{6b}"))
276+assert(getmetatable(debug.getregistry()._HOOKKEY).__mode == "\u{6b}")
277277a={}
278278;
279279local L = nil
@@ -282,40 +282,40 @@ local oldglob = glob
282282debug.sethook(function (e,l)
283283collectgarbage()
284284local f,m,c = debug.gethook()
285−assert(((m == "\u{63}\u{72}\u{6c}") and (c == 0x0)))
286−if (e == "\u{6c}\u{69}\u{6e}\u{65}") then
287−if (glob ~= oldglob) then
288−L=(l - 0x1)
285+assert(m == "\u{63}\u{72}\u{6c}" and c == 0x0)
286+if e == "\u{6c}\u{69}\u{6e}\u{65}" then
287+if glob ~= oldglob then
288+L=l - 0x1
289289oldglob=glob
290290end
291−elseif (e == "\u{63}\u{61}\u{6c}\u{6c}") then
291+elseif e == "\u{63}\u{61}\u{6c}\u{6c}" then
292292local f = debug.getinfo(0x2,"\u{66}").func
293293a[f]=0x1
294294else
295−assert((e == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
295+assert(e == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")
296296end
297297end,"\u{63}\u{72}\u{6c}")
298298function f(a,b)
299299collectgarbage()
300300local _,x = debug.getlocal(0x1,0x1)
301301local _,y = debug.getlocal(0x1,0x2)
302−assert(((x == a) and (y == b)))
303−assert((debug.setlocal(0x2,0x3,"\u{70}\u{65}\u{72}\u{61}") == ("\u{41}\u{41}" .. "\u{41}\u{41}")))
304−assert((debug.setlocal(0x2,0x4,"\u{6d}\u{61}\u{6e}\u{67}\u{61}") == "\u{42}"))
302+assert(x == a and y == b)
303+assert(debug.setlocal(0x2,0x3,"\u{70}\u{65}\u{72}\u{61}") == "\u{41}\u{41}" .. "\u{41}\u{41}")
304+assert(debug.setlocal(0x2,0x4,"\u{6d}\u{61}\u{6e}\u{67}\u{61}") == "\u{42}")
305305x=debug.getinfo(0x2)
306−assert((((((x.func == g) and (x.what == "\u{4c}\u{75}\u{61}")) and (x.name == "\u{67}")) and (x.nups == 0x2)) and string.find(x.source,"\u{5e}\u{40}\u{2e}\u{2a}\u{64}\u{62}\u{25}\u{2e}\u{6c}\u{75}\u{61}\u{24}")))
307−glob=(glob + 0x1)
308−assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x1)))
309−assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x2)))
306+assert(x.func == g and x.what == "\u{4c}\u{75}\u{61}" and x.name == "\u{67}" and x.nups == 0x2 and string.find(x.source,"\u{5e}\u{40}\u{2e}\u{2a}\u{64}\u{62}\u{25}\u{2e}\u{6c}\u{75}\u{61}\u{24}"))
307+glob=glob + 0x1
308+assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x1)
309+assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x2)
310310end
311311function foo()
312−glob=(glob + 0x1)
313−assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0x1)))
312+glob=glob + 0x1
313+assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0x1)
314314end
315315;
316316foo()
317−local _ = ("\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}" .. "\u{a}")
318−assert((debug.getinfo(0x1,"\u{6c}").currentline == (L + 0xb)))
317+local _ = "\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}" .. "\u{a}"
318+assert(debug.getinfo(0x1,"\u{6c}").currentline == L + 0xb)
319319function g(...)
320320local arg = {...}
321321do
@@ -327,39 +327,39 @@ end
327327local feijao
328328local AAAA,B = "\u{78}\u{75}\u{78}\u{75}","\u{61}\u{62}\u{61}\u{63}\u{61}\u{74}\u{65}"
329329f(AAAA,B)
330−assert(((AAAA == "\u{70}\u{65}\u{72}\u{61}") and (B == "\u{6d}\u{61}\u{6e}\u{67}\u{61}")))
330+assert(AAAA == "\u{70}\u{65}\u{72}\u{61}" and B == "\u{6d}\u{61}\u{6e}\u{67}\u{61}")
331331do
332332local B = 0xd
333333local x,y = debug.getlocal(0x1,0x5)
334−assert(((x == "\u{42}") and (y == 0xd)))
334+assert(x == "\u{42}" and y == 0xd)
335335end
336336end
337337g()
338−assert(((((a[f] and a[g]) and a[assert]) and a[debug.getlocal]) and (not a[print])))
338+assert(a[f] and a[g] and a[assert] and a[debug.getlocal] and not a[print])
339339local n,v = debug.getlocal(0x0,0x1)
340−assert(((v == 0x0) and (n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")))
340+assert(v == 0x0 and n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
341341local n,v = debug.getlocal(0x0,0x2)
342−assert(((v == 0x2) and (n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")))
343−assert((not debug.getlocal(0x0,0x3)))
344−assert((not debug.getlocal(0x0,0x0)))
342+assert(v == 0x2 and n == "\u{28}\u{43}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
343+assert(not debug.getlocal(0x0,0x3))
344+assert(not debug.getlocal(0x0,0x0))
345345function f()
346−assert((select(0x2,debug.getlocal(0x2,0x3)) == 0x1))
347−assert((not debug.getlocal(0x2,0x4)))
346+assert(select(0x2,debug.getlocal(0x2,0x3)) == 0x1)
347+assert(not debug.getlocal(0x2,0x4))
348348debug.setlocal(0x2,0x3,0xa)
349349return 0x14
350350end
351351function g(a,b)
352−return ((a + 0x1) + f())
352+return (a + 0x1) + f()
353353end
354−assert((g(0x0,0x0) == 0x1e))
354+assert(g(0x0,0x0) == 0x1e)
355355_G.f,_G.g=nil
356356debug.sethook(nil)
357357;
358−assert((not debug.gethook()))
358+assert(not debug.gethook())
359359do
360−assert((not debug.setuservalue(io.stdin,0xa)))
360+assert(not debug.setuservalue(io.stdin,0xa))
361361local a,b = debug.getuservalue(io.stdin,0xa)
362−assert(((a == nil) and (not b)))
362+assert(a == nil and not b)
363363end
364364do
365365local function f
@@ -373,22 +373,22 @@ do
373373a[i]=i
374374end
375375debug.sethook(function ()
376−count=(count + 0x1)
376+count=count + 0x1
377377end,"",0x1)
378378local t = {table.unpack(a)}
379−assert((# (t == 0x64)))
379+assert(# t == 0x64)
380380t={table.unpack(a,0x1,0x3)}
381−assert((# (t == 0x3)))
381+assert(# t == 0x3)
382382t={f(table.unpack(a,0x1,0x1e))}
383−assert((# (t == 0x1f)))
383+assert(# t == 0x1f)
384384end
385385local function collectlocals
386386(level)
387387local tab = {}
388388for i = 0x1, math.huge
389389do
390−local n,v = debug.getlocal((level + 0x1),i)
391−if (not (n and string.find(n,"\u{5e}\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{30}\u{2d}\u{39}\u{5f}\u{5d}\u{2b}\u{24}"))) then
390+local n,v = debug.getlocal(level + 0x1,i)
391+if not (n and string.find(n,"\u{5e}\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{30}\u{2d}\u{39}\u{5f}\u{5d}\u{2b}\u{24}")) then
392392break
393393end
394394tab[n]=v
@@ -403,23 +403,23 @@ local arg = {...}
403403local c = 0xd
404404end
405405debug.sethook(function (e)
406−assert((e == "\u{63}\u{61}\u{6c}\u{6c}"))
406+assert(e == "\u{63}\u{61}\u{6c}\u{6c}")
407407dostring("\u{58}\u{58}\u{20}\u{3d}\u{20}\u{31}\u{32}")
408−assert((not pcall(load("\u{61}\u{3d}\u{27}\u{6a}\u{6f}\u{61}\u{6f}\u{27}\u{2b}\u{31}"))))
408+assert(not pcall(load("\u{61}\u{3d}\u{27}\u{6a}\u{6f}\u{61}\u{6f}\u{27}\u{2b}\u{31}")))
409409debug.sethook(function (e,l)
410−assert((debug.getinfo(0x2,"\u{6c}").currentline == l))
410+assert(debug.getinfo(0x2,"\u{6c}").currentline == l)
411411local f,m,c = debug.gethook()
412−assert((e == "\u{6c}\u{69}\u{6e}\u{65}"))
413−assert(((m == "\u{6c}") and (c == 0x0)))
412+assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
413+assert(m == "\u{6c}" and c == 0x0)
414414debug.sethook(nil)
415−assert((not X))
415+assert(not X)
416416X=collectlocals(0x2)
417417end,"\u{6c}")
418418end,"\u{63}")
419419a:f(0x1,0x2,0x3,0x4,0x5)
420−assert(((((X.self == a) and (X.a == 0x1)) and (X.b == 0x2)) and (X.c == nil)))
421−assert((XX == 0xc))
422−assert((not debug.gethook()))
420+assert(X.self == a and X.a == 0x1 and X.b == 0x2 and X.c == nil)
421+assert(XX == 0xc)
422+assert(not debug.gethook())
423423_G.XX=nil
424424do
425425local X = false
@@ -433,15 +433,15 @@ return
433433end
434434local function aux
435435()
436−if (debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}") then
436+if debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}" then
437437X=true
438438local tab = {["\u{61}"] = 0x64,["\u{62}"] = 0xc8,["\u{63}"] = 0xa,["\u{64}"] = 0x14}
439439for n,v in pairs(collectlocals(0x2))
440440do
441−assert((tab[n] == v))
441+assert(tab[n] == v)
442442tab[n]=undef
443443end
444−assert((next(tab) == nil))
444+assert(next(tab) == nil)
445445end
446446end
447447debug.sethook(aux,"\u{72}")
@@ -453,10 +453,10 @@ assert(X)
453453end
454454local function eqseq
455455(t1,t2)
456−assert((# (t1 == (# t2))))
457−for i = 0x1, (# t1)
456+assert(# t1 == # t2)
457+for i = 0x1, # t1
458458do
459−assert((t1[i] == t2[i]))
459+assert(t1[i] == t2[i])
460460end
461461end
462462do
@@ -465,17 +465,17 @@ local on = false
465465local inp,out
466466local function hook
467467(event)
468−if (not on) then
468+if not on then
469469return
470470end
471471local ar = debug.getinfo(0x2,"\u{72}\u{75}\u{53}")
472472local t = {}
473−for i = ar.ftransfer, ((ar.ftransfer + ar.ntransfer) - 0x1)
473+for i = ar.ftransfer, ar.ftransfer + ar.ntransfer - 0x1
474474do
475475local _,v = debug.getlocal(0x2,i)
476−t[(# (t + 0x1))]=v
476+t[# t + 0x1]=v
477477end
478−if (event == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}") then
478+if event == "\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}" then
479479out=t
480480else
481481inp=t
@@ -504,7 +504,7 @@ return ...
504504end
505505local function foo1
506506()
507−on=(not on)
507+on=not on
508508;
509509return foo(0x14,0xa,0x0)
510510end
@@ -522,12 +522,12 @@ local t = {}
522522local i = 0x1
523523while true do
524524local name,value = debug.getupvalue(f,i)
525−if (not name) then
525+if not name then
526526break
527527end
528−assert((not t[name]))
528+assert(not t[name])
529529t[name]=value
530−i=(i + 0x1)
530+i=i + 0x1
531531end
532532return t
533533end
@@ -542,21 +542,21 @@ local function foo2
542542(x)
543543a=x
544544;
545−return (c + b)
545+return c + b
546546end
547−assert((not debug.getupvalue(foo1,0x3)))
548−assert((not debug.getupvalue(foo1,0x0)))
549−assert((not debug.setupvalue(foo1,0x3,"\u{78}\u{75}\u{78}\u{75}")))
547+assert(not debug.getupvalue(foo1,0x3))
548+assert(not debug.getupvalue(foo1,0x0))
549+assert(not debug.setupvalue(foo1,0x3,"\u{78}\u{75}\u{78}\u{75}"))
550550local t = getupvalues(foo1)
551−assert((((t.a == nil) and (t.b == 0x2)) and (t.c == 0x3)))
551+assert(t.a == nil and t.b == 0x2 and t.c == 0x3)
552552t=getupvalues(foo2)
553−assert((((t.a == 0x1) and (t.b == 0x2)) and (t.c == 0x3)))
554−assert((debug.setupvalue(foo1,0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{62}"))
555−assert((({debug.getupvalue(foo2,0x3)})[0x2] == "\u{78}\u{75}\u{78}\u{75}"))
556−assert((debug.getupvalue(string.gmatch("\u{78}","\u{78}"),0x1) == ""))
553+assert(t.a == 0x1 and t.b == 0x2 and t.c == 0x3)
554+assert(debug.setupvalue(foo1,0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{62}")
555+assert(({debug.getupvalue(foo2,0x3)})[0x2] == "\u{78}\u{75}\u{78}\u{75}")
556+assert(debug.getupvalue(string.gmatch("\u{78}","\u{78}"),0x1) == "")
557557local a = 0x0
558558debug.sethook(function (e)
559−a=(a + 0x1)
559+a=a + 0x1
560560end,"",0x1)
561561a=0x0
562562;
@@ -565,9 +565,9 @@ do
565565
566566end
567567;
568−assert(((0x3e8 < a) and (a < 0x3f4)))
568+assert(0x3e8 < a and a < 0x3f4)
569569debug.sethook(function (e)
570−a=(a + 0x1)
570+a=a + 0x1
571571end,"",0x4)
572572a=0x0
573573;
@@ -576,11 +576,11 @@ do
576576
577577end
578578;
579−assert(((0xfa < a) and (a < 0xff)))
579+assert(0xfa < a and a < 0xff)
580580local f,m,c = debug.gethook()
581−assert(((m == "") and (c == 0x4)))
581+assert(m == "" and c == 0x4)
582582debug.sethook(function (e)
583−a=(a + 0x1)
583+a=a + 0x1
584584end,"",0xfa0)
585585a=0x0
586586;
@@ -589,22 +589,22 @@ do
589589
590590end
591591;
592−assert((a == 0x0))
592+assert(a == 0x0)
593593do
594−debug.sethook(print,"",((0x2 ^ 0x18) - 0x1))
594+debug.sethook(print,"",0x2 ^ 0x18 - 0x1)
595595local f,m,c = debug.gethook()
596−assert((({debug.gethook()})[0x3] == ((0x2 ^ 0x18) - 0x1)))
596+assert(({debug.gethook()})[0x3] == 0x2 ^ 0x18 - 0x1)
597597end
598598debug.sethook()
599599local g,g1
600600local function f
601601(x)
602602if x then
603−assert((debug.getinfo(0x1,"\u{53}").what == "\u{4c}\u{75}\u{61}"))
604−assert((debug.getinfo(0x1,"\u{74}").istailcall == true))
603+assert(debug.getinfo(0x1,"\u{53}").what == "\u{4c}\u{75}\u{61}")
604+assert(debug.getinfo(0x1,"\u{74}").istailcall == true)
605605local tail = debug.getinfo(0x2)
606−assert(((tail.func == g1) and (tail.istailcall == true)))
607−assert((debug.getinfo(0x3,"\u{53}").what == "\u{6d}\u{61}\u{69}\u{6e}"))
606+assert(tail.func == g1 and tail.istailcall == true)
607+assert(debug.getinfo(0x3,"\u{53}").what == "\u{6d}\u{61}\u{69}\u{6e}")
608608print("\u{2b}")
609609end
610610end
@@ -628,31 +628,31 @@ end,"\u{63}\u{72}")
628628h(false)
629629debug.sethook()
630630local res = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{63}\u{61}\u{6c}\u{6c}","\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}","\u{63}\u{61}\u{6c}\u{6c}","\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}","\u{63}\u{61}\u{6c}\u{6c}"}
631−for i = 0x1, (# res)
631+for i = 0x1, # res
632632do
633−assert((res[i] == table.remove(b,0x1)))
633+assert(res[i] == table.remove(b,0x1))
634634end
635635b=0x0
636636debug.sethook(function (e)
637−if (e == "\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}") then
638−b=(b + 0x1)
639−assert((debug.getinfo(0x2,"\u{74}").istailcall == true))
637+if e == "\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}" then
638+b=b + 0x1
639+assert(debug.getinfo(0x2,"\u{74}").istailcall == true)
640640else
641−assert((debug.getinfo(0x2,"\u{74}").istailcall == false))
641+assert(debug.getinfo(0x2,"\u{74}").istailcall == false)
642642end
643643end,"\u{63}")
644644h(false)
645645debug.sethook()
646−assert((b == 0x2))
647−local lim = ((_soft and 0xbb8) or 0x7530)
646+assert(b == 0x2)
647+local lim = _soft and 0xbb8 or 0x7530
648648local function foo
649649(x)
650−if (x == 0x0) then
651−assert((debug.getinfo(0x2).what == "\u{6d}\u{61}\u{69}\u{6e}"))
650+if x == 0x0 then
651+assert(debug.getinfo(0x2).what == "\u{6d}\u{61}\u{69}\u{6e}")
652652local info = debug.getinfo(0x1)
653−assert(((info.istailcall == true) and (info.func == foo)))
653+assert(info.istailcall == true and info.func == foo)
654654else
655−return foo((x - 0x1))
655+return foo(x - 0x1)
656656end
657657end
658658foo(lim)
@@ -660,63 +660,63 @@ print("\u{2b}")
660660co=load("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{41}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{a}")
661661local a = 0x0
662662debug.sethook(function (e,l)
663−if (l == 0x3) then
664−a=(a + 0x1)
663+if l == 0x3 then
664+a=a + 0x1
665665;
666−assert((debug.getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
667−elseif (l == 0x4) then
668−a=(a + 0x1)
666+assert(debug.getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
667+elseif l == 0x4 then
668+a=a + 0x1
669669;
670−assert((debug.getlocal(0x2,0x1) == "\u{41}"))
670+assert(debug.getlocal(0x2,0x1) == "\u{41}")
671671end
672672end,"\u{6c}")
673673co()
674674debug.sethook()
675−assert((a == 0x2))
676−assert((debug.traceback(print) == print))
677−assert((debug.traceback(print,0x4) == print))
675+assert(a == 0x2)
676+assert(debug.traceback(print) == print)
677+assert(debug.traceback(print,0x4) == print)
678678assert(string.find(debug.traceback("\u{68}\u{69}",0x4),"\u{5e}\u{68}\u{69}\u{a}"))
679679assert(string.find(debug.traceback("\u{68}\u{69}"),"\u{5e}\u{68}\u{69}\u{a}"))
680−assert((not string.find(debug.traceback("\u{68}\u{69}"),"\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{27}")))
680+assert(not string.find(debug.traceback("\u{68}\u{69}"),"\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{27}"))
681681assert(string.find(debug.traceback("\u{68}\u{69}",0x0),"\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{27}"))
682682assert(string.find(debug.traceback(),"\u{5e}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{3a}\u{a}"))
683683do
684684local st,msg = (function ()
685685return pcall
686686end)()(debug.traceback)
687−assert(((st == true) and string.find(msg,"\u{70}\u{63}\u{61}\u{6c}\u{6c}")))
687+assert(st == true and string.find(msg,"\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
688688end
689689local t = debug.getinfo(print,"\u{75}")
690−assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x0)))
690+assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x0)
691691t=debug.getinfo(function (a,b,c)
692692
693693end,"\u{75}")
694−assert((((t.isvararg == false) and (t.nparams == 0x3)) and (t.nups == 0x0)))
694+assert(t.isvararg == false and t.nparams == 0x3 and t.nups == 0x0)
695695t=debug.getinfo(function (a,b, ...)
696696return t[a]
697697end,"\u{75}")
698−assert((((t.isvararg == true) and (t.nparams == 0x2)) and (t.nups == 0x1)))
698+assert(t.isvararg == true and t.nparams == 0x2 and t.nups == 0x1)
699699t=debug.getinfo(0x1)
700−assert(((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x1)) and (debug.getupvalue(t.func,0x1) == "\u{5f}\u{45}\u{4e}\u{56}")))
700+assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x1 and debug.getupvalue(t.func,0x1) == "\u{5f}\u{45}\u{4e}\u{56}")
701701t=debug.getinfo(math.sin)
702−assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups == 0x0)))
702+assert(t.isvararg == true and t.nparams == 0x0 and t.nups == 0x0)
703703t=debug.getinfo(string.gmatch("\u{61}\u{62}\u{63}","\u{61}"))
704−assert((((t.isvararg == true) and (t.nparams == 0x0)) and (t.nups > 0x0)))
704+assert(t.isvararg == true and t.nparams == 0x0 and t.nups > 0x0)
705705local function checktraceback
706706(co,p,level)
707707local tb = debug.traceback(co,nil,level)
708708local i = 0x0
709709for l in string.gmatch(tb,"\u{5b}\u{5e}\u{a}\u{5d}\u{2b}\u{a}\u{3f}")
710710do
711−assert(((i == 0x0) or string.find(l,p[i])))
712−i=(i + 0x1)
711+assert(i == 0x0 or string.find(l,p[i]))
712+i=i + 0x1
713713end
714−assert((p[i] == undef))
714+assert(p[i] == undef)
715715end
716716local function f
717717(n)
718−if (n > 0x0) then
719−f((n - 0x1))
718+if n > 0x0 then
719+f(n - 0x1)
720720else
721721coroutine.yield()
722722end
@@ -743,52 +743,52 @@ end
743743debug.sethook(co,foo,"\u{6c}\u{63}\u{72}")
744744local _,l = coroutine.resume(co,0xa)
745745local x = debug.getinfo(co,0x1,"\u{6c}\u{66}\u{4c}\u{53}")
746−assert(((x.currentline == l.currentline) and x.activelines[x.currentline]))
747−assert((type(x.func) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
748−for i = (x.linedefined + 0x1), x.lastlinedefined
746+assert(x.currentline == l.currentline and x.activelines[x.currentline])
747+assert(type(x.func) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
748+for i = x.linedefined + 0x1, x.lastlinedefined
749749do
750750assert(x.activelines[i])
751751x.activelines[i]=undef
752752end
753−assert((next(x.activelines) == nil))
754−assert((not debug.getinfo(co,0x2)))
753+assert(next(x.activelines) == nil)
754+assert(not debug.getinfo(co,0x2))
755755local a,b = debug.getlocal(co,0x1,0x1)
756−assert(((a == "\u{78}") and (b == 0xa)))
756+assert(a == "\u{78}" and b == 0xa)
757757a,b=debug.getlocal(co,0x1,0x2)
758−assert(((a == "\u{61}") and (b == 0x1)))
758+assert(a == "\u{61}" and b == 0x1)
759759debug.setlocal(co,0x1,0x2,"\u{68}\u{69}")
760−assert((debug.gethook(co) == foo))
761−assert((# (((tr == 0x2) and (tr[0x1] == (l.currentline - 0x1))) and (tr[0x2] == l.currentline))))
760+assert(debug.gethook(co) == foo)
761+assert(# tr == 0x2 and tr[0x1] == l.currentline - 0x1 and tr[0x2] == l.currentline)
762762a,b,c=pcall(coroutine.resume,co)
763−assert(((a and b) and (c == (l.currentline + 0x1))))
763+assert(a and b and c == l.currentline + 0x1)
764764checktraceback(co,{"\u{79}\u{69}\u{65}\u{6c}\u{64}","\u{69}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{3c}"})
765765a,b=coroutine.resume(co)
766−assert((a and (b == "\u{68}\u{69}")))
767−assert((# ((tr == 0x4) and (tr[0x4] == (l.currentline + 0x2)))))
768−assert((debug.gethook(co) == foo))
769−assert((not debug.gethook()))
766+assert(a and b == "\u{68}\u{69}")
767+assert(# tr == 0x4 and tr[0x4] == l.currentline + 0x2)
768+assert(debug.gethook(co) == foo)
769+assert(not debug.gethook())
770770checktraceback(co,{})
771771co=coroutine.create(function (x)
772772local a,b = coroutine.yield(x)
773−assert(((a == 0x64) and (b == nil)))
773+assert(a == 0x64 and b == nil)
774774return x
775775end)
776776a,b=coroutine.resume(co,0xa)
777−assert((a and (b == 0xa)))
777+assert(a and b == 0xa)
778778a,b=debug.getlocal(co,0x1,0x1)
779−assert(((a == "\u{78}") and (b == 0xa)))
780−assert((not debug.getlocal(co,0x1,0x5)))
781−assert((debug.setlocal(co,0x1,0x1,0x1e) == "\u{78}"))
782−assert((not debug.setlocal(co,0x1,0x5,0x28)))
779+assert(a == "\u{78}" and b == 0xa)
780+assert(not debug.getlocal(co,0x1,0x5))
781+assert(debug.setlocal(co,0x1,0x1,0x1e) == "\u{78}")
782+assert(not debug.setlocal(co,0x1,0x5,0x28))
783783a,b=coroutine.resume(co,0x64)
784−assert((a and (b == 0x1e)))
784+assert(a and b == 0x1e)
785785function f(i)
786−if (i == 0x0) then
786+if i == 0x0 then
787787error(i)
788788else
789789coroutine.yield()
790790;
791−f((i - 0x1))
791+f(i - 0x1)
792792end
793793end
794794co=coroutine.create(function (x)
@@ -796,7 +796,7 @@ f(x)
796796end)
797797a,b=coroutine.resume(co,0x3)
798798t={"\u{27}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{27}","\u{27}\u{66}\u{27}","\u{69}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{3c}"}
799−while (coroutine.status(co) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}") do
799+while coroutine.status(co) == "\u{73}\u{75}\u{73}\u{70}\u{65}\u{6e}\u{64}\u{65}\u{64}" do
800800checktraceback(co,t)
801801a,b=coroutine.resume(co)
802802table.insert(t,0x2,"\u{27}\u{66}\u{27}")
@@ -814,40 +814,40 @@ debug.sethook(function ()
814814end,"\u{6c}")
815815for j = 0x1, 0x3e8
816816do
817−g((i + j))
817+g(i + j)
818818end
819819end
820820local co = coroutine.wrap(f)
821821co(0xa)
822822pcall(co)
823823pcall(co)
824−assert((type(debug.getregistry()) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
824+assert(type(debug.getregistry()) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
825825local a = {}
826826local function f
827827(t)
828828local info = debug.getinfo(0x1)
829829;
830−assert((info.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}"))
830+assert(info.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
831831a.op=info.name
832832return info.name
833833end
834834setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = f,["\u{5f}\u{5f}\u{61}\u{64}\u{64}"] = f,["\u{5f}\u{5f}\u{64}\u{69}\u{76}"] = f,["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}"] = f,["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = f,["\u{5f}\u{5f}\u{70}\u{6f}\u{77}"] = f,["\u{5f}\u{5f}\u{6d}\u{75}\u{6c}"] = f,["\u{5f}\u{5f}\u{69}\u{64}\u{69}\u{76}"] = f,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = f,["\u{5f}\u{5f}\u{73}\u{75}\u{62}"] = f,["\u{5f}\u{5f}\u{73}\u{68}\u{6c}"] = f,["\u{5f}\u{5f}\u{73}\u{68}\u{72}"] = f,["\u{5f}\u{5f}\u{62}\u{6f}\u{72}"] = f,["\u{5f}\u{5f}\u{62}\u{78}\u{6f}\u{72}"] = f,["\u{5f}\u{5f}\u{65}\u{71}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}"] = f,["\u{5f}\u{5f}\u{6c}\u{74}"] = f,["\u{5f}\u{5f}\u{75}\u{6e}\u{6d}"] = f,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = f,["\u{5f}\u{5f}\u{62}\u{61}\u{6e}\u{64}"] = f,["\u{5f}\u{5f}\u{62}\u{6e}\u{6f}\u{74}"] = f})
835835local b = setmetatable({},getmetatable(a))
836−assert((((a[0x3] == "\u{69}\u{6e}\u{64}\u{65}\u{78}") and ((a ^ 0x3) == "\u{70}\u{6f}\u{77}")) and ((a .. a) == "\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")))
837−assert((((a / 0x3) == "\u{64}\u{69}\u{76}") and ((0x3 % a) == "\u{6d}\u{6f}\u{64}")))
838−assert((((((a + 0x3) == "\u{61}\u{64}\u{64}") and ((0x3 - a) == "\u{73}\u{75}\u{62}")) and ((a * 0x3) == "\u{6d}\u{75}\u{6c}")) and (- ((a == "\u{75}\u{6e}\u{6d}") and (# ((a == "\u{6c}\u{65}\u{6e}") and ((a & 0x3) == "\u{62}\u{61}\u{6e}\u{64}")))))))
839−assert((((((a + 0x7530) == "\u{61}\u{64}\u{64}") and ((a - 3.0) == "\u{73}\u{75}\u{62}")) and ((a * 3.0) == "\u{6d}\u{75}\u{6c}")) and (- ((a == "\u{75}\u{6e}\u{6d}") and (# ((a == "\u{6c}\u{65}\u{6e}") and ((a & 0x3) == "\u{62}\u{61}\u{6e}\u{64}")))))))
840−assert((((((a | 0x3) == "\u{62}\u{6f}\u{72}") and ((0x3 ~ a) == "\u{62}\u{78}\u{6f}\u{72}")) and ((a << 0x3) == "\u{73}\u{68}\u{6c}")) and ((a >> 0x1) == "\u{73}\u{68}\u{72}")))
841−assert(((a == b) and (a.op == "\u{65}\u{71}")))
842−assert(((a >= b) and (a.op == "\u{6c}\u{65}")))
843−assert((("\u{78}" >= a) and (a.op == "\u{6c}\u{65}")))
844−assert(((a > b) and (a.op == "\u{6c}\u{74}")))
845−assert(((a > 0xa) and (a.op == "\u{6c}\u{74}")))
846−assert((~ (a == "\u{62}\u{6e}\u{6f}\u{74}")))
836+assert(a[0x3] == "\u{69}\u{6e}\u{64}\u{65}\u{78}" and a ^ 0x3 == "\u{70}\u{6f}\u{77}" and a .. a == "\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}")
837+assert(a / 0x3 == "\u{64}\u{69}\u{76}" and 0x3 % a == "\u{6d}\u{6f}\u{64}")
838+assert(a + 0x3 == "\u{61}\u{64}\u{64}" and 0x3 - a == "\u{73}\u{75}\u{62}" and a * 0x3 == "\u{6d}\u{75}\u{6c}" and - a == "\u{75}\u{6e}\u{6d}" and # a == "\u{6c}\u{65}\u{6e}" and a & 0x3 == "\u{62}\u{61}\u{6e}\u{64}")
839+assert(a + 0x7530 == "\u{61}\u{64}\u{64}" and a - 3.0 == "\u{73}\u{75}\u{62}" and a * 3.0 == "\u{6d}\u{75}\u{6c}" and - a == "\u{75}\u{6e}\u{6d}" and # a == "\u{6c}\u{65}\u{6e}" and a & 0x3 == "\u{62}\u{61}\u{6e}\u{64}")
840+assert(a | 0x3 == "\u{62}\u{6f}\u{72}" and 0x3 ~ a == "\u{62}\u{78}\u{6f}\u{72}" and a << 0x3 == "\u{73}\u{68}\u{6c}" and a >> 0x1 == "\u{73}\u{68}\u{72}")
841+assert(a == b and a.op == "\u{65}\u{71}")
842+assert(a >= b and a.op == "\u{6c}\u{65}")
843+assert("\u{78}" >= a and a.op == "\u{6c}\u{65}")
844+assert(a > b and a.op == "\u{6c}\u{74}")
845+assert(a > 0xa and a.op == "\u{6c}\u{74}")
846+assert(~ a == "\u{62}\u{6e}\u{6f}\u{74}")
847847do
848848local function f
849849()
850−assert((debug.getinfo(0x1).name == "\u{66}\u{6f}\u{72}\u{20}\u{69}\u{74}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}"))
850+assert(debug.getinfo(0x1).name == "\u{66}\u{6f}\u{72}\u{20}\u{69}\u{74}\u{65}\u{72}\u{61}\u{74}\u{6f}\u{72}")
851851end
852852for i in f
853853do
@@ -858,13 +858,13 @@ do
858858local name = nil
859859setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
860860local t = debug.getinfo(0x1)
861−assert((t.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}"))
861+assert(t.namewhat == "\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}")
862862name=t.name
863863end})
864864repeat
865865local a = {}
866866until name
867−assert((name == "\u{5f}\u{5f}\u{67}\u{63}"))
867+assert(name == "\u{5f}\u{5f}\u{67}\u{63}")
868868end
869869do
870870print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}")
@@ -874,10 +874,10 @@ return select(0x2,string.gsub(s,"\u{a}",""))
874874end
875875local function deep
876876(lvl,n)
877−if (lvl == 0x0) then
878−return debug.traceback("\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}",n)
877+if lvl == 0x0 then
878+return (debug.traceback("\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}",n))
879879else
880−return deep((lvl - 0x1),n)
880+return (deep(lvl - 0x1,n))
881881end
882882end
883883local function checkdeep
@@ -885,14 +885,14 @@ local function checkdeep
885885local s = deep(total,start)
886886local rest = string.match(s,"\u{5e}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{a}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{3a}\u{a}\u{28}\u{2e}\u{2a}\u{29}\u{24}")
887887local cl = countlines(rest)
888−assert((cl <= ((0xa + 0xb) + 0x1)))
888+assert(cl <= 0xa + 0xb + 0x1)
889889local brk = string.find(rest,"\u{25}\u{2e}\u{25}\u{2e}\u{25}\u{2e}\u{9}\u{25}\u{28}\u{73}\u{6b}\u{69}\u{70}")
890890if brk then
891891local rest1 = string.sub(rest,0x1,brk)
892−local rest2 = string.sub(rest,brk,(# rest))
893−assert(((countlines(rest1) == 0xa) and (countlines(rest2) == 0xb)))
892+local rest2 = string.sub(rest,brk,# rest)
893+assert(countlines(rest1) == 0xa and countlines(rest2) == 0xb)
894894else
895−assert((cl == ((total - start) + 0x2)))
895+assert(cl == total - start + 0x2)
896896end
897897end
898898for d = 0x1, 0x33, 0xa
@@ -906,7 +906,7 @@ end
906906print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}")
907907local prog = "\u{2d}\u{2d}\u{20}\u{70}\u{72}\u{6f}\u{67}\u{72}\u{61}\u{6d}\u{20}\u{74}\u{6f}\u{20}\u{62}\u{65}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{65}\u{64}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{73}\u{74}\u{72}\u{69}\u{70}\u{29}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{27}\u{64}\u{65}\u{62}\u{75}\u{67}\u{27}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{32}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{28}\u{31}\u{2c}\u{20}\u{31}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{75}\u{6e}\u{6b}\u{6f}\u{77}\u{6e}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{62}\u{75}\u{74}\u{20}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{28}\u{31}\u{2c}\u{20}\u{32}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{32}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{75}\u{6e}\u{6b}\u{6f}\u{77}\u{6e}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{62}\u{75}\u{74}\u{20}\u{6b}\u{6e}\u{6f}\u{77}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{a}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{61}\u{6e}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{6e}\u{2c}\u{20}\u{76}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{28}\u{66}\u{2c}\u{20}\u{31}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{6e}\u{6f}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{29}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{76}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{32}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{73}\u{65}\u{74}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{28}\u{66}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{31}\u{33}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{28}\u{6e}\u{6f}\u{20}\u{6e}\u{61}\u{6d}\u{65}\u{29}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{33}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{2e}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{6c}\u{61}\u{73}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3d}\u{3d}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{5f}\u{73}\u{72}\u{63}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{3f}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{29}\u{a}\u{a}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{2c}\u{20}\u{22}\u{4c}\u{22}\u{29}\u{2e}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{6c}\u{69}\u{6e}\u{65}\u{73}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6e}\u{65}\u{78}\u{74}\u{28}\u{74}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{29}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{61}\u{72}\u{65}\u{20}\u{65}\u{6d}\u{70}\u{74}\u{79}\u{a}\u{a}\u{2d}\u{2d}\u{20}\u{64}\u{75}\u{6d}\u{70}\u{2f}\u{6c}\u{6f}\u{61}\u{64}\u{20}\u{61}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{a}\u{66}\u{20}\u{3d}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{64}\u{75}\u{6d}\u{70}\u{28}\u{66}\u{29}\u{29}\u{a}\u{a}\u{74}\u{20}\u{3d}\u{20}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{66}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{2e}\u{6e}\u{61}\u{6d}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3e}\u{20}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{6c}\u{61}\u{73}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{3d}\u{3d}\u{20}\u{74}\u{2e}\u{6c}\u{69}\u{6e}\u{65}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{2e}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{5f}\u{73}\u{72}\u{63}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{3f}\u{22}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{29}\u{a}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{a}"
908908local f = assert(load(string.dump(load(prog),true)))
909−assert((f() == 0xd))
909+assert(f() == 0xd)
910910do
911911local function foo
912912()
@@ -917,31 +917,31 @@ end
917917local s = load(string.dump(foo,true))
918918local line = true
919919debug.sethook(function (e,l)
920−assert((e == "\u{6c}\u{69}\u{6e}\u{65}"))
920+assert(e == "\u{6c}\u{69}\u{6e}\u{65}")
921921line=l
922922end,"\u{6c}")
923−assert((s() == 0x2))
923+assert(s() == 0x2)
924924;
925925debug.sethook(nil)
926−assert((line == nil))
926+assert(line == nil)
927927end
928928do
929929local prog = "\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{79}\u{29}\u{20}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}"
930930local name = string.rep("\u{78}",0x3e8)
931931local p = assert(load(prog,name))
932932local c = string.dump(p)
933−assert((# ((c > 0x3e8) and (# (c < 0x7d0)))))
933+assert(# c > 0x3e8 and # c < 0x7d0)
934934local f = assert(load(c))
935935local g = f()
936936local h = g(0x3)
937−assert((h(0x5) == 0x8))
938−assert((((debug.getinfo(f).source == name) and (debug.getinfo(g).source == name)) and (debug.getinfo(h).source == name)))
937+assert(h(0x5) == 0x8)
938+assert(debug.getinfo(f).source == name and debug.getinfo(g).source == name and debug.getinfo(h).source == name)
939939local c = string.dump(p,true)
940−assert((# (c < 0x1f4)))
940+assert(# c < 0x1f4)
941941local f = assert(load(c))
942942local g = f()
943943local h = g(0x1e)
944−assert((h(0x32) == 0x50))
945−assert((((debug.getinfo(f).source == "\u{3d}\u{3f}") and (debug.getinfo(g).source == "\u{3d}\u{3f}")) and (debug.getinfo(h).source == "\u{3d}\u{3f}")))
944+assert(h(0x32) == 0x50)
945+assert(debug.getinfo(f).source == "\u{3d}\u{3f}" and debug.getinfo(g).source == "\u{3d}\u{3f}" and debug.getinfo(h).source == "\u{3d}\u{3f}")
946946end
947947print("\u{4f}\u{4b}")
desk/res/lua/cycled/errors.lua+88−88
@@ -1,21 +1,21 @@
11print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{73}")
22local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
3−local mt = (getmetatable(_G) or {})
3+local mt = getmetatable(_G) or {}
44local oldmm = mt.__index
55mt.__index=nil
66local function checkerr
77(msg,f, ...)
88local st,err = pcall(f,...)
9−assert((not (st and string.find(err,msg))))
9+assert(not st and string.find(err,msg))
1010end
1111local function doit
1212(s)
1313local f,msg = load(s)
14−if (not f) then
14+if not f then
1515return msg
1616end
1717local cond,msg = pcall(f)
18−return ((not cond) and msg)
18+return (not cond) and msg
1919end
2020local function checkmessage
2121(prog,msg,debug)
@@ -28,19 +28,19 @@ end
2828local function checksyntax
2929(prog,extra,token,line)
3030local msg = doit(prog)
31−if (not (string.find(token,"\u{5e}\u{3c}\u{25}\u{61}") and (not string.find(token,"\u{5e}\u{63}\u{68}\u{61}\u{72}\u{25}\u{28}")))) then
32−token=("\u{27}" .. (token .. "\u{27}"))
31+if not string.find(token,"\u{5e}\u{3c}\u{25}\u{61}") and not string.find(token,"\u{5e}\u{63}\u{68}\u{61}\u{72}\u{25}\u{28}") then
32+token="\u{27}" .. token .. "\u{27}"
3333end
3434token=string.gsub(token,"\u{28}\u{25}\u{70}\u{29}","\u{25}\u{25}\u{25}\u{31}")
3535local pt = string.format("\u{5e}\u{25}\u{25}\u{5b}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{22}\u{2e}\u{2a}\u{22}\u{25}\u{25}\u{5d}\u{3a}\u{25}\u{64}\u{3a}\u{20}\u{2e}\u{2d}\u{20}\u{6e}\u{65}\u{61}\u{72}\u{20}\u{25}\u{73}\u{24}",line,token)
3636assert(string.find(msg,pt))
3737assert(string.find(msg,msg,0x1,true))
3838end
39−assert((doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{68}\u{69}\u{27}\u{2c}\u{20}\u{30}\u{29}") == "\u{68}\u{69}"))
40−assert((doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{29}") == nil))
39+assert(doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{68}\u{69}\u{27}\u{2c}\u{20}\u{30}\u{29}") == "\u{68}\u{69}")
40+assert(doit("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{29}") == nil)
4141assert(doit("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{2e}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{28}\u{7b}\u{7d}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{6e}\u{3d}\u{32}\u{5e}\u{33}\u{30}\u{29}"))
4242assert(doit("\u{61}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{29}"))
43−assert((not (doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{31}\u{29}") and doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{29}"))))
43+assert(not doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{31}\u{29}") and doit("\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{29}"))
4444assert(doit("\u{74}\u{6f}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{28}\u{29}"))
4545assert(doit("\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{20}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{31}\u{3b}\u{20}\u{61}"))
4646assert(doit("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{3b}\u{3b}"))
@@ -54,13 +54,13 @@ do
5454local function checksyntax
5555(prog,msg,line)
5656local st,err = load(prog)
57−assert(string.find(err,("\u{6c}\u{69}\u{6e}\u{65}\u{20}" .. line)))
57+assert(string.find(err,"\u{6c}\u{69}\u{6e}\u{65}\u{20}" .. line))
5858assert(string.find(err,msg,0x1,true))
5959end
6060checksyntax("\u{20}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{a}\u{20}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{41}\u{27}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{64}\u{65}\u{66}\u{69}\u{6e}\u{65}\u{64}",0x1)
6161checksyntax("\u{20}\u{20}\u{20}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{41}\u{a}\u{20}\u{20}\u{20}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{41}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}","\u{6e}\u{6f}\u{20}\u{76}\u{69}\u{73}\u{69}\u{62}\u{6c}\u{65}\u{20}\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{41}\u{27}",0x2)
6262end
63−if (not T) then
63+if not T then
6464(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{43}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
6565else
6666print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}")
@@ -70,7 +70,7 @@ do
7070a[i]=true
7171end
7272collectgarbage()
73−T.totalmem((T.totalmem() + 0x2710))
73+T.totalmem(T.totalmem() + 0x2710)
7474local st,msg = pcall(function ()
7575for i = 0x1, 0x186a0
7676do
@@ -78,7 +78,7 @@ a[i]=tostring(i)
7878end
7979end)
8080T.totalmem(0x0)
81−assert((not (st and (msg == ("\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}" .. "\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))))
81+assert(not st and msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}" .. "\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
8282local res = T.testC("\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{70}\u{75}\u{73}\u{68}\u{20}\u{31}\u{36}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{74}\u{68}\u{65}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{34}\u{20}\u{72}\u{65}\u{6d}\u{61}\u{69}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6c}\u{6f}\u{74}\u{73}\u{a}\u{20}\u{20}\u{20}\u{20}\u{74}\u{72}\u{61}\u{63}\u{65}\u{62}\u{61}\u{63}\u{6b}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{31}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{20}\u{20}")
8383assert(string.find(res,"\u{78}\u{75}\u{78}\u{75}\u{2e}\u{2d}\u{6d}\u{61}\u{69}\u{6e}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
8484end
@@ -89,7 +89,7 @@ checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{20}\u{3c}\u{3d}\u{20}\u{31}
8989checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{32}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{33}\u{29}\u{2b}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
9090checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{64}\u{6f}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{3a}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
9191checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{62}\u{28}\u{33}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
92−assert((not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{31}\u{33}\u{7d}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{62}\u{62}\u{62}\u{62}\u{5d}\u{28}\u{33}\u{29}"),"\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")))
92+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{31}\u{33}\u{7d}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{62}\u{62}\u{62}\u{62}\u{5d}\u{28}\u{33}\u{29}"),"\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}"))
9393checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{31}\u{33}\u{7d}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{62}\u{62}\u{62}\u{62}\u{5d}\u{28}\u{33}\u{29}","\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
9494checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{28}\u{31}\u{29}\u{2e}\u{2e}\u{7b}\u{7d}","\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
9595checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{61}\u{2e}\u{5f}\u{45}\u{4e}\u{56}\u{2e}\u{78}\u{20}\u{2b}\u{20}\u{31}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{78}\u{27}")
@@ -106,7 +106,7 @@ checkmessage("\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}
106106checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{31}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{39}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
107107checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{39}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{64}\u{64}\u{64}\u{27}")
108108checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{2b}\u{31}\u{2e}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{62}\u{27}")
109−assert((not doit("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{7b}\u{64}\u{64}\u{64}\u{3d}\u{6e}\u{65}\u{78}\u{74}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{6e}\u{69}\u{6c}\u{29}")))
109+assert(not doit("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{62}\u{62}\u{62}\u{3d}\u{7b}\u{64}\u{64}\u{64}\u{3d}\u{6e}\u{65}\u{78}\u{74}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{2e}\u{62}\u{62}\u{62}\u{3a}\u{64}\u{64}\u{64}\u{28}\u{6e}\u{69}\u{6c}\u{29}"))
110110checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{63}\u{63}\u{5b}\u{31}\u{5d}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{63}\u{63}\u{27}")
111111checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{63}\u{3b}\u{20}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{61}\u{2e}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{28}\u{29}","\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{27}\u{61}\u{27}")
112112checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{3d}\u{7b}\u{7d}\u{7d}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{27}")
@@ -118,8 +118,8 @@ checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}
118118checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{31}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{61}\u{61}\u{2c}\u{62}\u{62}\u{62}\u{62}\u{3d}\u{32}\u{2c}\u{33}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{62}\u{28}\u{31}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{28}\u{33}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{62}\u{27}")
119119checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{2c}\u{66}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{31}\u{2c}\u{31}\u{3b}\u{20}\u{66}\u{28}\u{28}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{63}\u{29}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{27}\u{66}\u{27}")
120120checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{2c}\u{63}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{31}\u{2c}\u{31}\u{3b}\u{20}\u{28}\u{28}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{29}\u{20}\u{6f}\u{72}\u{20}\u{63}\u{29}\u{28}\u{29}","\u{63}\u{61}\u{6c}\u{6c}\u{20}\u{61}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
121−assert((not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{2b}\u{28}\u{61}\u{61}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}")))
122−assert((not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{28}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}")))
121+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{78}\u{3d}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{2b}\u{28}\u{61}\u{61}\u{61}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}"))
122+assert(not string.find(doit("\u{61}\u{61}\u{61}\u{3d}\u{7b}\u{7d}\u{3b}\u{20}\u{28}\u{61}\u{61}\u{61}\u{20}\u{6f}\u{72}\u{20}\u{61}\u{61}\u{61}\u{29}\u{28}\u{29}"),"\u{27}\u{61}\u{61}\u{61}\u{27}"))
123123checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{3c}\u{20}\u{31}\u{30}\u{29}","\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
124124checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{20}\u{3c}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}","\u{74}\u{77}\u{6f}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}")
125125checkmessage("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{31}\u{30}\u{27}\u{20}\u{3c}\u{20}\u{31}\u{30}\u{29}","\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
@@ -166,32 +166,32 @@ checkmessage("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{58}\u{58}\u{20}\u{3c}
166166_G.XX=nil
167167if T then
168168local x = setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{54}\u{41}\u{42}\u{4c}\u{45}"})
169−assert((T.testC("\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == tostring(x)))
169+assert(T.testC("\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}",x) == tostring(x))
170170local a,b = T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}",x)
171−assert(((a == 0xa) and (b == tostring(x))))
171+assert(a == 0xa and b == tostring(x))
172172setmetatable(x,{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (o)
173−assert((o == x))
173+assert(o == x)
174174return "\u{41}\u{42}\u{43}"
175175end})
176176local a,b,c = T.testC("\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{31}\u{30}\u{3b}\u{20}\u{4c}\u{74}\u{6f}\u{6c}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{32}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}",x)
177−assert((((a == x) and (b == 0xa)) and (c == "\u{41}\u{42}\u{43}")))
177+assert(a == x and b == 0xa and c == "\u{41}\u{42}\u{43}")
178178end
179179end
180180checkmessage("\u{28}\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}\u{20}\u{6f}\u{72}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}\u{7b}\u{7d}","\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}")
181181checkmessage("\u{28}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}\u{20}\u{6f}\u{72}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{29}\u{7b}\u{7d}","\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{67}\u{61}\u{72}\u{62}\u{61}\u{67}\u{65}")
182182do
183183local f = function (a)
184−return (a + 0x1)
184+return a + 0x1
185185end
186186f=assert(load(string.dump(f,true)))
187−assert((f(0x3) == 0x4))
187+assert(f(0x3) == 0x4)
188188checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}",f,{})
189189f=function ()
190190local a
191191;
192192a={}
193193;
194−return (a + 0x2)
194+return a + 0x2
195195end
196196f=assert(load(string.dump(f,true)))
197197checkerr("\u{5e}\u{25}\u{3f}\u{3a}\u{25}\u{2d}\u{31}\u{3a}\u{2e}\u{2a}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}",f)
@@ -199,14 +199,14 @@ end
199199local t = {}
200200for i = 0x1, 0x3e8
201201do
202−t[i]=("\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{78}" .. i)
202+t[i]="\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{78}" .. i
203203end
204204local s = table.concat(t,"\u{3b}\u{20}")
205205t=nil
206−checkmessage((s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}"),"\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
207−checkmessage(("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{3b}" .. (s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}")),"\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
208−checkmessage((s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{74}\u{2e}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}"),"\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
209−checkmessage((s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{74}\u{3a}\u{62}\u{62}\u{62}\u{28}\u{29}"),"\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
206+checkmessage(s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
207+checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{5f}\u{45}\u{4e}\u{56}\u{3d}\u{5f}\u{45}\u{4e}\u{56}\u{3b}" .. s .. "\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
208+checkmessage(s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{20}\u{3d}\u{20}\u{74}\u{2e}\u{62}\u{62}\u{62}\u{20}\u{2b}\u{20}\u{31}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
209+checkmessage(s .. "\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{74}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{3b}\u{20}\u{74}\u{3a}\u{62}\u{62}\u{62}\u{28}\u{29}","\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{62}\u{62}\u{62}\u{27}")
210210checkmessage("\u{61}\u{61}\u{61}\u{3d}\u{39}\u{a}\u{72}\u{65}\u{70}\u{65}\u{61}\u{74}\u{20}\u{75}\u{6e}\u{74}\u{69}\u{6c}\u{20}\u{33}\u{3d}\u{3d}\u{33}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{3d}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{63}\u{6f}\u{73}\u{28}\u{33}\u{29}\u{29}\u{a}\u{69}\u{66}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{78}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{74}\u{61}\u{69}\u{6c}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{20}\u{3d}\u{20}\u{31}\u{2c}\u{20}\u{7b}\u{a}\u{20}\u{20}\u{7b}\u{78}\u{3d}\u{27}\u{61}\u{27}\u{2e}\u{2e}\u{27}\u{62}\u{27}\u{2e}\u{2e}\u{27}\u{63}\u{27}\u{2c}\u{20}\u{79}\u{3d}\u{27}\u{62}\u{27}\u{2c}\u{20}\u{7a}\u{3d}\u{78}\u{7d}\u{2c}\u{a}\u{20}\u{20}\u{7b}\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{2c}\u{34}\u{2c}\u{35}\u{7d}\u{20}\u{6f}\u{72}\u{20}\u{33}\u{2b}\u{33}\u{3c}\u{3d}\u{33}\u{2b}\u{33}\u{2c}\u{a}\u{20}\u{20}\u{33}\u{2b}\u{31}\u{3e}\u{33}\u{2b}\u{31}\u{2c}\u{a}\u{20}\u{20}\u{7b}\u{64}\u{20}\u{3d}\u{20}\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{61}\u{61}\u{61}\u{5b}\u{78}\u{20}\u{6f}\u{72}\u{20}\u{79}\u{5d}\u{7d}\u{7d}\u{a}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{61}\u{61}\u{61}\u{27}")
211211checkmessage("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{79}\u{20}\u{3d}\u{20}\u{7b}\u{7d}\u{2c}\u{31}\u{a}\u{69}\u{66}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{73}\u{69}\u{6e}\u{28}\u{31}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{30}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{a}\u{78}\u{2e}\u{61}\u{28}\u{29}","\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{61}\u{27}")
212212checkmessage("\u{70}\u{72}\u{65}\u{66}\u{69}\u{78}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{31}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{62}\u{72}\u{65}\u{61}\u{6b}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{28}\u{70}\u{72}\u{65}\u{66}\u{69}\u{78}\u{2c}\u{20}\u{61}\u{29}\u{a}\u{65}\u{6e}\u{64}","\u{67}\u{6c}\u{6f}\u{62}\u{61}\u{6c}\u{20}\u{27}\u{69}\u{6e}\u{73}\u{65}\u{72}\u{74}\u{27}")
@@ -239,24 +239,24 @@ f=coroutine.wrap(function ()
239239table.sort({0x1,0x2,0x3},coroutine.yield)
240240end)
241241checkerr("\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{61}\u{63}\u{72}\u{6f}\u{73}\u{73}",f)
242−local idsize = (0x3c - 0x1)
242+local idsize = 0x3c - 0x1
243243local function checksize
244244(source)
245245local _,msg = load("\u{78}",source)
246246msg=string.match(msg,"\u{5e}\u{28}\u{5b}\u{5e}\u{3a}\u{5d}\u{2a}\u{29}\u{3a}")
247−assert((msg:len() <= idsize))
247+assert(msg:len() <= idsize)
248248end
249−for i = (0x3c - 0xa), (0x3c + 0xa)
249+for i = 0x3c - 0xa, 0x3c + 0xa
250250do
251−checksize(("\u{40}" .. string.rep("\u{78}",i)))
252−checksize(string.rep("\u{78}",(i - 0xa)))
253−checksize(("\u{3d}" .. string.rep("\u{78}",i)))
251+checksize("\u{40}" .. string.rep("\u{78}",i))
252+checksize(string.rep("\u{78}",i - 0xa))
253+checksize("\u{3d}" .. string.rep("\u{78}",i))
254254end
255255local function lineerror
256256(s,l)
257257local err,msg = pcall(load(s))
258258local line = tonumber(string.match(msg,"\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}"))
259−assert(((line == l) or (not (line and (not l)))))
259+assert(line == l or (not line and not l))
260260end
261261lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{a}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{27}\u{61}\u{27}\u{20}\u{64}\u{6f}\u{20}\u{a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{69}\u{29}\u{20}\u{a}\u{20}\u{65}\u{6e}\u{64}",0x2)
262262lineerror("\u{a}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{a}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{6b}\u{2c}\u{76}\u{20}\u{69}\u{6e}\u{20}\u{33}\u{20}\u{a}\u{20}\u{64}\u{6f}\u{20}\u{a}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{6b}\u{29}\u{20}\u{a}\u{20}\u{65}\u{6e}\u{64}",0x3)
@@ -272,16 +272,16 @@ lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{
272272local p = "\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{67}\u{28}\u{29}\u{20}\u{66}\u{28}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{78}\u{29}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{58}\u{58}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{67}\u{28}\u{29}\u{a}"
273273XX=0x3
274274;
275−lineerror(p,0x3)
275+lineerror((p),0x3)
276276XX=0x0
277277;
278−lineerror(p,false)
278+lineerror((p),false)
279279XX=0x1
280280;
281−lineerror(p,0x2)
281+lineerror((p),0x2)
282282XX=0x2
283283;
284−lineerror(p,0x1)
284+lineerror((p),0x1)
285285_G.XX,_G.g,_G.f=nil
286286lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{27}\u{a}\u{65}\u{6e}\u{64}",0x3)
287287lineerror("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{66}\u{61}\u{6c}\u{73}\u{65}\u{a}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{69}\u{66}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{27}\u{74}\u{65}\u{73}\u{74}\u{27}\u{a}\u{20}\u{20}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{65}\u{6e}\u{64}",0x5)
@@ -290,14 +290,14 @@ do
290290local s = string.format("\u{25}\u{73}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5f}\u{5f}\u{41}\u{2e}\u{78}",string.rep("\u{a}",0x12c))
291291lineerror(s,0x12d)
292292end
293−if (not _soft) then
293+if not _soft then
294294collectgarbage()
295295print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
296296local C = 0x0
297−local l = (debug.getinfo(0x1,"\u{6c}").currentline + 0x1)
297+local l = debug.getinfo(0x1,"\u{6c}").currentline + 0x1
298298local function auxy
299299()
300−C=(C + 0x1)
300+C=C + 0x1
301301;
302302auxy()
303303end
@@ -308,9 +308,9 @@ collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
308308end
309309local function checkstackmessage
310310(m)
311−print(("\u{28}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}" .. (C .. "\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{29}")))
311+print("\u{28}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{61}\u{66}\u{74}\u{65}\u{72}\u{20}" .. C .. "\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{29}")
312312C=0x0
313−return string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")
313+return (string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
314314end
315315assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
316316assert(checkstackmessage(doit("\u{59}\u{59}\u{28}\u{29}")))
@@ -319,7 +319,7 @@ _G.YY=nil
319319local l1
320320local function g
321321(x)
322−l1=(debug.getinfo(x,"\u{6c}").currentline + 0x2)
322+l1=debug.getinfo(x,"\u{6c}").currentline + 0x2
323323collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
324324auxy()
325325collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
@@ -335,21 +335,21 @@ table.insert(stack,tonumber(curr))
335335end
336336end
337337local i = 0x1
338−while (stack[i] ~= l1) do
339−assert((stack[i] == l))
340−i=(i + 0x1)
338+while stack[i] ~= l1 do
339+assert(stack[i] == l)
340+i=i + 0x1
341341end
342−assert((i > 0xf))
342+assert(i > 0xf)
343343local res,msg = xpcall(error,error)
344−assert((not (res and (type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))))
344+assert(not res and type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
345345print("\u{2b}")
346346local function f
347347(x)
348−if (x == 0x0) then
348+if x == 0x0 then
349349error("\u{61}\u{a}")
350350else
351351local aux = function ()
352−return f((x - 0x1))
352+return f(x - 0x1)
353353end
354354local a,b = xpcall(aux,aux)
355355return a,b
@@ -358,15 +358,15 @@ end
358358f(0x3)
359359local function loop
360360(x,y,z)
361−return (0x1 + loop(x,y,z))
361+return 0x1 + loop(x,y,z)
362362end
363363local res,msg = xpcall(loop,function (m)
364364assert(string.find(m,"\u{73}\u{74}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}"))
365365checkerr("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{68}\u{61}\u{6e}\u{64}\u{6c}\u{69}\u{6e}\u{67}",loop)
366−assert((math.sin(0x0) == 0x0))
366+assert(math.sin(0x0) == 0x0)
367367return 0xf
368368end)
369−assert((msg == 0xf))
369+assert(msg == 0xf)
370370local f = function ()
371371for i = 0xf41dc, 0xf4240, 0x1
372372do
@@ -380,39 +380,39 @@ local t = {}
380380local res,msg = pcall(function ()
381381error(t)
382382end)
383−assert((not (res and (msg == t))))
383+assert(not res and msg == t)
384384res,msg=pcall(function ()
385385error(nil)
386386end)
387−assert((not (res and (msg == nil))))
387+assert(not res and msg == nil)
388388local function f
389389()
390390error({["\u{6d}\u{73}\u{67}"] = "\u{78}"})
391391end
392392res,msg=xpcall(f,function (r)
393−return {["\u{6d}\u{73}\u{67}"] = (r.msg .. "\u{79}")}
393+return {["\u{6d}\u{73}\u{67}"] = r.msg .. "\u{79}"}
394394end)
395−assert((msg.msg == "\u{78}\u{79}"))
395+assert(msg.msg == "\u{78}\u{79}")
396396res,msg=pcall(assert,false,"\u{58}",t)
397−assert((not (res and (msg == "\u{58}"))))
397+assert(not res and msg == "\u{58}")
398398res,msg=pcall(function ()
399399assert(false)
400400end)
401401local line = string.match(msg,"\u{25}\u{77}\u{2b}\u{25}\u{2e}\u{6c}\u{75}\u{61}\u{3a}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{3a}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{61}\u{69}\u{6c}\u{65}\u{64}\u{21}\u{24}")
402−assert((tonumber(line) == (debug.getinfo(0x1,"\u{6c}").currentline - 0x2)))
402+assert(tonumber(line) == debug.getinfo(0x1,"\u{6c}").currentline - 0x2)
403403res,msg=pcall(assert,false,t)
404−assert((not (res and (msg == t))))
404+assert(not res and msg == t)
405405res,msg=pcall(assert,nil,nil)
406−assert((not (res and (msg == nil))))
406+assert(not res and msg == nil)
407407res,msg=pcall(assert)
408−assert((not (res and string.find(msg,"\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))))
408+assert(not res and string.find(msg,"\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))
409409end
410410local a,b,c = xpcall(string.find,error,"\u{61}\u{6c}\u{6f}","\u{61}\u{6c}")
411−assert(((a and (b == 0x1)) and (c == 0x2)))
411+assert(a and b == 0x1 and c == 0x2)
412412a,b,c=xpcall(string.find,function (x)
413413return {}
414414end,true,"\u{61}\u{6c}")
415−assert((not ((a and (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")) and (c == nil))))
415+assert(not a and type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and c == nil)
416416print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{6b}\u{65}\u{6e}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}")
417417checksyntax("\u{73}\u{79}\u{6e}\u{74}\u{61}\u{78}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}","","\u{65}\u{72}\u{72}\u{6f}\u{72}",0x1)
418418checksyntax("\u{31}\u{2e}\u{30}\u{30}\u{30}","","\u{31}\u{2e}\u{30}\u{30}\u{30}",0x1)
@@ -423,7 +423,7 @@ checksyntax("\u{66}\u{6f}\u{72}\u{20}\u{3e}\u{3e}\u{20}\u{64}\u{6f}\u{20}\u{65}\
423423checksyntax("\u{61}\u{1}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{31}\u{3e}",0x1)
424424checksyntax("\u{ff}\u{61}\u{20}\u{3d}\u{20}\u{31}","","\u{3c}\u{5c}\u{32}\u{35}\u{35}\u{3e}",0x1)
425425doit("\u{49}\u{20}\u{3d}\u{20}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{22}\u{61}\u{3d}\u{39}\u{2b}\u{22}\u{29}\u{3b}\u{20}\u{61}\u{61}\u{61}\u{3d}\u{33}")
426−assert(((_G.aaa == 0x3) and (not _G.I)))
426+assert(_G.aaa == 0x3 and not _G.I)
427427_G.I,_G.aaa=nil
428428print("\u{2b}")
429429local lim = 0x3e8
@@ -437,15 +437,15 @@ doit("\u{61}\u{20}\u{3d}\u{20}\u{34}\u{2b}\u{6e}\u{69}\u{6c}")
437437end
438438local function testrep
439439(init,rep,close,repc,finalresult)
440−local s = (init .. (string.rep(rep,0x64) .. (close .. string.rep(repc,0x64))))
440+local s = init .. string.rep(rep,0x64) .. close .. string.rep(repc,0x64)
441441local res,msg = load(s)
442442assert(res)
443−if finalresult then
444−assert((res() == finalresult))
443+if (finalresult) then
444+assert(res() == finalresult)
445445end
446−s=(init .. string.rep(rep,0x1f4))
446+s=init .. string.rep(rep,0x1f4)
447447local res,msg = load(s)
448−assert((not (res and (string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}") or string.find(msg,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")))))
448+assert(not res and (string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}") or string.find(msg,"\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}")))
449449end
450450testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}\u{61}","\u{2c}\u{61}","\u{3d}\u{20}\u{31}","\u{2c}\u{31}")
451451testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}\u{61}\u{3d}","\u{7b}","\u{30}","\u{7d}")
@@ -457,37 +457,37 @@ testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3b}\u{20}","\u{69}\u{66}\u
457457testrep("","\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{20}","","\u{20}\u{65}\u{6e}\u{64}")
458458testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{27}\u{27}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{61}\u{2e}\u{2e}","\u{27}\u{61}\u{27}","","\u{61}")
459459testrep("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}","\u{61}\u{5e}","\u{61}","",0x1)
460−checkmessage(("\u{61}\u{20}\u{3d}\u{20}\u{66}\u{28}\u{78}" .. (string.rep("\u{2c}\u{78}",0x104) .. "\u{29}")),"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{67}\u{69}\u{73}\u{74}\u{65}\u{72}\u{73}")
460+checkmessage("\u{61}\u{20}\u{3d}\u{20}\u{66}\u{28}\u{78}" .. string.rep("\u{2c}\u{78}",0x104) .. "\u{29}","\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{67}\u{69}\u{73}\u{74}\u{65}\u{72}\u{73}")
461461local lim = 0x7f
462462local s = "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{41}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
463463for j = 0x1, lim
464464do
465−s=(s .. ("\u{61}" .. (j .. "\u{2c}\u{20}")))
465+s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
466466end
467−s=(s .. "\u{62}\u{2c}\u{63}\u{a}")
468−s=(s .. "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{42}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}")
467+s=s .. "\u{62}\u{2c}\u{63}\u{a}"
468+s=s .. "\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{42}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
469469for j = 0x1, lim
470470do
471−s=(s .. ("\u{62}" .. (j .. "\u{2c}\u{20}")))
471+s=s .. "\u{62}" .. j .. "\u{2c}\u{20}"
472472end
473−s=(s .. "\u{62}\u{a}")
474−s=(s .. "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{43}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{2b}\u{63}")
475−local c = (0x1 + 0x2)
473+s=s .. "\u{62}\u{a}"
474+s=s .. "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{43}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{2b}\u{63}"
475+local c = 0x1 + 0x2
476476for j = 0x1, lim
477477do
478−s=(s .. ("\u{2b}\u{61}" .. (j .. ("\u{2b}\u{62}" .. j))))
479−c=(c + 0x2)
478+s=s .. "\u{2b}\u{61}" .. j .. "\u{2b}\u{62}" .. j
479+c=c + 0x2
480480end
481−s=(s .. "\u{a}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}")
481+s=s .. "\u{a}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}"
482482local a,b = load(s)
483−assert((((c > 0xff) and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}")) and string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{35}")))
483+assert(c > 0xff and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{75}\u{70}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{73}") and string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{35}"))
484484s="\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}"
485485for j = 0x1, 0x12c
486486do
487−s=(s .. ("\u{61}" .. (j .. "\u{2c}\u{20}")))
487+s=s .. "\u{61}" .. j .. "\u{2c}\u{20}"
488488end
489−s=(s .. "\u{62}\u{a}")
489+s=s .. "\u{62}\u{a}"
490490local a,b = load(s)
491−assert((string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{32}") and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}")))
491+assert(string.find(b,"\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{32}") and string.find(b,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}"))
492492mt.__index=oldmm
493493print("\u{4f}\u{4b}")
desk/res/lua/cycled/events.lua+179−179
@@ -5,43 +5,43 @@ X=0x14
55B=0x1e
66_ENV=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = _G})
77collectgarbage()
8−X=(X + 0xa)
9−assert(((X == 0x1e) and (_G.X == 0x14)))
8+X=X + 0xa
9+assert(X == 0x1e and _G.X == 0x14)
1010B=false
11−assert((B == false))
11+assert(B == false)
1212_ENV["\u{42}"]=undef
13−assert((B == 0x1e))
14−assert((getmetatable({}) == nil))
15−assert((getmetatable(0x4) == nil))
16−assert((getmetatable(nil) == nil))
13+assert(B == 0x1e)
14+assert(getmetatable({}) == nil)
15+assert(getmetatable(0x4) == nil)
16+assert(getmetatable(nil) == nil)
1717a={["\u{6e}\u{61}\u{6d}\u{65}"] = "\u{4e}\u{41}\u{4d}\u{45}"}
1818;
1919setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function (x)
2020return x.name
2121end})
22−assert((getmetatable(a) == "\u{78}\u{75}\u{78}\u{75}"))
23−assert((tostring(a) == "\u{4e}\u{41}\u{4d}\u{45}"))
24−assert((pcall(setmetatable,a,{}) == false))
22+assert(getmetatable(a) == "\u{78}\u{75}\u{78}\u{75}")
23+assert(tostring(a) == "\u{4e}\u{41}\u{4d}\u{45}")
24+assert(pcall(setmetatable,a,{}) == false)
2525a.name="\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}"
26−assert((tostring(a) == "\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}"))
26+assert(tostring(a) == "\u{67}\u{6f}\u{72}\u{6f}\u{72}\u{6f}\u{62}\u{61}")
2727local a,t = {0xa,0x14,0x1e,["\u{78}"] = "\u{31}\u{30}",["\u{79}"] = "\u{32}\u{30}"},{}
28−assert((setmetatable(a,t) == a))
29−assert((getmetatable(a) == t))
30−assert((setmetatable(a,nil) == a))
31−assert((getmetatable(a) == nil))
32−assert((setmetatable(a,t) == a))
28+assert(setmetatable(a,t) == a)
29+assert(getmetatable(a) == t)
30+assert(setmetatable(a,nil) == a)
31+assert(getmetatable(a) == nil)
32+assert(setmetatable(a,t) == a)
3333function f(t,i,e)
34−assert((not e))
34+assert(not e)
3535local p = rawget(t,"\u{70}\u{61}\u{72}\u{65}\u{6e}\u{74}")
36−return (p and (p[i] + 0x3)),"\u{64}\u{75}\u{6d}\u{6d}\u{79}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"
36+return (p and p[i] + 0x3),"\u{64}\u{75}\u{6d}\u{6d}\u{79}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"
3737end
3838t.__index=f
3939a.parent={["\u{7a}"] = 0x19,["\u{78}"] = 0xc,[0x4] = 0x18}
40−assert(((((a[0x1] == 0xa) and (a.z == 0x1c)) and (a[0x4] == 0x1b)) and (a.x == "\u{31}\u{30}")))
40+assert(a[0x1] == 0xa and a.z == 0x1c and a[0x4] == 0x1b and a.x == "\u{31}\u{30}")
4141collectgarbage()
4242a=setmetatable({},t)
4343function f(t,i,v)
44−rawset(t,i,(v - 0x3))
44+rawset(t,i,v - 0x3)
4545end
4646setmetatable(t,t)
4747t.__newindex=f
@@ -50,13 +50,13 @@ a[0x1]=0x1e
5050a.x="\u{31}\u{30}\u{31}"
5151;
5252a[0x5]=0xc8
53−assert((((a[0x1] == 0x1b) and (a.x == 0x62)) and (a[0x5] == 0xc5)))
53+assert(a[0x1] == 0x1b and a.x == 0x62 and a[0x5] == 0xc5)
5454do
5555local mt = {}
5656mt.__newindex=mt
5757local t = setmetatable({},mt)
5858t[0x1]=0xa
59−assert((mt[0x1] == 0xa))
59+assert(mt[0x1] == 0xa)
6060end
6161local c = {}
6262a=setmetatable({},t)
@@ -70,24 +70,24 @@ a[0x3]=0x5a
7070;
7171for i = 0x4, 0x14
7272do
73−a[i]=(i * 0xa)
73+a[i]=i * 0xa
7474end
75−assert((((a[0x1] == 0xa) and (a[0x2] == 0x14)) and (a[0x3] == 0x5a)))
75+assert(a[0x1] == 0xa and a[0x2] == 0x14 and a[0x3] == 0x5a)
7676for i = 0x4, 0x14
7777do
78−assert((a[i] == (i * 0xa)))
78+assert(a[i] == i * 0xa)
7979end
80−assert((next(a) == nil))
80+assert(next(a) == nil)
8181do
8282local a
8383;
8484a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,n)
85−return (a[(n - 0x3)] + 0x4),"\u{6c}\u{69}\u{78}\u{6f}"
85+return a[n - 0x3] + 0x4,"\u{6c}\u{69}\u{78}\u{6f}"
8686end})})})
8787a[0x0]=0x14
8888for i = 0x0, 0xa
8989do
90−assert((a[(i * 0x3)] == (0x14 + (i * 0x4))))
90+assert(a[i * 0x3] == 0x14 + i * 0x4)
9191end
9292end
9393do
@@ -97,7 +97,7 @@ for i = 0x1, 0xa
9797do
9898a[i]=0x0
9999;
100−a[("\u{61}" .. i)]=0x0
100+a["\u{61}" .. i]=0x0
101101;
102102end
103103setmetatable(a,{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
@@ -109,12 +109,12 @@ foi=false
109109;
110110a[0x1]=0x0
111111;
112−assert((not foi))
112+assert(not foi)
113113foi=false
114114;
115115a["\u{61}\u{31}"]=0x0
116116;
117−assert((not foi))
117+assert(not foi)
118118foi=false
119119;
120120a["\u{61}\u{31}\u{31}"]=0x0
@@ -129,7 +129,7 @@ foi=false
129129;
130130a[0x1]=undef
131131;
132−assert((not foi))
132+assert(not foi)
133133a[0x1]=undef
134134foi=false
135135;
@@ -144,9 +144,9 @@ end
144144t.__call=f
145145do
146146local x,y = a(table.unpack({"\u{61}",0x1}))
147−assert(((((x == a) and (y[0x1] == "\u{61}")) and (y[0x2] == 0x1)) and (y[0x3] == undef)))
147+assert(x == a and y[0x1] == "\u{61}" and y[0x2] == 0x1 and y[0x3] == undef)
148148x,y=a()
149−assert(((x == a) and (y[0x1] == undef)))
149+assert(x == a and y[0x1] == undef)
150150end
151151local b = setmetatable({},t)
152152setmetatable(b,t)
@@ -154,7 +154,7 @@ function f(op)
154154return function (...)
155155cap={[0x0] = op,...}
156156;
157−return ...
157+return (...)
158158end
159159end
160160t.__add=f("\u{61}\u{64}\u{64}")
@@ -176,185 +176,185 @@ t.__lt=f("\u{6c}\u{74}")
176176t.__le=f("\u{6c}\u{65}")
177177local function checkcap
178178(t)
179−assert((# ((cap + 0x1) == (# t))))
180−for i = 0x1, (# t)
179+assert(# cap + 0x1 == # t)
180+for i = 0x1, # t
181181do
182−assert((cap[(i - 0x1)] == t[i]))
183−assert((math.type(cap[(i - 0x1)]) == math.type(t[i])))
182+assert(cap[i - 0x1] == t[i])
183+assert(math.type(cap[i - 0x1]) == math.type(t[i]))
184184end
185185end
186−assert(((b + 0x5) == b))
186+assert(b + 0x5 == b)
187187;
188188checkcap({"\u{61}\u{64}\u{64}",b,0x5})
189−assert(((5.2 + b) == 5.2))
189+assert(5.2 + b == 5.2)
190190;
191191checkcap({"\u{61}\u{64}\u{64}",5.2,b})
192−assert(((b + "\u{35}") == b))
192+assert(b + "\u{35}" == b)
193193;
194194checkcap({"\u{61}\u{64}\u{64}",b,"\u{35}"})
195−assert(((0x5 + b) == 0x5))
195+assert(0x5 + b == 0x5)
196196;
197197checkcap({"\u{61}\u{64}\u{64}",0x5,b})
198−assert((("\u{35}" + b) == "\u{35}"))
198+assert("\u{35}" + b == "\u{35}")
199199;
200200checkcap({"\u{61}\u{64}\u{64}","\u{35}",b})
201−b=(b - 0x3)
201+b=b - 0x3
202202;
203−assert((getmetatable(b) == t))
203+assert(getmetatable(b) == t)
204204;
205205checkcap({"\u{73}\u{75}\u{62}",b,0x3})
206−assert(((0x5 - a) == 0x5))
206+assert(0x5 - a == 0x5)
207207;
208208checkcap({"\u{73}\u{75}\u{62}",0x5,a})
209−assert((("\u{35}" - a) == "\u{35}"))
209+assert("\u{35}" - a == "\u{35}")
210210;
211211checkcap({"\u{73}\u{75}\u{62}","\u{35}",a})
212−assert(((a * a) == a))
212+assert(a * a == a)
213213;
214214checkcap({"\u{6d}\u{75}\u{6c}",a,a})
215−assert(((a / 0x0) == a))
215+assert(a / 0x0 == a)
216216;
217217checkcap({"\u{64}\u{69}\u{76}",a,0x0})
218−assert(((a / 0.0) == a))
218+assert(a / 0.0 == a)
219219;
220220checkcap({"\u{64}\u{69}\u{76}",a,0.0})
221−assert(((a % 0x2) == a))
221+assert(a % 0x2 == a)
222222;
223223checkcap({"\u{6d}\u{6f}\u{64}",a,0x2})
224−assert(((a // (0x1 / 0x0)) == a))
224+assert(a // (0x1 / 0x0) == a)
225225;
226−checkcap({"\u{69}\u{64}\u{69}\u{76}",a,(0x1 / 0x0)})
226+checkcap({"\u{69}\u{64}\u{69}\u{76}",a,0x1 / 0x0})
227227;
228228(function ()
229−assert(((a & "\u{68}\u{69}") == a))
229+assert(a & "\u{68}\u{69}" == a)
230230end)()
231231;
232232checkcap({"\u{62}\u{61}\u{6e}\u{64}",a,"\u{68}\u{69}"})
233233;
234234(function ()
235−assert(((0xa & a) == 0xa))
235+assert(0xa & a == 0xa)
236236end)()
237237;
238238checkcap({"\u{62}\u{61}\u{6e}\u{64}",0xa,a})
239239;
240240(function ()
241−assert(((a | 0xa) == a))
241+assert(a | 0xa == a)
242242end)()
243243;
244244checkcap({"\u{62}\u{6f}\u{72}",a,0xa})
245−assert(((a | "\u{68}\u{69}") == a))
245+assert(a | "\u{68}\u{69}" == a)
246246;
247247checkcap({"\u{62}\u{6f}\u{72}",a,"\u{68}\u{69}"})
248−assert((("\u{68}\u{69}" ~ a) == "\u{68}\u{69}"))
248+assert("\u{68}\u{69}" ~ a == "\u{68}\u{69}")
249249;
250250checkcap({"\u{62}\u{78}\u{6f}\u{72}","\u{68}\u{69}",a})
251251;
252252(function ()
253−assert(((0xa ~ a) == 0xa))
253+assert(0xa ~ a == 0xa)
254254end)()
255255;
256256checkcap({"\u{62}\u{78}\u{6f}\u{72}",0xa,a})
257−assert((- (a == a)))
257+assert(- a == a)
258258;
259259checkcap({"\u{75}\u{6e}\u{6d}",a,a})
260−assert(((a ^ 4.0) == a))
260+assert(a ^ 4.0 == a)
261261;
262262checkcap({"\u{70}\u{6f}\u{77}",a,4.0})
263−assert(((a ^ "\u{34}") == a))
263+assert(a ^ "\u{34}" == a)
264264;
265265checkcap({"\u{70}\u{6f}\u{77}",a,"\u{34}"})
266−assert(((0x4 ^ a) == 0x4))
266+assert(0x4 ^ a == 0x4)
267267;
268268checkcap({"\u{70}\u{6f}\u{77}",0x4,a})
269−assert((("\u{34}" ^ a) == "\u{34}"))
269+assert("\u{34}" ^ a == "\u{34}")
270270;
271271checkcap({"\u{70}\u{6f}\u{77}","\u{34}",a})
272−assert((# (a == a)))
272+assert(# a == a)
273273;
274274checkcap({"\u{6c}\u{65}\u{6e}",a,a})
275−assert((~ (a == a)))
275+assert(~ a == a)
276276;
277277checkcap({"\u{62}\u{6e}\u{6f}\u{74}",a,a})
278−assert(((a << 0x3) == a))
278+assert(a << 0x3 == a)
279279;
280280checkcap({"\u{73}\u{68}\u{6c}",a,0x3})
281−assert(((1.5 >> a) == 1.5))
281+assert(1.5 >> a == 1.5)
282282;
283283checkcap({"\u{73}\u{68}\u{72}",1.5,a})
284−assert((5.0 > a))
284+assert(5.0 > a)
285285;
286286checkcap({"\u{6c}\u{74}",a,5.0})
287−assert((a >= 0xa))
287+assert(a >= 0xa)
288288;
289289checkcap({"\u{6c}\u{65}",0xa,a})
290−assert((a <= (- 10.0)))
290+assert(a <= - 10.0)
291291;
292−checkcap({"\u{6c}\u{65}",a,(- 10.0)})
293−assert((a < (- 0xa)))
292+checkcap({"\u{6c}\u{65}",a,- 10.0})
293+assert(a < - 0xa)
294294;
295−checkcap({"\u{6c}\u{74}",a,(- 0xa)})
295+checkcap({"\u{6c}\u{74}",a,- 0xa})
296296t=setmetatable({0x1,0x2,0x3},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
297297return 0xa
298298end})
299−assert((# ((t == 0xa) and (rawlen(t) == 0x3))))
300−assert((rawlen("\u{61}\u{62}\u{63}") == 0x3))
301−assert((not pcall(rawlen,io.stdin)))
302−assert((not pcall(rawlen,0x22)))
303−assert((not pcall(rawlen)))
304−assert((rawlen(string.rep("\u{61}",0x3e8)) == 0x3e8))
299+assert(# t == 0xa and rawlen(t) == 0x3)
300+assert(rawlen("\u{61}\u{62}\u{63}") == 0x3)
301+assert(not pcall(rawlen,io.stdin))
302+assert(not pcall(rawlen,0x22))
303+assert(not pcall(rawlen))
304+assert(rawlen(string.rep("\u{61}",0x3e8)) == 0x3e8)
305305t={}
306306t.__lt=function (a,b,c)
307307collectgarbage()
308−assert((c == nil))
309−if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
308+assert(c == nil)
309+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
310310a=a.x
311311end
312−if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
312+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
313313b=b.x
314314end
315−return (a < b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
315+return a < b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
316316end
317317t.__le=function (a,b,c)
318−assert((c == nil))
319−if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
318+assert(c == nil)
319+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
320320a=a.x
321321end
322−if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
322+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
323323b=b.x
324324end
325−return (a <= b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
325+return a <= b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
326326end
327327t.__eq=function (a,b,c)
328−assert((c == nil))
329−if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
328+assert(c == nil)
329+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
330330a=a.x
331331end
332−if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
332+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
333333b=b.x
334334end
335−return (a == b),"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
335+return a == b,"\u{64}\u{75}\u{6d}\u{6d}\u{79}"
336336end
337337function Op(x)
338338return setmetatable({["\u{78}"] = x},t)
339339end
340340local function test
341341(a,b,c)
342−assert((not (((Op(0x1) < Op(0x1)) and (Op(0x1) < Op(0x2))) and (not (Op(0x2) < Op(0x1))))))
343−assert((not (((0x1 < Op(0x1)) and (Op(0x1) < 0x2)) and (not (0x2 < Op(0x1))))))
344−assert((not (((Op("\u{61}") < Op("\u{61}")) and (Op("\u{61}") < Op("\u{62}"))) and (not (Op("\u{62}") < Op("\u{61}"))))))
345−assert((not ((("\u{61}" < Op("\u{61}")) and (Op("\u{61}") < "\u{62}")) and (not (Op("\u{62}") < Op("\u{61}"))))))
346−assert((((Op(0x1) <= Op(0x1)) and (Op(0x1) <= Op(0x2))) and (not (Op(0x2) <= Op(0x1)))))
347−assert((((Op("\u{61}") <= Op("\u{61}")) and (Op("\u{61}") <= Op("\u{62}"))) and (not (Op("\u{62}") <= Op("\u{61}")))))
348−assert((not ((Op(0x1) > Op(0x1)) and (not ((Op(0x1) > Op(0x2)) and (Op(0x2) > Op(0x1)))))))
349−assert((not ((Op("\u{61}") > Op("\u{61}")) and (not ((Op("\u{61}") > Op("\u{62}")) and (Op("\u{62}") > Op("\u{61}")))))))
350−assert(((Op(0x1) >= Op(0x1)) and (not ((Op(0x1) >= Op(0x2)) and (Op(0x2) >= Op(0x1))))))
351−assert(((0x1 >= Op(0x1)) and (not ((0x1 >= Op(0x2)) and (Op(0x2) >= 0x1)))))
352−assert(((Op("\u{61}") >= Op("\u{61}")) and (not ((Op("\u{61}") >= Op("\u{62}")) and (Op("\u{62}") >= Op("\u{61}"))))))
353−assert((("\u{61}" >= Op("\u{61}")) and (not ((Op("\u{61}") >= "\u{62}") and (Op("\u{62}") >= Op("\u{61}"))))))
354−assert(((Op(0x1) == Op(0x1)) and (Op(0x1) ~= Op(0x2))))
355−assert(((Op("\u{61}") == Op("\u{61}")) and (Op("\u{61}") ~= Op("\u{62}"))))
356−assert(((a == a) and (a ~= b)))
357−assert((Op(0x3) == c))
342+assert(not (Op(0x1) < Op(0x1)) and (Op(0x1) < Op(0x2)) and not (Op(0x2) < Op(0x1)))
343+assert(not (0x1 < Op(0x1)) and (Op(0x1) < 0x2) and not (0x2 < Op(0x1)))
344+assert(not (Op("\u{61}") < Op("\u{61}")) and (Op("\u{61}") < Op("\u{62}")) and not (Op("\u{62}") < Op("\u{61}")))
345+assert(not ("\u{61}" < Op("\u{61}")) and (Op("\u{61}") < "\u{62}") and not (Op("\u{62}") < Op("\u{61}")))
346+assert((Op(0x1) <= Op(0x1)) and (Op(0x1) <= Op(0x2)) and not (Op(0x2) <= Op(0x1)))
347+assert((Op("\u{61}") <= Op("\u{61}")) and (Op("\u{61}") <= Op("\u{62}")) and not (Op("\u{62}") <= Op("\u{61}")))
348+assert(not (Op(0x1) > Op(0x1)) and not (Op(0x1) > Op(0x2)) and (Op(0x2) > Op(0x1)))
349+assert(not (Op("\u{61}") > Op("\u{61}")) and not (Op("\u{61}") > Op("\u{62}")) and (Op("\u{62}") > Op("\u{61}")))
350+assert((Op(0x1) >= Op(0x1)) and not (Op(0x1) >= Op(0x2)) and (Op(0x2) >= Op(0x1)))
351+assert((0x1 >= Op(0x1)) and not (0x1 >= Op(0x2)) and (Op(0x2) >= 0x1))
352+assert((Op("\u{61}") >= Op("\u{61}")) and not (Op("\u{61}") >= Op("\u{62}")) and (Op("\u{62}") >= Op("\u{61}")))
353+assert(("\u{61}" >= Op("\u{61}")) and not (Op("\u{61}") >= "\u{62}") and (Op("\u{62}") >= Op("\u{61}")))
354+assert(Op(0x1) == Op(0x1) and Op(0x1) ~= Op(0x2))
355+assert(Op("\u{61}") == Op("\u{61}") and Op("\u{61}") ~= Op("\u{62}"))
356+assert(a == a and a ~= b)
357+assert(Op(0x3) == c)
358358end
359359test(Op(0x1),Op(0x2),Op(0x3))
360360local function rawSet
@@ -373,66 +373,66 @@ end
373373t.__lt=function (a,b)
374374for k in pairs(a)
375375do
376−if (not b[k]) then
376+if not b[k] then
377377return false
378378end
379379b[k]=undef
380380end
381−return (next(b) ~= nil)
381+return next(b) ~= nil
382382end
383383t.__le=function (a,b)
384384for k in pairs(a)
385385do
386−if (not b[k]) then
386+if not b[k] then
387387return false
388388end
389389end
390390return true
391391end
392−assert((Set({0x1,0x2,0x3}) < Set({0x1,0x2,0x3,0x4})))
393−assert((not (Set({0x1,0x2,0x3,0x4}) < Set({0x1,0x2,0x3,0x4}))))
392+assert(Set({0x1,0x2,0x3}) < Set({0x1,0x2,0x3,0x4}))
393+assert(not (Set({0x1,0x2,0x3,0x4}) < Set({0x1,0x2,0x3,0x4})))
394394assert((Set({0x1,0x2,0x3,0x4}) <= Set({0x1,0x2,0x3,0x4})))
395395assert((Set({0x1,0x2,0x3,0x4}) >= Set({0x1,0x2,0x3,0x4})))
396−assert((not (Set({0x1,0x3}) <= Set({0x3,0x5}))))
397−assert((not (Set({0x1,0x3}) <= Set({0x3,0x5}))))
398−assert((not (Set({0x1,0x3}) >= Set({0x3,0x5}))))
396+assert(not (Set({0x1,0x3}) <= Set({0x3,0x5})))
397+assert(not (Set({0x1,0x3}) <= Set({0x3,0x5})))
398+assert(not (Set({0x1,0x3}) >= Set({0x3,0x5})))
399399t.__eq=function (a,b)
400400for k in pairs(a)
401401do
402−if (not b[k]) then
402+if not b[k] then
403403return false
404404end
405405b[k]=undef
406406end
407−return (next(b) == nil)
407+return next(b) == nil
408408end
409409local s = Set({0x1,0x3,0x5})
410−assert((s == Set({0x3,0x5,0x1})))
411−assert((not rawequal(s,Set({0x3,0x5,0x1}))))
410+assert(s == Set({0x3,0x5,0x1}))
411+assert(not rawequal(s,Set({0x3,0x5,0x1})))
412412assert(rawequal(s,s))
413−assert((Set({0x1,0x3,0x5,0x1}) == rawSet({0x3,0x5,0x1})))
414−assert((rawSet({0x1,0x3,0x5,0x1}) == Set({0x3,0x5,0x1})))
415−assert((Set({0x1,0x3,0x5}) ~= Set({0x3,0x5,0x1,0x6})))
413+assert(Set({0x1,0x3,0x5,0x1}) == rawSet({0x3,0x5,0x1}))
414+assert(rawSet({0x1,0x3,0x5,0x1}) == Set({0x3,0x5,0x1}))
415+assert(Set({0x1,0x3,0x5}) ~= Set({0x3,0x5,0x1,0x6}))
416416t[Set({0x1,0x3,0x5})]=0x1
417−assert((t[Set({0x1,0x3,0x5})] == undef))
417+assert(t[Set({0x1,0x3,0x5})] == undef)
418418do
419419local mt = {["\u{5f}\u{5f}\u{65}\u{71}"] = true}
420420local a = setmetatable({0xa},mt)
421421local b = setmetatable({0xa},mt)
422422mt.__eq=nil
423−assert((a ~= b))
423+assert(a ~= b)
424424mt.__eq=function (x,y)
425−return (x[0x1] == y[0x1])
425+return x[0x1] == y[0x1]
426426end
427−assert((a == b))
427+assert(a == b)
428428end
429−if (not T) then
429+if not T then
430430(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
431431else
432432local u1 = T.newuserdata(0x0,0x1)
433433local u2 = T.newuserdata(0x0,0x1)
434434local u3 = T.newuserdata(0x0,0x1)
435−assert(((u1 ~= u2) and (u1 ~= u3)))
435+assert(u1 ~= u2 and u1 ~= u3)
436436debug.setuservalue(u1,0x1)
437437;
438438debug.setuservalue(u2,0x2)
@@ -440,15 +440,15 @@ debug.setuservalue(u2,0x2)
440440debug.setuservalue(u3,0x1)
441441;
442442debug.setmetatable(u1,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
443−return (debug.getuservalue(a) == debug.getuservalue(b))
443+return debug.getuservalue(a) == debug.getuservalue(b)
444444end})
445445debug.setmetatable(u2,{["\u{5f}\u{5f}\u{65}\u{71}"] = function (a,b)
446446return true
447447end})
448−assert((((u1 == u3) and (u3 == u1)) and (u1 ~= u2)))
449−assert((((u2 == u1) and (u2 == u3)) and (u3 == u2)))
450−assert((u2 ~= {}))
451−assert((rawequal(u1,u1) and (not rawequal(u1,u3))))
448+assert(u1 == u3 and u3 == u1 and u1 ~= u2)
449+assert(u2 == u1 and u2 == u3 and u3 == u2)
450+assert(u2 ~= {})
451+assert(rawequal(u1,u1) and not rawequal(u1,u3))
452452local mirror = {}
453453debug.setmetatable(u3,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = mirror,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = mirror})
454454for i = 0x1, 0xa
@@ -457,21 +457,21 @@ u3[i]=i
457457end
458458for i = 0x1, 0xa
459459do
460−assert((u3[i] == i))
460+assert(u3[i] == i)
461461end
462462end
463463t.__concat=function (a,b,c)
464−assert((c == nil))
465−if (type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
464+assert(c == nil)
465+if type(a) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
466466a=a.val
467467end
468−if (type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") then
468+if type(b) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" then
469469b=b.val
470470end
471471if A then
472−return (a .. b)
472+return a .. b
473473else
474−return setmetatable({["\u{76}\u{61}\u{6c}"] = (a .. b)},t)
474+return setmetatable({["\u{76}\u{61}\u{6c}"] = a .. b},t)
475475end
476476end
477477c={["\u{76}\u{61}\u{6c}"] = "\u{63}"}
@@ -481,22 +481,22 @@ d={["\u{76}\u{61}\u{6c}"] = "\u{64}"}
481481;
482482setmetatable(d,t)
483483A=true
484−assert(((c .. d) == "\u{63}\u{64}"))
485−assert(((0x0 .. ("\u{61}" .. ("\u{62}" .. (c .. (d .. ("\u{65}" .. ("\u{66}" .. ((0x5 + 0x3) .. "\u{67}")))))))) == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{38}\u{67}"))
484+assert(c .. d == "\u{63}\u{64}")
485+assert(0x0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. (0x5 + 0x3) .. "\u{67}" == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{38}\u{67}")
486486A=false
487−assert(((c .. (d .. (c .. d))).val == "\u{63}\u{64}\u{63}\u{64}"))
488−x=(c .. d)
489−assert(((getmetatable(x) == t) and (x.val == "\u{63}\u{64}")))
490−x=(0x0 .. ("\u{61}" .. ("\u{62}" .. (c .. (d .. ("\u{65}" .. ("\u{66}" .. "\u{67}")))))))
491−assert((x.val == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}"))
487+assert((c .. d .. c .. d).val == "\u{63}\u{64}\u{63}\u{64}")
488+x=c .. d
489+assert(getmetatable(x) == t and x.val == "\u{63}\u{64}")
490+x=0x0 .. "\u{61}" .. "\u{62}" .. c .. d .. "\u{65}" .. "\u{66}" .. "\u{67}"
491+assert(x.val == "\u{30}\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}")
492492c={}
493493local x
494494setmetatable(c,{["\u{5f}\u{5f}\u{63}\u{6f}\u{6e}\u{63}\u{61}\u{74}"] = function (a,b)
495−assert((((type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and (b == c)) or ((type(b) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and (a == c))))
495+assert(type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and b == c or type(b) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and a == c)
496496return c
497497end})
498−assert((((c .. 0x5) == c) and ((0x5 .. c) == c)))
499−assert((((0x4 .. (c .. 0x5)) == c) and ((0x4 .. (0x5 .. (0x6 .. (0x7 .. c)))) == c)))
498+assert(c .. 0x5 == c and 0x5 .. c == c)
499+assert(0x4 .. c .. 0x5 == c and 0x4 .. 0x5 .. 0x6 .. 0x7 .. c == c)
500500local t1,t2,c,d
501501t1={}
502502;
@@ -514,15 +514,15 @@ t1.__le=function ()
514514return false
515515end
516516setmetatable(d,t1)
517−assert((((c == d) and (c < d)) and (not (d <= c))))
517+assert(c == d and c < d and not (d <= c))
518518t2={}
519519t2.__eq=t1.__eq
520520t2.__lt=t1.__lt
521521setmetatable(d,t2)
522−assert((((c == d) and (c < d)) and (not (d <= c))))
522+assert(c == d and c < d and not (d <= c))
523523local i
524524local tt = {["\u{5f}\u{5f}\u{63}\u{61}\u{6c}\u{6c}"] = function (t, ...)
525−i=(i + 0x1)
525+i=i + 0x1
526526if t.f then
527527return t.f(...)
528528else
@@ -534,8 +534,8 @@ local b = setmetatable({["\u{66}"] = a},tt)
534534local c = setmetatable({["\u{66}"] = b},tt)
535535i=0x0
536536x=c(0x3,0x4,0x5)
537−assert((((i == 0x3) and (x[0x1] == 0x3)) and (x[0x3] == 0x5)))
538−assert((_G.X == 0x14))
537+assert(i == 0x3 and x[0x1] == 0x3 and x[0x3] == 0x5)
538+assert(_G.X == 0x14)
539539_G.X,_G.B=nil
540540print("\u{2b}")
541541local _g = _G
@@ -544,39 +544,39 @@ return _g[k]
544544end})
545545a={}
546546rawset(a,"\u{78}",0x1,0x2,0x3)
547−assert(((a.x == 0x1) and (rawget(a,"\u{78}",0x3) == 0x1)))
547+assert(a.x == 0x1 and rawget(a,"\u{78}",0x3) == 0x1)
548548print("\u{2b}")
549549mt={["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (a,b)
550−return (a + b)
550+return a + b
551551end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (x)
552552return math.floor(x)
553553end}
554554debug.setmetatable(0xa,mt)
555−assert((getmetatable((- 0x2)) == mt))
556−assert(((0xa)[0x3] == 0xd))
557−assert(((0xa)["\u{33}"] == 0xd))
558−assert((# (3.45 == 0x3)))
555+assert(getmetatable(- 0x2) == mt)
556+assert((0xa)[0x3] == 0xd)
557+assert((0xa)["\u{33}"] == 0xd)
558+assert(# 3.45 == 0x3)
559559debug.setmetatable(0x17,nil)
560−assert((getmetatable((- 0x2)) == nil))
560+assert(getmetatable(- 0x2) == nil)
561561debug.setmetatable(true,mt)
562−assert((getmetatable(false) == mt))
562+assert(getmetatable(false) == mt)
563563mt.__index=function (a,b)
564−return (a or b)
564+return a or b
565565end
566−assert(((true)[false] == true))
567−assert(((false)[false] == false))
566+assert((true)[false] == true)
567+assert((false)[false] == false)
568568debug.setmetatable(false,nil)
569−assert((getmetatable(true) == nil))
569+assert(getmetatable(true) == nil)
570570debug.setmetatable(nil,mt)
571−assert((getmetatable(nil) == mt))
571+assert(getmetatable(nil) == mt)
572572mt.__add=function (a,b)
573−return ((a or 0x1) + (b or 0x2))
573+return (a or 0x1) + (b or 0x2)
574574end
575−assert(((0xa + nil) == 0xc))
576−assert(((nil + 0x17) == 0x18))
577−assert(((nil + nil) == 0x3))
575+assert(0xa + nil == 0xc)
576+assert(nil + 0x17 == 0x18)
577+assert(nil + nil == 0x3)
578578debug.setmetatable(nil,nil)
579−assert((getmetatable(nil) == nil))
579+assert(getmetatable(nil) == nil)
580580debug.setmetatable(nil,{})
581581a={}
582582;
@@ -585,12 +585,12 @@ setmetatable(a,a)
585585a.__index=a
586586;
587587a.__newindex=a
588−assert((not pcall(function (a,b)
588+assert(not pcall(function (a,b)
589589return a[b]
590−end,a,0xa)))
591−assert((not pcall(function (a,b,c)
590+end,a,0xa))
591+assert(not pcall(function (a,b,c)
592592a[b]=c
593−end,a,0xa,true)))
593+end,a,0xa,true))
594594T,K,V=nil
595595grandparent={}
596596grandparent.__newindex=function (t,k,v)
@@ -605,6 +605,6 @@ parent.__newindex=parent
605605setmetatable(parent,grandparent)
606606child=setmetatable({},parent)
607607child.foo=0xa
608−assert((((T == parent) and (K == "\u{66}\u{6f}\u{6f}")) and (V == 0xa)))
608+assert(T == parent and K == "\u{66}\u{6f}\u{6f}" and V == 0xa)
609609print("\u{4f}\u{4b}")
610610return 0xc
desk/res/lua/cycled/files.lua+259−259
@@ -1,35 +1,35 @@
11local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
22local maxint = math.maxinteger
3−assert((type(os.getenv("\u{50}\u{41}\u{54}\u{48}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
4−assert((io.input(io.stdin) == io.stdin))
5−assert((not pcall(io.input,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}")))
6−assert((io.output(io.stdout) == io.stdout))
3+assert(type(os.getenv("\u{50}\u{41}\u{54}\u{48}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
4+assert(io.input(io.stdin) == io.stdin)
5+assert(not pcall(io.input,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}"))
6+assert(io.output(io.stdout) == io.stdout)
77local function testerr
88(msg,f, ...)
99local stat,err = pcall(f,...)
10−return (not (stat and string.find(err,msg,0x1,true)))
10+return (not stat and string.find(err,msg,0x1,true))
1111end
1212local function checkerr
1313(msg,f, ...)
1414assert(testerr(msg,f,...))
1515end
16−assert((not (io.close(io.stdin) and (not (io.stdout:close() and (not io.stderr:close()))))))
16+assert(not io.close(io.stdin) and not io.stdout:close() and not io.stderr:close())
1717checkerr("\u{67}\u{6f}\u{74}\u{20}\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}",io.stdin.close)
18−assert(((type(io.input()) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}") and (io.type(io.output()) == "\u{66}\u{69}\u{6c}\u{65}")))
19−assert(((type(io.stdin) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}") and (io.type(io.stderr) == "\u{66}\u{69}\u{6c}\u{65}")))
20−assert((not io.type(0x8)))
18+assert(type(io.input()) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and io.type(io.output()) == "\u{66}\u{69}\u{6c}\u{65}")
19+assert(type(io.stdin) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}" and io.type(io.stderr) == "\u{66}\u{69}\u{6c}\u{65}")
20+assert(not io.type(0x8))
2121local a = {}
2222;
2323setmetatable(a,{})
24−assert((not io.type(a)))
25−assert((getmetatable(io.input()).__name == "\u{46}\u{49}\u{4c}\u{45}\u{2a}"))
24+assert(not io.type(a))
25+assert(getmetatable(io.input()).__name == "\u{46}\u{49}\u{4c}\u{45}\u{2a}")
2626local a,b,c = io.open("\u{78}\u{75}\u{78}\u{75}\u{5f}\u{6e}\u{61}\u{6f}\u{5f}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}")
27−assert((not ((a and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
27+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
2828a,b,c=io.open("\u{2f}\u{61}\u{2f}\u{62}\u{2f}\u{63}\u{2f}\u{64}","\u{77}")
29−assert((not ((a and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
29+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
3030local file = os.tmpname()
3131local f,msg = io.open(file,"\u{77}")
32−if (not f) then
32+if not f then
3333(Message or print)("\u{27}\u{6f}\u{73}\u{2e}\u{74}\u{6d}\u{70}\u{6e}\u{61}\u{6d}\u{65}\u{27}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{6f}\u{70}\u{65}\u{6e}\u{3b}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
3434else
3535f:close()
@@ -50,26 +50,26 @@ io.input(io.stdin)
5050io.output(io.stdout)
5151;
5252os.remove(file)
53−assert((not loadfile(file)))
53+assert(not loadfile(file))
5454checkerr("",dofile,file)
55−assert((not io.open(file)))
55+assert(not io.open(file))
5656io.output(file)
57−assert((io.output() ~= io.stdout))
58−if (not _port) then
57+assert(io.output() ~= io.stdout)
58+if not _port then
5959local status,msg,code = io.stdin:seek("\u{73}\u{65}\u{74}",0x3e8)
60−assert((not ((status and (type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(code) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
60+assert(not status and type(msg) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(code) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
6161end
62−assert((io.output():seek() == 0x0))
63−assert((io.write("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"):seek() == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")))
64−assert((io.output():seek("\u{63}\u{75}\u{72}",(- 0x3)) == (string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") - 0x3)))
62+assert(io.output():seek() == 0x0)
63+assert(io.write("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"):seek() == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"))
64+assert(io.output():seek("\u{63}\u{75}\u{72}",- 0x3) == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") - 0x3)
6565assert(io.write("\u{6a}\u{6f}\u{61}\u{6f}"))
66−assert((io.output():seek("\u{65}\u{6e}\u{64}") == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{6a}\u{6f}\u{61}\u{6f}")))
67−assert((io.output():seek("\u{73}\u{65}\u{74}") == 0x0))
66+assert(io.output():seek("\u{65}\u{6e}\u{64}") == string.len("\u{61}\u{6c}\u{6f}\u{20}\u{6a}\u{6f}\u{61}\u{6f}"))
67+assert(io.output():seek("\u{73}\u{65}\u{74}") == 0x0)
6868assert(io.write("\u{22}\u{61}\u{6c}\u{6f}\u{22}","\u{7b}\u{61}\u{7d}\u{a}","\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}","\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{a}"))
6969assert(io.write("\u{58}\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}"))
7070io.output(io.stdout)
7171collectgarbage()
72−assert(((io.input() == io.stdin) and rawequal(io.output(),io.stdout)))
72+assert(io.input() == io.stdin and rawequal(io.output(),io.stdout))
7373print("\u{2b}")
7474collectgarbage()
7575for i = 0x1, 0x78
@@ -85,7 +85,7 @@ end
8585io.input():close()
8686io.close()
8787assert(os.rename(file,otherfile))
88−assert((not os.rename(file,otherfile)))
88+assert(not os.rename(file,otherfile))
8989io.output(io.open(otherfile,"\u{61}\u{62}"))
9090assert(io.write("\u{a}\u{a}\u{9}\u{9}\u{20}\u{20}",0xd7a,"\u{a}"))
9191;
@@ -96,7 +96,7 @@ do
9696local f <close> = assert(io.open(file,"\u{77}"))
9797F=f
9898end
99−assert((tostring(F) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}"))
99+assert(tostring(F) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}")
100100end
101101assert(os.remove(file))
102102do
@@ -105,18 +105,18 @@ f:write(maxint,"\u{a}")
105105f:write(string.format("\u{30}\u{58}\u{25}\u{78}\u{a}",maxint))
106106f:write("\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
107107f:write(0x0,"\u{a}")
108−f:write((- maxint),"\u{a}")
109−f:write(string.format("\u{30}\u{78}\u{25}\u{58}\u{a}",(- maxint)))
108+f:write(- maxint,"\u{a}")
109+f:write(string.format("\u{30}\u{78}\u{25}\u{58}\u{a}",- maxint))
110110f:write("\u{2d}\u{30}\u{78}\u{41}\u{42}\u{43}\u{70}\u{2d}\u{33}","\u{a}")
111111assert(f:close())
112112local f <close> = assert(io.open(file,"\u{72}"))
113−assert((f:read("\u{6e}") == maxint))
114−assert((f:read("\u{6e}") == maxint))
115−assert((f:read("\u{6e}") == 343.5))
116−assert((f:read("\u{6e}") == 0x0))
117−assert((f:read("\u{2a}\u{6e}") == (- maxint)))
118−assert((f:read("\u{6e}") == (- maxint)))
119−assert((f:read("\u{2a}\u{6e}") == (- 343.5)))
113+assert(f:read("\u{6e}") == maxint)
114+assert(f:read("\u{6e}") == maxint)
115+assert(f:read("\u{6e}") == 343.5)
116+assert(f:read("\u{6e}") == 0x0)
117+assert(f:read("\u{2a}\u{6e}") == - maxint)
118+assert(f:read("\u{6e}") == - maxint)
119+assert(f:read("\u{2a}\u{6e}") == - 343.5)
120120end
121121assert(os.remove(file))
122122do
@@ -126,24 +126,24 @@ local l1,l2,l3,l4,n1,n2,c,dummy
126126assert(f:close())
127127local f <close> = assert(io.open(file,"\u{72}"))
128128l1,l2,n1,n2,dummy=f:read("\u{6c}","\u{4c}","\u{6e}","\u{6e}")
129−assert((((((l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}") and (l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}")) and (n1 == 0x4d2)) and (n2 == 3.45)) and (dummy == nil)))
129+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}" and n1 == 0x4d2 and n2 == 3.45 and dummy == nil)
130130assert(f:close())
131131local f <close> = assert(io.open(file,"\u{72}"))
132132l1,l2,n1,n2,c,l3,l4,dummy=f:read(0x7,"\u{6c}","\u{6e}","\u{6e}",0x1,"\u{6c}","\u{6c}")
133−assert(((((((((l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}") and (l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}")) and (c == "\u{a}")) and (n1 == 0x4d2)) and (n2 == 3.45)) and (l3 == "\u{6f}\u{6e}\u{65}")) and (l4 == "\u{74}\u{77}\u{6f}")) and (dummy == nil)))
133+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{a}" and l2 == "\u{61}\u{6e}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and c == "\u{a}" and n1 == 0x4d2 and n2 == 3.45 and l3 == "\u{6f}\u{6e}\u{65}" and l4 == "\u{74}\u{77}\u{6f}" and dummy == nil)
134134assert(f:close())
135135local f <close> = assert(io.open(file,"\u{72}"))
136136l1,n1,n2,dummy=f:read("\u{6c}","\u{6e}","\u{6e}","\u{6c}")
137−assert(((l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}") and (not n1)))
137+assert(l1 == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and not n1)
138138end
139139assert(os.remove(file))
140140f=assert(io.open(file,"\u{77}"))
141141f:write("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{31}\u{30}\u{29}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{2e}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{28}\u{32}\u{30}\u{29}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{79}\u{20}\u{2a}\u{20}\u{7a}\u{a}")
142142assert(f:close())
143143f=coroutine.wrap(dofile)
144−assert((f(file) == 0xa))
145−assert((f(0x64,0x65) == 0x14))
146−assert((f(0xc8) == (0x64 + (0xc8 * 0x65))))
144+assert(f(file) == 0xa)
145+assert(f(0x64,0x65) == 0x14)
146+assert(f(0xc8) == 0x64 + 0xc8 * 0x65)
147147assert(os.remove(file))
148148f=assert(io.open(file,"\u{77}"))
149149f:write("\u{2d}\u{31}\u{32}\u{2e}\u{33}\u{2d}\u{9}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{2b}\u{20}\u{20}\u{2e}\u{33}\u{7c}\u{35}\u{2e}\u{45}\u{2d}\u{33}\u{58}\u{20}\u{20}\u{2b}\u{32}\u{33}\u{34}\u{65}\u{2b}\u{31}\u{33}\u{45}\u{20}\u{30}\u{78}\u{44}\u{45}\u{41}\u{44}\u{42}\u{45}\u{45}\u{46}\u{44}\u{45}\u{41}\u{44}\u{42}\u{45}\u{45}\u{46}\u{78}\u{a}\u{30}\u{78}\u{31}\u{2e}\u{31}\u{33}\u{41}\u{70}\u{2b}\u{33}\u{65}\u{a}")
@@ -158,62 +158,62 @@ f:write("\u{a}")
158158f:write("\u{2e}\u{65}\u{2b}\u{9}\u{30}\u{2e}\u{65}\u{3b}\u{9}\u{2d}\u{2d}\u{3b}\u{20}\u{20}\u{30}\u{78}\u{58}\u{3b}\u{a}")
159159assert(f:close())
160160f=assert(io.open(file,"\u{72}"))
161−assert((f:read("\u{6e}") == (- 12.3)))
161+assert(f:read("\u{6e}") == - 12.3)
162162;
163−assert((f:read(0x1) == "\u{2d}"))
164−assert((f:read("\u{6e}") == (- 0xffff)))
163+assert(f:read(0x1) == "\u{2d}")
164+assert(f:read("\u{6e}") == - 0xffff)
165165;
166−assert((f:read(0x2) == "\u{2b}\u{20}"))
167−assert((f:read("\u{6e}") == 0.3))
166+assert(f:read(0x2) == "\u{2b}\u{20}")
167+assert(f:read("\u{6e}") == 0.3)
168168;
169−assert((f:read(0x1) == "\u{7c}"))
170−assert((f:read("\u{6e}") == 5e-3))
169+assert(f:read(0x1) == "\u{7c}")
170+assert(f:read("\u{6e}") == 5e-3)
171171;
172−assert((f:read(0x1) == "\u{58}"))
173−assert((f:read("\u{6e}") == 2.34e15))
172+assert(f:read(0x1) == "\u{58}")
173+assert(f:read("\u{6e}") == 2.34e15)
174174;
175−assert((f:read(0x1) == "\u{45}"))
176−assert((f:read("\u{6e}") == 0xdeadbeefdeadbeef))
175+assert(f:read(0x1) == "\u{45}")
176+assert(f:read("\u{6e}") == 0xdeadbeefdeadbeef)
177177;
178−assert((f:read(0x2) == "\u{78}\u{a}"))
179−assert((f:read("\u{6e}") == 8.61328125))
178+assert(f:read(0x2) == "\u{78}\u{a}")
179+assert(f:read("\u{6e}") == 8.61328125)
180180;
181−assert((f:read(0x1) == "\u{65}"))
181+assert(f:read(0x1) == "\u{65}")
182182do
183−assert((not f:read("\u{6e}")))
183+assert(not f:read("\u{6e}"))
184184local s = f:read("\u{4c}")
185185assert(string.find(s,"\u{5e}\u{30}\u{30}\u{2a}\u{a}\u{24}"))
186186end
187−assert((not f:read("\u{6e}")))
187+assert(not f:read("\u{6e}"))
188188;
189−assert((f:read(0x2) == "\u{65}\u{2b}"))
190−assert((not f:read("\u{6e}")))
189+assert(f:read(0x2) == "\u{65}\u{2b}")
190+assert(not f:read("\u{6e}"))
191191;
192−assert((f:read(0x1) == "\u{3b}"))
193−assert((not f:read("\u{6e}")))
192+assert(f:read(0x1) == "\u{3b}")
193+assert(not f:read("\u{6e}"))
194194;
195−assert((f:read(0x2) == "\u{2d}\u{3b}"))
196−assert((not f:read("\u{6e}")))
195+assert(f:read(0x2) == "\u{2d}\u{3b}")
196+assert(not f:read("\u{6e}"))
197197;
198−assert((f:read(0x1) == "\u{58}"))
199−assert((not f:read("\u{6e}")))
198+assert(f:read(0x1) == "\u{58}")
199+assert(not f:read("\u{6e}"))
200200;
201−assert((f:read(0x1) == "\u{3b}"))
202−assert((not f:read("\u{6e}")))
201+assert(f:read(0x1) == "\u{3b}")
202+assert(not f:read("\u{6e}"))
203203;
204−assert((not f:read(0x0)))
204+assert(not f:read(0x0))
205205assert(f:close())
206206assert(os.remove(file))
207−assert((not pcall(io.lines,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}")))
207+assert(not pcall(io.lines,"\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{78}\u{69}\u{73}\u{74}\u{65}\u{6e}\u{74}\u{2d}\u{66}\u{69}\u{6c}\u{65}"))
208208assert(os.rename(otherfile,file))
209209io.output(otherfile)
210210local n = 0x0
211211local f = io.lines(file)
212212while f() do
213−n=(n + 0x1)
213+n=n + 0x1
214214end
215215;
216−assert((n == 0x6))
216+assert(n == 0x6)
217217checkerr("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",f)
218218checkerr("\u{66}\u{69}\u{6c}\u{65}\u{20}\u{69}\u{73}\u{20}\u{61}\u{6c}\u{72}\u{65}\u{61}\u{64}\u{79}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}",f)
219219n=0x0
@@ -221,42 +221,42 @@ for l in io.lines(file)
221221do
222222io.write(l,"\u{a}")
223223;
224−n=(n + 0x1)
224+n=n + 0x1
225225end
226226io.close()
227−assert((n == 0x6))
227+assert(n == 0x6)
228228local f = assert(io.open(otherfile))
229−assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
229+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
230230io.output(file)
231−assert((not io.output():read()))
231+assert(not io.output():read())
232232n=0x0
233233for l in f:lines()
234234do
235235io.write(l,"\u{a}")
236236;
237−n=(n + 0x1)
237+n=n + 0x1
238238end
239−assert((tostring(f):sub(0x1,0x5) == "\u{66}\u{69}\u{6c}\u{65}\u{20}"))
239+assert(tostring(f):sub(0x1,0x5) == "\u{66}\u{69}\u{6c}\u{65}\u{20}")
240240assert(f:close())
241241;
242242io.close()
243−assert((n == 0x6))
243+assert(n == 0x6)
244244checkerr("\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}",io.close,f)
245−assert((tostring(f) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}"))
246−assert((io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}"))
245+assert(tostring(f) == "\u{66}\u{69}\u{6c}\u{65}\u{20}\u{28}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{29}")
246+assert(io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
247247io.input(file)
248248f=io.open(otherfile):lines()
249249n=0x0
250250for l in io.lines()
251251do
252−assert((l == f()))
252+assert(l == f())
253253;
254−n=(n + 0x1)
254+n=n + 0x1
255255end
256256f=nil
257257;
258258collectgarbage()
259−assert((n == 0x6))
259+assert(n == 0x6)
260260assert(os.remove(otherfile))
261261do
262262io.output(otherfile)
@@ -269,8 +269,8 @@ do
269269t[i]=0x1
270270end
271271t={io.lines(otherfile,table.unpack(t))()}
272−assert((# (((t == 0xfa) and (t[0x1] == "\u{61}")) and (t[(# t)] == "\u{61}"))))
273−t[(# (t + 0x1))]=0x1
272+assert(# t == 0xfa and t[0x1] == "\u{61}" and t[# t] == "\u{61}")
273+t[# t + 0x1]=0x1
274274checkerr("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{73}",io.lines,otherfile,table.unpack(t))
275275collectgarbage()
276276assert(os.remove(otherfile))
@@ -278,34 +278,34 @@ end
278278io.input(file)
279279do
280280local a,b,c = io.input():write("\u{78}\u{75}\u{78}\u{75}")
281−assert((not ((a and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
281+assert(not a and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
282282end
283283checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",io.read,"\u{78}")
284−assert((io.read(0x0) == ""))
285−assert((io.read(0x5,"\u{6c}") == "\u{22}\u{61}\u{6c}\u{6f}\u{22}"))
286−assert((io.read(0x0) == ""))
287−assert((io.read() == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}"))
284+assert(io.read(0x0) == "")
285+assert(io.read(0x5,"\u{6c}") == "\u{22}\u{61}\u{6c}\u{6f}\u{22}")
286+assert(io.read(0x0) == "")
287+assert(io.read() == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
288288local x = io.input():seek()
289−assert((io.read() == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}"))
289+assert(io.read() == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}")
290290assert(io.input():seek("\u{73}\u{65}\u{74}",x))
291−assert((io.read("\u{4c}") == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{a}"))
292−assert((io.read(0x1) == "\u{58}"))
293−assert((io.read(string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")) == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}"))
294−assert(io.input():seek("\u{63}\u{75}\u{72}",(- string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}"))))
295−assert((io.read() == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}"))
296−assert((io.read() == ""))
297−assert((io.read("\u{6e}") == 0xd7a))
298−assert((io.read(0x1) == "\u{a}"))
299−assert((not io.read(0x0)))
300−assert((not io.read(0x1)))
301−assert((not io.read(0x7530)))
302−assert((({io.read(0x1)})[0x2] == undef))
303−assert((not io.read()))
304−assert((({io.read()})[0x2] == undef))
305−assert((not io.read("\u{6e}")))
306−assert((({io.read("\u{6e}")})[0x2] == undef))
307−assert((io.read("\u{61}") == ""))
308−assert((io.read("\u{61}") == ""))
291+assert(io.read("\u{4c}") == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{a}")
292+assert(io.read(0x1) == "\u{58}")
293+assert(io.read(string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")) == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")
294+assert(io.input():seek("\u{63}\u{75}\u{72}",- string.len("\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")))
295+assert(io.read() == "\u{66}\u{6f}\u{75}\u{72}\u{74}\u{68}\u{5f}\u{6c}\u{69}\u{6e}\u{65}")
296+assert(io.read() == "")
297+assert(io.read("\u{6e}") == 0xd7a)
298+assert(io.read(0x1) == "\u{a}")
299+assert(not io.read(0x0))
300+assert(not io.read(0x1))
301+assert(not io.read(0x7530))
302+assert(({io.read(0x1)})[0x2] == undef)
303+assert(not io.read())
304+assert(({io.read()})[0x2] == undef)
305+assert(not io.read("\u{6e}"))
306+assert(({io.read("\u{6e}")})[0x2] == undef)
307+assert(io.read("\u{61}") == "")
308+assert(io.read("\u{61}") == "")
309309collectgarbage()
310310print("\u{2b}")
311311io.close(io.input())
@@ -314,10 +314,10 @@ assert(os.remove(file))
314314local t = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
315315for i = 0x1, 0xa
316316do
317−t=(t .. t)
317+t=t .. t
318318;
319319end
320−assert((string.len(t) == (0xa * (0x2 ^ 0xa))))
320+assert(string.len(t) == 0xa * 0x2 ^ 0xa)
321321io.output(file)
322322io.write("\u{61}\u{6c}\u{6f}"):write("\u{a}")
323323io.close()
@@ -325,7 +325,7 @@ checkerr("\u{20}\u{6f}\u{75}\u{74}\u{70}\u{75}\u{74}\u{20}\u{66}\u{69}\u{6c}\u{6
325325local f = io.open(file,"\u{61}\u{2b}\u{62}")
326326io.output(f)
327327collectgarbage()
328−assert(io.write(("\u{20}" .. (t .. "\u{20}"))))
328+assert(io.write("\u{20}" .. t .. "\u{20}"))
329329assert(io.write("\u{3b}","\u{65}\u{6e}\u{64}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}"))
330330f:flush()
331331;
@@ -333,30 +333,30 @@ io.flush()
333333f:close()
334334print("\u{2b}")
335335io.input(file)
336−assert((io.read() == "\u{61}\u{6c}\u{6f}"))
337−assert((io.read(0x1) == "\u{20}"))
338−assert((io.read(string.len(t)) == t))
339−assert((io.read(0x1) == "\u{20}"))
336+assert(io.read() == "\u{61}\u{6c}\u{6f}")
337+assert(io.read(0x1) == "\u{20}")
338+assert(io.read(string.len(t)) == t)
339+assert(io.read(0x1) == "\u{20}")
340340assert(io.read(0x0))
341−assert((io.read("\u{61}") == "\u{3b}\u{65}\u{6e}\u{64}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}"))
342−assert((not io.read(0x0)))
341+assert(io.read("\u{61}") == "\u{3b}\u{65}\u{6e}\u{64}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}")
342+assert(not io.read(0x0))
343343assert(io.close(io.input()))
344344do
345345local function ismsg
346346(m)
347−return ((type(m) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (not tonumber(m)))
347+return (type(m) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and not tonumber(m))
348348end
349349local f = io.open(file,"\u{77}")
350350local r,m,c = f:read()
351−assert((not ((r and ismsg(m)) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
351+assert(not r and ismsg(m) and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
352352assert(f:close())
353353f=io.open(file,"\u{72}")
354354r,m,c=f:write("\u{77}\u{68}\u{61}\u{74}\u{65}\u{76}\u{65}\u{72}")
355−assert((not ((r and ismsg(m)) and (type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}"))))
355+assert(not r and ismsg(m) and type(c) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
356356assert(f:close())
357357f=io.open(file,"\u{77}")
358358r,m=pcall(f:lines())
359−assert(((r == false) and ismsg(m)))
359+assert(r == false and ismsg(m))
360360assert(f:close())
361361end
362362assert(os.remove(file))
@@ -364,57 +364,57 @@ io.output(file)
364364;
365365io.write("\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}"):close()
366366io.input(file)
367−assert((io.read("\u{4c}") == "\u{a}"))
368−assert((io.read("\u{4c}") == "\u{a}"))
369−assert((io.read("\u{4c}") == "\u{6c}\u{69}\u{6e}\u{65}\u{a}"))
370−assert((io.read("\u{4c}") == "\u{6f}\u{74}\u{68}\u{65}\u{72}"))
371−assert((not io.read("\u{4c}")))
367+assert(io.read("\u{4c}") == "\u{a}")
368+assert(io.read("\u{4c}") == "\u{a}")
369+assert(io.read("\u{4c}") == "\u{6c}\u{69}\u{6e}\u{65}\u{a}")
370+assert(io.read("\u{4c}") == "\u{6f}\u{74}\u{68}\u{65}\u{72}")
371+assert(not io.read("\u{4c}"))
372372io.input():close()
373373local f = assert(io.open(file))
374374local s = ""
375375for l in f:lines("\u{4c}")
376376do
377−s=(s .. l)
377+s=s .. l
378378end
379−assert((s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}"))
379+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
380380f:close()
381381io.input(file)
382382s=""
383383for l in io.lines(nil,"\u{4c}")
384384do
385−s=(s .. l)
385+s=s .. l
386386end
387−assert((s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}"))
387+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
388388io.input():close()
389389s=""
390390for l in io.lines(file,"\u{4c}")
391391do
392−s=(s .. l)
392+s=s .. l
393393end
394−assert((s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}"))
394+assert(s == "\u{a}\u{a}\u{6c}\u{69}\u{6e}\u{65}\u{a}\u{6f}\u{74}\u{68}\u{65}\u{72}")
395395s=""
396396for l in io.lines(file,"\u{6c}")
397397do
398−s=(s .. l)
398+s=s .. l
399399end
400−assert((s == "\u{6c}\u{69}\u{6e}\u{65}\u{6f}\u{74}\u{68}\u{65}\u{72}"))
400+assert(s == "\u{6c}\u{69}\u{6e}\u{65}\u{6f}\u{74}\u{68}\u{65}\u{72}")
401401io.output(file)
402402;
403403io.write("\u{61}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{20}\u{2b}\u{20}\u{33}\u{34}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{2a}\u{61}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{2d}\u{61}\u{a}"):close()
404404local t = {}
405405assert(load(io.lines(file,"\u{4c}"),nil,nil,t))()
406−assert((t.a == (- ((0xa + 0x22) * 0x2))))
406+assert(t.a == - ((0xa + 0x22) * 0x2))
407407do
408408local function gettoclose
409409(lv)
410−lv=(lv + 0x1)
410+lv=lv + 0x1
411411local stvar = 0x0
412412for i = 0x1, 0x3e8
413413do
414414local n,v = debug.getlocal(lv,i)
415−if (n == "\u{28}\u{66}\u{6f}\u{72}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{29}") then
416−stvar=(stvar + 0x1)
417−if (stvar == 0x4) then
415+if n == "\u{28}\u{66}\u{6f}\u{72}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{29}" then
416+stvar=stvar + 0x1
417+if stvar == 0x4 then
418418return v
419419end
420420end
@@ -424,44 +424,44 @@ local f
424424for l in io.lines(file)
425425do
426426f=gettoclose(0x1)
427−assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
427+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
428428break
429429end
430−assert((io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}"))
430+assert(io.type(f) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
431431f=nil
432432local function foo
433433(name)
434434for l in io.lines(name)
435435do
436436f=gettoclose(0x1)
437−assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
437+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
438438error(f)
439439end
440440end
441441local st,msg = pcall(foo,file)
442−assert(((st == false) and (io.type(msg) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")))
442+assert(st == false and io.type(msg) == "\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{66}\u{69}\u{6c}\u{65}")
443443end
444444io.output(file)
445445;
446446io.write("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}"):close()
447447for a,b in io.lines(file,0x1,0x1)
448448do
449−if (a == "\u{a}") then
450−assert((not b))
449+if a == "\u{a}" then
450+assert(not b)
451451else
452−assert((tonumber(a) == (tonumber(b) - 0x1)))
452+assert(tonumber(a) == tonumber(b) - 0x1)
453453end
454454end
455455for a,b,c in io.lines(file,0x1,0x2,"\u{61}")
456456do
457−assert((((a == "\u{30}") and (b == "\u{31}\u{32}")) and (c == "\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}")))
457+assert(a == "\u{30}" and b == "\u{31}\u{32}" and c == "\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}")
458458end
459459for a,b,c in io.lines(file,"\u{61}",0x0,0x1)
460460do
461−if (a == "") then
461+if a == "" then
462462break
463463end
464−assert(((a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}") and (not (b and (not c)))))
464+assert(a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}" and not b and not c)
465465end
466466collectgarbage()
467467io.output(file)
@@ -469,24 +469,24 @@ io.output(file)
469469io.write("\u{30}\u{30}\u{a}\u{31}\u{30}\u{a}\u{32}\u{30}\u{a}\u{33}\u{30}\u{a}\u{34}\u{30}\u{a}"):close()
470470for a,b in io.lines(file,"\u{6e}","\u{6e}")
471471do
472−if (a == 0x28) then
473−assert((not b))
472+if a == 0x28 then
473+assert(not b)
474474else
475−assert((a == (b - 0xa)))
475+assert(a == b - 0xa)
476476end
477477end
478478io.output(file)
479479;
480480io.write("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{79}\u{a}\u{3d}\u{20}\u{58}\u{a}\u{58}\u{20}\u{3d}\u{a}\u{58}\u{20}\u{2a}\u{a}\u{32}\u{20}\u{2b}\u{a}\u{58}\u{3b}\u{a}\u{58}\u{20}\u{3d}\u{a}\u{58}\u{a}\u{2d}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{79}\u{3b}\u{a}"):close()
481481_G.X=0x1
482−assert((not load(io.lines(file))))
482+assert(not load((io.lines(file))))
483483collectgarbage()
484−load(io.lines(file,"\u{4c}"))()
485−assert((_G.X == 0x2))
486−load(io.lines(file,0x1))()
487−assert((_G.X == 0x4))
488−load(io.lines(file,0x3))()
489−assert((_G.X == 0x8))
484+load((io.lines(file,"\u{4c}")))()
485+assert(_G.X == 0x2)
486+load((io.lines(file,0x1)))()
487+assert(_G.X == 0x4)
488+load((io.lines(file,0x3)))()
489+assert(_G.X == 0x8)
490490_G.X=nil
491491print("\u{2b}")
492492local x1 = "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{a}\u{a}\u{5c}\u{63}\u{6f}\u{6d}\u{20}\u{22}\u{22}\u{27}\u{27}\u{63}\u{6f}\u{69}\u{73}\u{61}\u{73}\u{20}\u{5b}\u{5b}\u{65}\u{73}\u{74}\u{72}\u{61}\u{6e}\u{68}\u{61}\u{73}\u{5d}\u{5d}\u{20}\u{5d}\u{5d}\u{27}"
@@ -494,12 +494,12 @@ io.output(file)
494494assert(io.write(string.format("\u{58}\u{32}\u{20}\u{3d}\u{20}\u{25}\u{71}\u{a}\u{2d}\u{2d}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{45}\u{4f}\u{53}",x1)))
495495io.close()
496496assert(loadfile(file))()
497−assert((x1 == _G.X2))
497+assert(x1 == _G.X2)
498498_G.X2=nil
499499print("\u{2b}")
500500assert(os.remove(file))
501−assert((not os.remove(file)))
502−assert((not os.remove(otherfile)))
501+assert(not os.remove(file))
502+assert(not os.remove(otherfile))
503503local function testloadfile
504504(s,expres)
505505io.output(file)
@@ -509,7 +509,7 @@ end
509509io.close()
510510local res = assert(loadfile(file))()
511511assert(os.remove(file))
512−assert((res == expres))
512+assert(res == expres)
513513end
514514testloadfile(nil,nil)
515515testloadfile("\u{23}\u{20}\u{61}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}",nil)
@@ -523,7 +523,7 @@ return 0xa,"\u{0}\u{61}\u{6c}\u{6f}\u{ff}","\u{68}\u{69}"
523523end)))
524524io.close()
525525a,b,c=assert(loadfile(file))()
526−assert((((a == 0xa) and (b == "\u{0}\u{61}\u{6c}\u{6f}\u{ff}")) and (c == "\u{68}\u{69}")))
526+assert(a == 0xa and b == "\u{0}\u{61}\u{6c}\u{6f}\u{ff}" and c == "\u{68}\u{69}")
527527assert(os.remove(file))
528528do
529529io.output(io.open(file,"\u{77}\u{62}"))
@@ -532,7 +532,7 @@ return 0x1
532532end)))
533533io.close()
534534f=assert(loadfile(file,"\u{62}",{}))
535−assert(((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (f() == 0x1)))
535+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and f() == 0x1)
536536assert(os.remove(file))
537537end
538538io.output(io.open(file,"\u{77}\u{62}"))
@@ -541,7 +541,7 @@ return 0x14,"\u{0}\u{0}\u{0}"
541541end)))
542542io.close()
543543a,b,c=assert(loadfile(file))()
544−assert((((a == 0x14) and (b == "\u{0}\u{0}\u{0}")) and (c == nil)))
544+assert(a == 0x14 and b == "\u{0}\u{0}\u{0}" and c == nil)
545545assert(os.remove(file))
546546do
547547local f = io.open(file,"\u{77}")
@@ -550,21 +550,21 @@ f:close()
550550local t = {["\u{62}"] = 0xc,["\u{63}"] = "\u{78}\u{75}\u{78}\u{75}",["\u{64}"] = print}
551551local f = assert(loadfile(file,"\u{74}",t))
552552local b,c,d = f(0x1)
553−assert(((((t.a == 0xf) and (b == 0xc)) and (c == t.c)) and (d == print)))
554−assert((f() == t))
553+assert(t.a == 0xf and b == 0xc and c == t.c and d == print)
554+assert(f() == t)
555555f=assert(loadfile(file,"\u{74}",nil))
556−assert((f() == nil))
556+assert(f() == nil)
557557f=assert(loadfile(file))
558−assert((f() == _G))
558+assert(f() == _G)
559559assert(os.remove(file))
560560end
561561do
562562io.open(file,"\u{77}"):write("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
563563local s,m = loadfile(file,"\u{62}")
564−assert((not (s and string.find(m,"\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))))
564+assert(not s and string.find(m,"\u{61}\u{20}\u{74}\u{65}\u{78}\u{74}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
565565io.open(file,"\u{77}"):write("\u{1b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}"):close()
566566local s,m = loadfile(file,"\u{74}")
567−assert((not (s and string.find(m,"\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))))
567+assert(not s and string.find(m,"\u{61}\u{20}\u{62}\u{69}\u{6e}\u{61}\u{72}\u{79}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}"))
568568assert(os.remove(file))
569569end
570570io.output(file)
@@ -574,23 +574,23 @@ io.close()
574574assert(io.output(assert(io.open(otherfile,"\u{77}\u{62}"))):write("\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}\u{0}\u{1}\u{3}\u{0}\u{0}\u{0}\u{0}\u{ff}\u{0}"):close())
575575local filehandle = assert(io.open(file,"\u{72}\u{2b}"))
576576local otherfilehandle = assert(io.open(otherfile,"\u{72}\u{62}"))
577−assert((filehandle ~= otherfilehandle))
578−assert((type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"))
579−assert((filehandle:read("\u{6c}") == "\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}"))
577+assert(filehandle ~= otherfilehandle)
578+assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
579+assert(filehandle:read("\u{6c}") == "\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
580580io.input(otherfilehandle)
581−assert((io.read(string.len("\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")) == "\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}"))
582−assert((filehandle:read("\u{6c}") == "\u{6d}\u{61}\u{69}\u{73}\u{20}\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}"))
581+assert(io.read(string.len("\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")) == "\u{6f}\u{75}\u{74}\u{72}\u{61}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
582+assert(filehandle:read("\u{6c}") == "\u{6d}\u{61}\u{69}\u{73}\u{20}\u{71}\u{75}\u{61}\u{6c}\u{71}\u{75}\u{65}\u{72}\u{20}\u{63}\u{6f}\u{69}\u{73}\u{61}")
583583filehandle:close()
584584;
585−assert((type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}"))
585+assert(type(filehandle) == "\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}")
586586io.input(otherfilehandle)
587−assert((io.read(0x4) == "\u{0}\u{1}\u{3}\u{0}"))
588−assert((io.read(0x3) == "\u{0}\u{0}\u{0}"))
589−assert((io.read(0x0) == ""))
590−assert((io.read(0x1) == "\u{ff}"))
591−assert((io.read("\u{61}") == "\u{0}"))
592−assert((not io.read(0x0)))
593−assert((otherfilehandle == io.input()))
587+assert(io.read(0x4) == "\u{0}\u{1}\u{3}\u{0}")
588+assert(io.read(0x3) == "\u{0}\u{0}\u{0}")
589+assert(io.read(0x0) == "")
590+assert(io.read(0x1) == "\u{ff}")
591+assert(io.read("\u{61}") == "\u{0}")
592+assert(not io.read(0x0))
593+assert(otherfilehandle == io.input())
594594otherfilehandle:close()
595595assert(os.remove(file))
596596assert(os.remove(otherfile))
@@ -599,10 +599,10 @@ io.output(file):write("\u{20}\u{31}\u{32}\u{33}\u{2e}\u{34}\u{9}\u{2d}\u{35}\u{3
599599io.input(file)
600600local _,a,b,c,d,e,h,__ = io.read(0x1,"\u{6e}","\u{6e}","\u{6c}","\u{6c}","\u{6c}","\u{61}",0xa)
601601assert(io.close(io.input()))
602−assert(((_ == "\u{20}") and (not __)))
603−assert((((type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and (a == 123.4)) and (b == (- 0.56))))
604−assert(((d == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}") and (e == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}")))
605−assert((h == "\u{a}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{72}\u{65}\u{73}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}"))
602+assert(_ == "\u{20}" and not __)
603+assert(type(a) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" and a == 123.4 and b == - 0.56)
604+assert(d == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}" and e == "\u{74}\u{68}\u{69}\u{72}\u{64}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
605+assert(h == "\u{a}\u{61}\u{6e}\u{64}\u{20}\u{74}\u{68}\u{65}\u{20}\u{72}\u{65}\u{73}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{74}\u{68}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{a}")
606606assert(os.remove(file))
607607collectgarbage()
608608do
@@ -610,29 +610,29 @@ local f = assert(io.open(file,"\u{77}"))
610610local fr = assert(io.open(file,"\u{72}"))
611611assert(f:setvbuf("\u{66}\u{75}\u{6c}\u{6c}",0x7d0))
612612f:write("\u{78}")
613−assert((fr:read("\u{61}\u{6c}\u{6c}") == ""))
613+assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
614614f:close()
615615fr:seek("\u{73}\u{65}\u{74}")
616−assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}"))
616+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
617617f=assert(io.open(file),"\u{77}")
618618assert(f:setvbuf("\u{6e}\u{6f}"))
619619f:write("\u{78}")
620620fr:seek("\u{73}\u{65}\u{74}")
621−assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}"))
621+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}")
622622f:close()
623623f=assert(io.open(file,"\u{61}"))
624624assert(f:setvbuf("\u{6c}\u{69}\u{6e}\u{65}"))
625625f:write("\u{78}")
626626fr:seek("\u{73}\u{65}\u{74}",0x1)
627−assert((fr:read("\u{61}\u{6c}\u{6c}") == ""))
627+assert(fr:read("\u{61}\u{6c}\u{6c}") == "")
628628f:write("\u{61}\u{a}"):seek("\u{73}\u{65}\u{74}",0x1)
629−assert((fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}\u{61}\u{a}"))
629+assert(fr:read("\u{61}\u{6c}\u{6c}") == "\u{78}\u{61}\u{a}")
630630f:close()
631631;
632632fr:close()
633633assert(os.remove(file))
634634end
635−if (not _soft) then
635+if not _soft then
636636print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}\u{20}\u{66}\u{69}\u{6c}\u{65}\u{73}\u{20}\u{28}\u{3e}\u{20}\u{42}\u{55}\u{46}\u{53}\u{49}\u{5a}\u{29}")
637637io.output(file)
638638for i = 0x1, 0x1389
@@ -643,27 +643,27 @@ io.write("\u{a}\u{31}\u{32}\u{33}\u{34}\u{36}"):close()
643643io.input(file)
644644local x = io.read("\u{61}")
645645io.input():seek("\u{73}\u{65}\u{74}",0x0)
646−local y = (io.read(0x7531) .. (io.read(0x3ed) .. (io.read(0x0) .. (io.read(0x1) .. io.read(0x186a3)))))
647−assert(((x == y) and (string.len(x) == ((0x1389 * 0xd) + 0x6))))
646+local y = io.read(0x7531) .. io.read(0x3ed) .. io.read(0x0) .. io.read(0x1) .. io.read(0x186a3)
647+assert(x == y and string.len(x) == 0x1389 * 0xd + 0x6)
648648io.input():seek("\u{73}\u{65}\u{74}",0x0)
649649y=io.read()
650−assert((x == (y .. ("\u{a}" .. io.read()))))
651−assert((not io.read()))
650+assert(x == y .. "\u{a}" .. io.read())
651+assert(not io.read())
652652io.close(io.input())
653653assert(os.remove(file))
654654x=nil
655655;
656656y=nil
657657end
658−if (not _port) then
658+if not _port then
659659local progname
660660do
661−local arg = (arg or ARG)
661+local arg = arg or ARG
662662local i = 0x0
663663while arg[i] do
664−i=(i - 0x1)
664+i=i - 0x1
665665end
666−progname=("\u{22}" .. (arg[(i + 0x1)] .. "\u{22}"))
666+progname="\u{22}" .. arg[i + 0x1] .. "\u{22}"
667667end
668668print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{6f}\u{70}\u{65}\u{6e}\u{2f}\u{70}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{65}\u{78}\u{65}\u{63}\u{75}\u{74}\u{65}")
669669checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.popen,"\u{63}\u{61}\u{74}","")
@@ -671,56 +671,56 @@ checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{6
671671checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6d}\u{6f}\u{64}\u{65}",io.popen,"\u{63}\u{61}\u{74}","\u{72}\u{77}")
672672do
673673local file = os.tmpname()
674−local f = assert(io.popen(("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3e}\u{20}" .. file),"\u{77}"))
674+local f = assert(io.popen("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3e}\u{20}" .. file,"\u{77}"))
675675f:write("\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
676676assert(f:close())
677−local f = assert(io.popen(("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3c}\u{20}" .. file),"\u{72}"))
678−assert((f:read("\u{61}") == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}"))
677+local f = assert(io.popen("\u{63}\u{61}\u{74}\u{20}\u{2d}\u{20}\u{3c}\u{20}" .. file,"\u{72}"))
678+assert(f:read("\u{61}") == "\u{61}\u{20}\u{6c}\u{69}\u{6e}\u{65}")
679679assert(f:close())
680680assert(os.remove(file))
681681end
682−local tests = {{"\u{6c}\u{73}\u{20}\u{3e}\u{20}\u{2f}\u{64}\u{65}\u{76}\u{2f}\u{6e}\u{75}\u{6c}\u{6c}","\u{6f}\u{6b}"},{"\u{6e}\u{6f}\u{74}\u{2d}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{66}\u{6f}\u{75}\u{6e}\u{64}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}","\u{65}\u{78}\u{69}\u{74}"},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{33}","\u{65}\u{78}\u{69}\u{74}",0x3},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{31}\u{32}\u{39}","\u{65}\u{78}\u{69}\u{74}",0x81},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",0x1},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{4b}\u{49}\u{4c}\u{4c}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",0x9},{"\u{73}\u{68}\u{20}\u{2d}\u{63}\u{20}\u{27}\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}\u{27}","\u{65}\u{78}\u{69}\u{74}"},{(progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{20}\u{22}"),"\u{6f}\u{6b}"},{(progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}"),"\u{6f}\u{6b}"},{(progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{32}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}"),"\u{65}\u{78}\u{69}\u{74}",0x14}}
682+local tests = {{"\u{6c}\u{73}\u{20}\u{3e}\u{20}\u{2f}\u{64}\u{65}\u{76}\u{2f}\u{6e}\u{75}\u{6c}\u{6c}","\u{6f}\u{6b}"},{"\u{6e}\u{6f}\u{74}\u{2d}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{66}\u{6f}\u{75}\u{6e}\u{64}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{61}\u{6e}\u{64}","\u{65}\u{78}\u{69}\u{74}"},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{33}","\u{65}\u{78}\u{69}\u{74}",0x3},{"\u{65}\u{78}\u{69}\u{74}\u{20}\u{31}\u{32}\u{39}","\u{65}\u{78}\u{69}\u{74}",0x81},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",0x1},{"\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{4b}\u{49}\u{4c}\u{4c}\u{20}\u{24}\u{24}","\u{73}\u{69}\u{67}\u{6e}\u{61}\u{6c}",0x9},{"\u{73}\u{68}\u{20}\u{2d}\u{63}\u{20}\u{27}\u{6b}\u{69}\u{6c}\u{6c}\u{20}\u{2d}\u{73}\u{20}\u{48}\u{55}\u{50}\u{20}\u{24}\u{24}\u{27}","\u{65}\u{78}\u{69}\u{74}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{20}\u{22}","\u{6f}\u{6b}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}","\u{6f}\u{6b}"},{progname .. "\u{20}\u{2d}\u{65}\u{20}\u{22}\u{6f}\u{73}\u{2e}\u{65}\u{78}\u{69}\u{74}\u{28}\u{32}\u{30}\u{2c}\u{20}\u{74}\u{72}\u{75}\u{65}\u{29}\u{22}","\u{65}\u{78}\u{69}\u{74}",0x14}}
683683print("\u{a}\u{28}\u{73}\u{6f}\u{6d}\u{65}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6d}\u{65}\u{73}\u{73}\u{61}\u{67}\u{65}\u{73}\u{20}\u{61}\u{72}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{6e}\u{6f}\u{77}\u{29}")
684684for _,v in ipairs(tests)
685685do
686686local x,y,z = io.popen(v[0x1]):close()
687687local x1,y1,z1 = os.execute(v[0x1])
688−assert((((x == x1) and (y == y1)) and (z == z1)))
689−if (v[0x2] == "\u{6f}\u{6b}") then
690−assert(((x and (y == "\u{65}\u{78}\u{69}\u{74}")) and (z == 0x0)))
688+assert(x == x1 and y == y1 and z == z1)
689+if v[0x2] == "\u{6f}\u{6b}" then
690+assert(x and y == "\u{65}\u{78}\u{69}\u{74}" and z == 0x0)
691691else
692−assert((not (x and (y == v[0x2]))))
693−assert((((v[0x3] == nil) and (z > 0x0)) or (v[0x3] == z)))
692+assert(not x and y == v[0x2])
693+assert((v[0x3] == nil and z > 0x0) or v[0x3] == z)
694694end
695695end
696696end
697697f=io.tmpfile()
698−assert((io.type(f) == "\u{66}\u{69}\u{6c}\u{65}"))
698+assert(io.type(f) == "\u{66}\u{69}\u{6c}\u{65}")
699699f:write("\u{61}\u{6c}\u{6f}")
700700f:seek("\u{73}\u{65}\u{74}")
701−assert((f:read("\u{61}") == "\u{61}\u{6c}\u{6f}"))
701+assert(f:read("\u{61}") == "\u{61}\u{6c}\u{6f}")
702702end
703703print("\u{2b}")
704704print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{64}\u{61}\u{74}\u{65}\u{2f}\u{74}\u{69}\u{6d}\u{65}")
705−assert((os.date("") == ""))
706−assert((os.date("\u{21}") == ""))
707−assert((os.date("\u{0}\u{0}") == "\u{0}\u{0}"))
708−assert((os.date("\u{21}\u{0}\u{0}") == "\u{0}\u{0}"))
705+assert(os.date("") == "")
706+assert(os.date("\u{21}") == "")
707+assert(os.date("\u{0}\u{0}") == "\u{0}\u{0}")
708+assert(os.date("\u{21}\u{0}\u{0}") == "\u{0}\u{0}")
709709local x = string.rep("\u{61}",0x2710)
710−assert((os.date(x) == x))
710+assert(os.date(x) == x)
711711local t = os.time()
712712D=os.date("\u{2a}\u{74}",t)
713−assert((os.date(string.rep("\u{25}\u{64}",0x3e8),t) == string.rep(os.date("\u{25}\u{64}",t),0x3e8)))
714−assert((os.date(string.rep("\u{25}",0xc8)) == string.rep("\u{25}",0x64)))
713+assert(os.date(string.rep("\u{25}\u{64}",0x3e8),t) == string.rep(os.date("\u{25}\u{64}",t),0x3e8))
714+assert(os.date(string.rep("\u{25}",0xc8)) == string.rep("\u{25}",0x64))
715715local function checkDateTable
716716(t)
717717_G.D=os.date("\u{2a}\u{74}",t)
718−assert((os.time(D) == t))
718+assert(os.time(D) == t)
719719load(os.date("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{44}\u{2e}\u{79}\u{65}\u{61}\u{72}\u{3d}\u{3d}\u{25}\u{59}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{6d}\u{6f}\u{6e}\u{74}\u{68}\u{3d}\u{3d}\u{25}\u{6d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{64}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{44}\u{2e}\u{68}\u{6f}\u{75}\u{72}\u{3d}\u{3d}\u{25}\u{48}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{6d}\u{69}\u{6e}\u{3d}\u{3d}\u{25}\u{4d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{73}\u{65}\u{63}\u{3d}\u{3d}\u{25}\u{53}\u{20}\u{61}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{20}\u{20}\u{44}\u{2e}\u{77}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{77}\u{2b}\u{31}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{44}\u{2e}\u{79}\u{64}\u{61}\u{79}\u{3d}\u{3d}\u{25}\u{6a}\u{29}",t))()
720720_G.D=nil
721721end
722722checkDateTable(os.time())
723−if (not _port) then
723+if not _port then
724724checkDateTable(0x0)
725725checkDateTable(0x1)
726726checkDateTable(0x3e8)
@@ -736,74 +736,74 @@ checkerr("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{7
736736checkerr("\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = "\u{78}"})
737737checkerr("\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x3e8,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 1.5})
738738checkerr("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}",os.time,{["\u{68}\u{6f}\u{75}\u{72}"] = 0xc})
739−if (string.packsize("\u{69}") == 0x4) then
740−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (- ((0x1 << 0x1f) + 0x76b)),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
741−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (- (0x1 << 0x1f)),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
742−if (math.maxinteger > (0x2 ^ 0x1f)) then
743−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = ((0x1 << 0x1f) + 0x76c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
739+if string.packsize("\u{69}") == 0x4 then
740+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
741+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - (0x1 << 0x1f),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
742+if math.maxinteger > 0x2 ^ 0x1f then
743+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (0x1 << 0x1f) + 0x76c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
744744end
745745end
746−if (not _port) then
747−assert((type(os.date("\u{25}\u{45}\u{78}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
748−assert((type(os.date("\u{25}\u{4f}\u{79}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
746+if not _port then
747+assert(type(os.date("\u{25}\u{45}\u{78}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
748+assert(type(os.date("\u{25}\u{4f}\u{79}")) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
749749local t0 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0})
750−local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0,["\u{73}\u{65}\u{63}"] = ((0x1 << 0x1f) - 0x1)})
751−assert(((t1 - t0) == ((0x1 << 0x1f) - 0x1)))
750+local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x0,["\u{73}\u{65}\u{63}"] = (0x1 << 0x1f) - 0x1})
751+assert(t1 - t0 == (0x1 << 0x1f) - 0x1)
752752t0=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
753−t1=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{73}\u{65}\u{63}"] = (- (0x1 << 0x1f))})
754−assert(((t1 - t0) == (- (0x1 << 0x1f))))
755−if (maxint >= (0x2 ^ 0x3e)) then
756−checkerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (- maxint),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
757−if (string.packsize("\u{69}") == 0x4) then
758−if testerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.date,"\u{25}\u{59}",(0x2 ^ 0x28)) then
753+t1=os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7b2,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{73}\u{65}\u{63}"] = - (0x1 << 0x1f)})
754+assert(t1 - t0 == - (0x1 << 0x1f))
755+if maxint >= 0x2 ^ 0x3e then
756+checkerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = - maxint,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
757+if string.packsize("\u{69}") == 0x4 then
758+if testerr("\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.date,"\u{25}\u{59}",0x2 ^ 0x28) then
759759print("\u{20}\u{20}\u{34}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
760760checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0xfa0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
761761else
762762print("\u{20}\u{20}\u{38}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
763−checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.date,"\u{25}\u{59}",(0x2 ^ 0x3c))
764−assert(tonumber(os.time({["\u{79}\u{65}\u{61}\u{72}"] = ((0x1 << 0x1f) + 0x76b),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3b})))
765−checkerr("\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = ((0x1 << 0x1f) + 0x76b),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3c})
763+checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.date,"\u{25}\u{59}",0x2 ^ 0x3c)
764+assert(tonumber(os.time({["\u{79}\u{65}\u{61}\u{72}"] = (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3b})))
765+checkerr("\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (0x1 << 0x1f) + 0x76b,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xc,["\u{64}\u{61}\u{79}"] = 0x1f,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0x3b,["\u{73}\u{65}\u{63}"] = 0x3c})
766766end
767−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{64}\u{61}\u{79}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = (0x2 ^ 0x20)})
768−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{6d}\u{6f}\u{6e}\u{74}\u{68}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = (- ((0x1 << 0x1f) + 0x1)),["\u{64}\u{61}\u{79}"] = 0x1})
769−checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = ((0x1 << 0x1f) + 0x76c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
767+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{64}\u{61}\u{79}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x2 ^ 0x20})
768+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{6d}\u{6f}\u{6e}\u{74}\u{68}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = - ((0x1 << 0x1f) + 0x1),["\u{64}\u{61}\u{79}"] = 0x1})
769+checkerr("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{79}\u{65}\u{61}\u{72}\u{27}\u{20}\u{69}\u{73}\u{20}\u{6f}\u{75}\u{74}\u{2d}\u{6f}\u{66}\u{2d}\u{62}\u{6f}\u{75}\u{6e}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (0x1 << 0x1f) + 0x76c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
770770else
771771print("\u{20}\u{20}\u{38}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{74}\u{69}\u{6d}\u{65}\u{5f}\u{74}")
772−assert(tonumber(os.date("\u{25}\u{59}",(0x2 ^ 0x3c))))
773−checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = (0x2 ^ 0x3c),["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
772+assert(tonumber(os.date("\u{25}\u{59}",0x2 ^ 0x3c)))
773+checkerr("\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{65}\u{64}",os.time,{["\u{79}\u{65}\u{61}\u{72}"] = 0x2 ^ 0x3c,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1})
774774end
775775end
776776end
777777do
778778local D = os.date("\u{2a}\u{74}")
779779local t = os.time(D)
780−if (D.isdst == nil) then
780+if D.isdst == nil then
781781print("\u{6e}\u{6f}\u{20}\u{64}\u{61}\u{79}\u{6c}\u{69}\u{67}\u{68}\u{74}\u{20}\u{73}\u{61}\u{76}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}")
782782else
783−assert((type(D.isdst) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}"))
783+assert(type(D.isdst) == "\u{62}\u{6f}\u{6f}\u{6c}\u{65}\u{61}\u{6e}")
784784end
785785D.isdst=nil
786786local t1 = os.time(D)
787−assert((t == t1))
787+assert(t == t1)
788788end
789789local D = os.date("\u{2a}\u{74}")
790790t=os.time(D)
791−D.year=(D.year - 0x1)
791+D.year=D.year - 0x1
792792;
793793local t1 = os.time(D)
794−assert((math.abs(((os.difftime(t,t1) / (0x18 * 0xe10)) - 0x16d)) < 0x2))
794+assert(math.abs(os.difftime(t,t1) / (0x18 * 0xe10) - 0x16d) < 0x2)
795795t=os.time()
796796t1=os.time(os.date("\u{2a}\u{74}"))
797797local diff = os.difftime(t1,t)
798−assert(((0x0 <= diff) and (diff <= 0x1)))
798+assert(0x0 <= diff and diff <= 0x1)
799799diff=os.difftime(t,t1)
800−assert((- ((0x1 <= diff) and (diff <= 0x0))))
800+assert(- 0x1 <= diff and diff <= 0x0)
801801local t1 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xc})
802802local t2 = os.time({["\u{79}\u{65}\u{61}\u{72}"] = 0x7d0,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0xa,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x17,["\u{6d}\u{69}\u{6e}"] = 0xa,["\u{73}\u{65}\u{63}"] = 0x13})
803−assert((os.difftime(t1,t2) == ((0x3c * 0x2) - 0x13)))
804−t1={["\u{79}\u{65}\u{61}\u{72}"] = 0x7d5,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x1,["\u{6d}\u{69}\u{6e}"] = 0x0,["\u{73}\u{65}\u{63}"] = (- 0xe12)}
803+assert(os.difftime(t1,t2) == 0x3c * 0x2 - 0x13)
804+t1={["\u{79}\u{65}\u{61}\u{72}"] = 0x7d5,["\u{6d}\u{6f}\u{6e}\u{74}\u{68}"] = 0x1,["\u{64}\u{61}\u{79}"] = 0x1,["\u{68}\u{6f}\u{75}\u{72}"] = 0x1,["\u{6d}\u{69}\u{6e}"] = 0x0,["\u{73}\u{65}\u{63}"] = - 0xe12}
805805os.time(t1)
806−assert((((((((t1.day == 0x1f) and (t1.month == 0xc)) and (t1.year == 0x7d4)) and (t1.hour == 0x17)) and (t1.min == 0x3b)) and (t1.sec == 0x3a)) and (t1.yday == 0x16e)))
806+assert(t1.day == 0x1f and t1.month == 0xc and t1.year == 0x7d4 and t1.hour == 0x17 and t1.min == 0x3b and t1.sec == 0x3a and t1.yday == 0x16e)
807807io.output(io.stdout)
808808local t = os.date("\u{25}\u{64}\u{20}\u{25}\u{6d}\u{20}\u{25}\u{59}\u{20}\u{25}\u{48}\u{20}\u{25}\u{4d}\u{20}\u{25}\u{53}")
809809local d,m,a,h,min,s = string.match(t,"\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}\u{20}\u{28}\u{25}\u{64}\u{2b}\u{29}")
desk/res/lua/cycled/foo.lua+13−13
@@ -2,7 +2,7 @@ foosjis=nil
22az=bar[nil]
33baz=bar(0x1).foo
44i=0x3
5−i,a[i]=(i + 0x1),(0x14 >> 0x9)
5+i,a[i]=i + 0x1,0x14 >> 0x9
66hello="\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{64}\u{6b}\u{6e}\u{64}\u{6a}\u{d0}\u{b2}\u{d0}\u{b3}\u{d0}\u{be}\u{d0}\u{b2}\u{d1}\u{88}\u{d0}\u{be}\u{d0}\u{b2}"
77x={[hello] = 0x8,["\u{68}\u{65}\u{6c}\u{6c}\u{6f}"] = 0xc}
88;
@@ -27,24 +27,24 @@ foo=0x9
2727;
2828end
2929until true
30−if (l == 0x3) then
31−a=(a + 0x1)
30+if l == 0x3 then
31+a=a + 0x1
3232;
33−assert((getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}"))
34−elseif (l == 0x4) then
35−a=(a + 0x1)
33+assert(getlocal(0x2,0x1) == "\u{28}\u{74}\u{65}\u{6d}\u{70}\u{6f}\u{72}\u{61}\u{72}\u{79}\u{29}")
34+elseif l == 0x4 then
35+a=a + 0x1
3636;
37−assert((getlocal(0x2,0x1) == "\u{41}"))
37+assert(getlocal(0x2,0x1) == "\u{41}")
3838else
3939;
4040end
4141for i = 0x1, 0x64
4242do
43−karlSum=(karlSum + i)
43+karlSum=karlSum + i
4444end
4545for j = 0x64, 0x1, 0x1
4646do
47−fredSum=(fredSum + j)
47+fredSum=fredSum + j
4848end
4949for key,val in pairs(u)
5050do
@@ -56,7 +56,7 @@ self.__index=self
5656return setmetatable(newObj,self)
5757end
5858function Dog:makeSound()
59−print(("\u{49}\u{20}\u{73}\u{61}\u{79}\u{20}" .. self.sound))
59+print("\u{49}\u{20}\u{73}\u{61}\u{79}\u{20}" .. self.sound)
6060end
6161local function g
6262(x)
@@ -66,11 +66,11 @@ local a = require("\u{6d}\u{6f}\u{64}\u{32}")
6666local b = require("\u{6d}\u{6f}\u{64}\u{32}")
6767function adder(x)
6868return function (y)
69−return (x + y)
69+return x + y
7070end
7171end
72−x=(- (0x1 + 0x8))
73−if (_VERSION ~= version) then
72+x=- 0x1 + 0x8
73+if _VERSION ~= version then
7474io.stderr:write("\u{54}\u{68}\u{69}\u{73}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{73}\u{75}\u{69}\u{74}\u{65}\u{20}\u{69}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}",version,"\u{2c}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{6f}\u{72}\u{20}",_VERSION,"\u{a}\u{45}\u{78}\u{69}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}")
7575return
7676end
desk/res/lua/cycled/gc.lua+116−116
@@ -3,26 +3,26 @@ local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
33assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
44collectgarbage()
55local oldmode = collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
6−assert((collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}"))
7−assert((collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}"))
8−assert((collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}"))
9−assert((collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}"))
6+assert(collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
7+assert(collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}")
8+assert(collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}")
9+assert(collectgarbage("\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}") == "\u{69}\u{6e}\u{63}\u{72}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{61}\u{6c}")
1010local function nop
1111()
1212
1313end
1414local function gcinfo
1515()
16−return (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
16+return collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400
1717end
1818do
1919local a = collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",0xc8)
2020local b = collectgarbage("\u{73}\u{65}\u{74}\u{73}\u{74}\u{65}\u{70}\u{6d}\u{75}\u{6c}",0xc8)
2121local t = {0x0,0x2,0xa,0x5a,0x1f4,0x1388,0x7530,0x7ffffffe}
22−for i = 0x1, (# t)
22+for i = 0x1, # t
2323do
2424local p = t[i]
25−for j = 0x1, (# t)
25+for j = 0x1, # t
2626do
2727local m = t[j]
2828collectgarbage("\u{73}\u{65}\u{74}\u{70}\u{61}\u{75}\u{73}\u{65}",p)
@@ -48,7 +48,7 @@ b={0x22}
4848repeat
4949u={}
5050until finish
51−assert((b[0x1] == 0x22))
51+assert(b[0x1] == 0x22)
5252finish=false
5353;
5454local i = 0x1
@@ -56,11 +56,11 @@ u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
5656finish=true
5757end})
5858repeat
59−i=(i + 0x1)
59+i=i + 0x1
6060;
61−u=(tostring(i) .. tostring(i))
61+u=tostring(i) .. tostring(i)
6262until finish
63−assert((b[0x1] == 0x22))
63+assert(b[0x1] == 0x22)
6464finish=false
6565u=setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
6666finish=true
@@ -72,7 +72,7 @@ u=function ()
7272return i
7373end
7474until finish
75−assert((b[0x1] == 0x22))
75+assert(b[0x1] == 0x22)
7676end
7777local function GC2
7878()
@@ -85,7 +85,7 @@ local b = {0x22}
8585repeat
8686u={{}}
8787until finish
88−assert((b[0x1] == 0x22))
88+assert(b[0x1] == 0x22)
8989finish=false
9090;
9191local i = 0x1
@@ -93,11 +93,11 @@ u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
9393finish=true
9494end})}
9595repeat
96−i=(i + 0x1)
96+i=i + 0x1
9797;
98−u={(tostring(i) .. tostring(i))}
98+u={tostring(i) .. tostring(i)}
9999until finish
100−assert((b[0x1] == 0x22))
100+assert(b[0x1] == 0x22)
101101finish=false
102102u={setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
103103finish=true
@@ -109,7 +109,7 @@ u={function ()
109109return i
110110end}
111111until finish
112−assert((b[0x1] == 0x22))
112+assert(b[0x1] == 0x22)
113113end
114114local function GC
115115()
@@ -129,7 +129,7 @@ end
129129local a = "\u{61}"
130130for i = 0x1, limit
131131do
132−a=(i .. "\u{62}")
132+a=i .. "\u{62}"
133133;
134134a=string.gsub(a,"\u{28}\u{25}\u{64}\u{25}\u{64}\u{2a}\u{29}","\u{25}\u{31}\u{20}\u{25}\u{31}")
135135a="\u{61}"
@@ -139,7 +139,7 @@ function a:test()
139139for i = 0x1, limit
140140do
141141load(string.format("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{74}\u{65}\u{6d}\u{70}\u{28}\u{61}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}\u{61}\u{25}\u{64}\u{27}\u{20}\u{65}\u{6e}\u{64}",i),"")()
142−assert((temp() == string.format("\u{61}\u{25}\u{64}",i)))
142+assert(temp() == string.format("\u{61}\u{25}\u{64}",i))
143143end
144144end
145145a:test()
@@ -171,20 +171,20 @@ do
171171foo=nil
172172print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
173173local x = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
174−assert((string.len(x) == 0x50))
174+assert(string.len(x) == 0x50)
175175local s = ""
176−local k = math.min(0x12c,((math.maxinteger // 0x50) // 0x2))
176+local k = math.min(0x12c,(math.maxinteger // 0x50) // 0x2)
177177for n = 0x1, k
178178do
179−s=(s .. x)
179+s=s .. x
180180;
181181local j = tostring(n)
182182end
183−assert((string.len(s) == (k * 0x50)))
183+assert(string.len(s) == k * 0x50)
184184s=string.sub(s,0x1,0x2710)
185185local s,i = string.gsub(s,"\u{28}\u{25}\u{64}\u{25}\u{64}\u{25}\u{64}\u{25}\u{64}\u{29}","")
186−assert((i == (0x2710 // 0x4)))
187−assert((_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"] == 0xea))
186+assert(i == 0x2710 // 0x4)
187+assert(_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"] == 0xea)
188188_G["\u{77}\u{68}\u{69}\u{6c}\u{65}"]=nil
189189end
190190do
@@ -203,23 +203,23 @@ end
203203local x = gcinfo()
204204local i = 0x0
205205repeat
206−i=(i + 0x1)
206+i=i + 0x1
207207until collectgarbage("\u{73}\u{74}\u{65}\u{70}",siz)
208−assert((gcinfo() < x))
208+assert(gcinfo() < x)
209209return i
210210end
211211collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
212−if (not _port) then
213−assert((dosteps(0xa) < dosteps(0x2)))
212+if not _port then
213+assert(dosteps(0xa) < dosteps(0x2))
214214end
215−assert((dosteps(0x4e20) == 0x1))
216−assert((collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true))
217−assert((collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true))
218−assert((not collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}")))
215+assert(dosteps(0x4e20) == 0x1)
216+assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true)
217+assert(collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x4e20) == true)
218+assert(not collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
219219collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
220220assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
221221end
222−if (not _port) then
222+if not _port then
223223collectgarbage()
224224;
225225collectgarbage()
@@ -227,12 +227,12 @@ local x = gcinfo()
227227collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
228228repeat
229229local a = {}
230−until (gcinfo() > (0x3 * x))
230+until gcinfo() > 0x3 * x
231231collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
232232assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
233233repeat
234234local a = {}
235−until (gcinfo() <= (x * 0x2))
235+until gcinfo() <= x * 0x2
236236end
237237print("\u{63}\u{6c}\u{65}\u{61}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
238238local lim = 0xf
@@ -249,7 +249,7 @@ end
249249for n in pairs(b)
250250do
251251a[n]=undef
252−assert(((type(n) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and (next(n) == nil)))
252+assert(type(n) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and next(n) == nil)
253253collectgarbage()
254254end
255255b=nil
@@ -264,7 +264,7 @@ a[i]=i
264264end
265265for i = 0x1, lim
266266do
267−assert((a[i] == i))
267+assert(a[i] == i)
268268end
269269print("\u{77}\u{65}\u{61}\u{6b}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}")
270270a={}
@@ -283,17 +283,17 @@ for i = 0x1, lim
283283do
284284local s = string.rep("\u{40}",i)
285285;
286−a[s]=(s .. "\u{23}")
286+a[s]=s .. "\u{23}"
287287end
288288collectgarbage()
289289local i = 0x0
290290for k,v in pairs(a)
291291do
292−assert(((k == v) or ((k .. "\u{23}") == v)))
292+assert(k == v or k .. "\u{23}" == v)
293293;
294−i=(i + 0x1)
294+i=i + 0x1
295295end
296−assert((i == (0x2 * lim)))
296+assert(i == 0x2 * lim)
297297a={}
298298;
299299setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
@@ -308,7 +308,7 @@ a[i]={}
308308end
309309for i = 0x1, lim
310310do
311−a[(i .. "\u{78}")]={}
311+a[i .. "\u{78}"]={}
312312end
313313for i = 0x1, lim
314314do
@@ -318,17 +318,17 @@ a[t]=t
318318end
319319for i = 0x1, lim
320320do
321−a[(i + lim)]=(i .. "\u{78}")
321+a[i + lim]=i .. "\u{78}"
322322end
323323collectgarbage()
324324local i = 0x0
325325for k,v in pairs(a)
326326do
327−assert(((k == v) or (((k - lim) .. "\u{78}") == v)))
327+assert(k == v or k - lim .. "\u{78}" == v)
328328;
329−i=(i + 0x1)
329+i=i + 0x1
330330end
331−assert((i == (0x2 * lim)))
331+assert(i == 0x2 * lim)
332332a={}
333333;
334334setmetatable(a,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -351,31 +351,31 @@ local t = {}
351351a[t]=t
352352end
353353collectgarbage()
354−assert((next(a) ~= nil))
354+assert(next(a) ~= nil)
355355local i = 0x0
356356for k,v in pairs(a)
357357do
358−assert((((((k == 0x1) and (v == x)) or ((k == 0x2) and (v == y))) or ((k == 0x3) and (v == z))) or (k == v)))
358+assert((k == 0x1 and v == x) or (k == 0x2 and v == y) or (k == 0x3 and v == z) or k == v)
359359;
360−i=(i + 0x1)
360+i=i + 0x1
361361end
362−assert((i == 0x4))
362+assert(i == 0x4)
363363x,y,z=nil
364364collectgarbage()
365−assert((next(a) == string.rep("\u{24}",0xb)))
365+assert(next(a) == string.rep("\u{24}",0xb))
366366a={}
367367local t = {["\u{78}"] = 0xa}
368368local C = setmetatable({["\u{6b}\u{65}\u{79}"] = t},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
369369local C1 = setmetatable({[t] = 0x1},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
370370a.x=t
371371setmetatable(a,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (u)
372−assert((C.key == nil))
373−assert((type(next(C1)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}"))
372+assert(C.key == nil)
373+assert(type(next(C1)) == "\u{74}\u{61}\u{62}\u{6c}\u{65}")
374374end})
375375a,t=nil
376376collectgarbage()
377377collectgarbage()
378−assert(((next(C) == nil) and (next(C1) == nil)))
378+assert(next(C) == nil and next(C1) == nil)
379379C,C1=nil
380380local mt = {["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"}
381381a={{0xa},{0x14},{0x1e},{0x28}}
@@ -396,18 +396,18 @@ local i = 0x0
396396while n do
397397n=a[n].k[0x1]
398398;
399−i=(i + 0x1)
399+i=i + 0x1
400400end
401−assert((i == 0x64))
401+assert(i == 0x64)
402402x=nil
403403GC()
404404for i = 0x1, 0x4
405405do
406−assert((a[i][0x1] == (i * 0xa)))
406+assert(a[i][0x1] == i * 0xa)
407407;
408408a[i]=undef
409409end
410−assert((next(a) == nil))
410+assert(next(a) == nil)
411411local K = {}
412412a[K]={}
413413for i = 0x1, 0xa
@@ -422,7 +422,7 @@ for j = 0x1, 0x64
422422do
423423local n = {}
424424;
425−local nk = ((k % 0xa) + 0x1)
425+local nk = k % 0xa + 0x1
426426a[a[K][nk]][n]={x,["\u{6b}"] = k}
427427;
428428x=n
@@ -439,9 +439,9 @@ n=t[0x1]
439439;
440440k=t.k
441441;
442−i=(i + 0x1)
442+i=i + 0x1
443443end
444−assert((i == 0x64))
444+assert(i == 0x64)
445445K=nil
446446GC()
447447if T then
@@ -453,8 +453,8 @@ setmetatable(s,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}"})
453453setmetatable(u,{["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
454454local i = s[o]
455455s[i]=true
456−assert((not s[(i - 0x1)]))
457−if (i == 0x8) then
456+assert(not s[i - 0x1])
457+if i == 0x8 then
458458error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{40}")
459459end
460460end})
@@ -468,7 +468,7 @@ warn("\u{40}\u{6f}\u{6e}")
468468warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
469469collectgarbage()
470470assert(string.find(_WARN,"\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{69}\u{6e}\u{20}\u{5f}\u{5f}\u{67}\u{63}"))
471−assert((string.match(_WARN,"\u{40}\u{28}\u{2e}\u{2d}\u{29}\u{40}") == "\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}"))
471+assert(string.match(_WARN,"\u{40}\u{28}\u{2e}\u{2d}\u{29}\u{40}") == "\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}")
472472;
473473_WARN=false
474474for i = 0x8, 0xa
@@ -489,7 +489,7 @@ getmetatable(u).__gc=nil
489489warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
490490end
491491print("\u{2b}")
492−if (T == nil) then
492+if T == nil then
493493(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{75}\u{73}\u{65}\u{72}\u{64}\u{61}\u{74}\u{61}\u{20}\u{47}\u{43}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
494494else
495495local function newproxy
@@ -509,7 +509,7 @@ a[newproxy(u)]=i
509509end
510510for k in pairs(a)
511511do
512−assert((getmetatable(k) == getmetatable(u)))
512+assert(getmetatable(k) == getmetatable(u))
513513end
514514local a1 = {}
515515;
@@ -530,19 +530,19 @@ getmetatable(u).u=u
530530do
531531local u = u
532532getmetatable(u).__gc=function (o)
533−assert((a[o] == (0xa - s)))
534−assert((a[(0xa - s)] == undef))
535−assert((getmetatable(o) == getmetatable(u)))
536−assert((getmetatable(o).a[o] == (0xa - s)))
537−s=(s + 0x1)
533+assert(a[o] == 0xa - s)
534+assert(a[0xa - s] == undef)
535+assert(getmetatable(o) == getmetatable(u))
536+assert(getmetatable(o).a[o] == 0xa - s)
537+s=s + 0x1
538538end
539539end
540540a1,u=nil
541−assert((next(a) ~= nil))
541+assert(next(a) ~= nil)
542542collectgarbage()
543−assert((s == 0xb))
543+assert(s == 0xb)
544544collectgarbage()
545−assert((next(a) == nil))
545+assert(next(a) == nil)
546546end
547547local u = setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = true})
548548setmetatable(getmetatable(u),{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{76}"})
@@ -558,34 +558,34 @@ m.x={[{0x0}] = 0x1,[0x0] = {0x1}}
558558setmetatable(m.x,{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
559559;
560560m.__gc=function (o)
561−assert((next(getmetatable(o).x) == nil))
561+assert(next(getmetatable(o).x) == nil)
562562m=0xa
563563end
564564u,m=nil
565565collectgarbage()
566−assert((m == 0xa))
566+assert(m == 0xa)
567567do
568568collectgarbage()
569569;
570570collectgarbage()
571571local m = collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
572572local a = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
573−a[string.rep("\u{61}",(0x2 ^ 0x16))]=0x19
574−a[string.rep("\u{62}",(0x2 ^ 0x16))]={}
573+a[string.rep("\u{61}",0x2 ^ 0x16)]=0x19
574+a[string.rep("\u{62}",0x2 ^ 0x16)]={}
575575a[{}]=0xe
576−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > (m + (0x2 ^ 0xd))))
576+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") > m + 0x2 ^ 0xd)
577577collectgarbage()
578−assert(((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= (m + (0x2 ^ 0xc))) and (collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") < (m + (0x2 ^ 0xd)))))
578+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") >= m + 0x2 ^ 0xc and collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") < m + 0x2 ^ 0xd)
579579local k,v = next(a)
580−assert(((k == string.rep("\u{61}",(0x2 ^ 0x16))) and (v == 0x19)))
581−assert((next(a,k) == nil))
582−assert((a[string.rep("\u{62}",(0x2 ^ 0x16))] == undef))
580+assert(k == string.rep("\u{61}",0x2 ^ 0x16) and v == 0x19)
581+assert(next(a,k) == nil)
582+assert(a[string.rep("\u{62}",0x2 ^ 0x16)] == undef)
583583a[k]=undef
584584k=nil
585585collectgarbage()
586−assert((next(a) == nil))
587−assert((a[string.rep("\u{62}",0x64)] == undef))
588−assert((collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= (m + 0x1)))
586+assert(next(a) == nil)
587+assert(a[string.rep("\u{62}",0x64)] == undef)
588+assert(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") <= m + 0x1)
589589end
590590if T then
591591warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
@@ -599,7 +599,7 @@ assert(string.find(_WARN,"\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}
599599_WARN=false
600600warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
601601end
602−if (not _soft) then
602+if not _soft then
603603print("\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{6c}\u{69}\u{73}\u{74}")
604604local a = {}
605605for i = 0x1, 0x30d40
@@ -620,10 +620,10 @@ thread=x
620620end
621621coroutine.yield()
622622end
623−while (thread_id < 0x3e8) do
623+while thread_id < 0x3e8 do
624624local thread = coroutine.create(fn)
625625coroutine.resume(thread,thread)
626−thread_id=(thread_id + 0x1)
626+thread_id=thread_id + 0x1
627627end
628628do
629629local collected = false
@@ -635,7 +635,7 @@ local function f
635635(param)
636636;
637637(function ()
638−assert(((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (type(param) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")))
638+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and type(param) == "\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
639639param={param,f}
640640setmetatable(param,{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
641641collected=true
@@ -660,7 +660,7 @@ for i = 0x1, 0x3e8
660660do
661661_ENV.a={}
662662end
663−until (gcinfo() > (0x2 * x))
663+until gcinfo() > 0x2 * x
664664collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
665665_ENV.a=nil
666666end
@@ -671,9 +671,9 @@ local a = {["\u{78}"] = 0x14}
671671coroutine.yield(function ()
672672return a.x
673673end)
674−assert((a.x == 0x14))
674+assert(a.x == 0x14)
675675a={["\u{78}"] = 0x1e}
676−assert((T.gccolor(a) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
676+assert(T.gccolor(a) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
677677coroutine.yield(0x64)
678678end
679679local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
@@ -683,11 +683,11 @@ collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
683683t.co=coroutine.wrap(foo)
684684local f = t.co()
685685T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
686−assert((T.gcstate() == "\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}"))
687−assert((t.co() == 0x64))
688−assert((T.gccolor(t.co) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
686+assert(T.gcstate() == "\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
687+assert(t.co() == 0x64)
688+assert(T.gccolor(t.co) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
689689T.gcstate("\u{70}\u{61}\u{75}\u{73}\u{65}")
690−assert(((t.co == nil) and (f() == 0x1e)))
690+assert(t.co == nil and f() == 0x1e)
691691collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
692692local u = T.newuserdata(0x0,0x1)
693693collectgarbage()
@@ -696,10 +696,10 @@ local a = {}
696696T.gcstate("\u{61}\u{74}\u{6f}\u{6d}\u{69}\u{63}")
697697T.gcstate("\u{73}\u{77}\u{65}\u{65}\u{70}\u{61}\u{6c}\u{6c}\u{67}\u{63}")
698698local x = {}
699−assert((T.gccolor(u) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}"))
700−assert((T.gccolor(x) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
699+assert(T.gccolor(u) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")
700+assert(T.gccolor(x) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
701701debug.setuservalue(u,x)
702−assert((T.gccolor(u) == "\u{67}\u{72}\u{61}\u{79}"))
702+assert(T.gccolor(u) == "\u{67}\u{72}\u{61}\u{79}")
703703collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
704704print("\u{2b}")
705705end
@@ -710,7 +710,7 @@ local x = T.newuserdata(0x0)
710710local y = T.newuserdata(0x0)
711711debug.setmetatable(y,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
712712debug.setmetatable(x,{["\u{5f}\u{5f}\u{67}\u{63}"] = nop})
713−assert((T.gccolor(y) == "\u{77}\u{68}\u{69}\u{74}\u{65}"))
713+assert(T.gccolor(y) == "\u{77}\u{68}\u{69}\u{74}\u{65}")
714714T.checkmemory()
715715collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
716716end
@@ -718,7 +718,7 @@ if T then
718718print("\u{65}\u{6d}\u{65}\u{72}\u{67}\u{65}\u{6e}\u{63}\u{79}\u{20}\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{73}")
719719collectgarbage()
720720collectgarbage()
721−T.totalmem((T.totalmem() + 0xc8))
721+T.totalmem(T.totalmem() + 0xc8)
722722for i = 0x1, 0xc8
723723do
724724local a = {}
@@ -727,27 +727,27 @@ T.totalmem(0x0)
727727collectgarbage()
728728local t = T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}")
729729local a = {{},{},{}}
730−assert((T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}") == (t + 0x4)))
730+assert(T.totalmem("\u{74}\u{61}\u{62}\u{6c}\u{65}") == t + 0x4)
731731t=T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
732732a=function ()
733733
734734end
735−assert((T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") == (t + 0x1)))
735+assert(T.totalmem("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") == t + 0x1)
736736t=T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}")
737737a=coroutine.create(function ()
738738
739739end)
740−assert((T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") == (t + 0x1)))
740+assert(T.totalmem("\u{74}\u{68}\u{72}\u{65}\u{61}\u{64}") == t + 0x1)
741741end
742742do
743743local setmetatable,assert,type,print,getmetatable = setmetatable,assert,type,print,getmetatable
744744local tt = {}
745745tt.__gc=function (o)
746−assert((getmetatable(o) == tt))
747−local a = ("\u{78}\u{75}\u{78}\u{75}" .. ((0xa + 0x3) .. "\u{6a}\u{6f}\u{61}\u{6f}")),{}
746+assert(getmetatable(o) == tt)
747+local a = "\u{78}\u{75}\u{78}\u{75}" .. (0xa + 0x3) .. "\u{6a}\u{6f}\u{61}\u{6f}",{}
748748___Glob=o
749749setmetatable({},tt)
750−print(("\u{3e}\u{3e}\u{3e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{20}" .. "\u{3c}\u{3c}\u{3c}\u{a}"))
750+print("\u{3e}\u{3e}\u{3e}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{74}\u{65}\u{20}" .. "\u{3c}\u{3c}\u{3c}\u{a}")
751751end
752752local u = setmetatable({},tt)
753753___Glob={u}
@@ -757,22 +757,22 @@ local error,assert,find,warn = error,assert,string.find,warn
757757local n = 0x0
758758local lastmsg
759759local mt = {["\u{5f}\u{5f}\u{67}\u{63}"] = function (o)
760−n=(n + 0x1)
761−assert((n == o[0x1]))
762−if (n == 0x1) then
760+n=n + 0x1
761+assert(n == o[0x1])
762+if n == 0x1 then
763763_WARN=false
764−elseif (n == 0x2) then
764+elseif n == 0x2 then
765765assert(find(_WARN,"\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}"))
766766lastmsg=_WARN
767767else
768−assert((lastmsg == _WARN))
768+assert(lastmsg == _WARN)
769769end
770770warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
771771;
772772_WARN=false
773773error("\u{40}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{77}\u{61}\u{72}\u{6e}\u{69}\u{6e}\u{67}")
774774end}
775−for i = 0xa, 0x1, (- 0x1)
775+for i = 0xa, 0x1, - 0x1
776776do
777777table.insert(___Glob,setmetatable({i},mt))
778778end
@@ -784,7 +784,7 @@ setmetatable({},{["\u{5f}\u{5f}\u{67}\u{63}"] = function ()
784784res=collectgarbage()
785785end})
786786collectgarbage()
787−assert((not res))
787+assert(not res)
788788end
789789collectgarbage(oldmode)
790790print("\u{4f}\u{4b}")
desk/res/lua/cycled/gengc.lua+24−24
@@ -6,14 +6,14 @@ local oldmode = collectgarbage("\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}
66do
77local U = {}
88collectgarbage()
9−assert((not (T or (T.gcage(U) == "\u{6f}\u{6c}\u{64}"))))
9+assert(not T or T.gcage(U) == "\u{6f}\u{6c}\u{64}")
1010U[0x1]={["\u{78}"] = {0xea}}
11−assert((not (T or ((T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}") and (T.gcage(U[0x1]) == "\u{6e}\u{65}\u{77}")))))
11+assert(not T or (T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gcage(U[0x1]) == "\u{6e}\u{65}\u{77}"))
1212collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
13−assert((not (T or ((T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}") and (T.gcage(U[0x1]) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")))))
13+assert(not T or (T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gcage(U[0x1]) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}"))
1414collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
15−assert((not (T or ((T.gcage(U) == "\u{6f}\u{6c}\u{64}") and (T.gcage(U[0x1]) == "\u{6f}\u{6c}\u{64}\u{31}")))))
16−assert((U[0x1].x[0x1] == 0xea))
15+assert(not T or (T.gcage(U) == "\u{6f}\u{6c}\u{64}" and T.gcage(U[0x1]) == "\u{6f}\u{6c}\u{64}\u{31}"))
16+assert(U[0x1].x[0x1] == 0xea)
1717end
1818do
1919local function foo
@@ -22,11 +22,11 @@ local function foo
2222end
2323local old = {0xa}
2424collectgarbage()
25−assert((not (T or (T.gcage(old) == "\u{6f}\u{6c}\u{64}"))))
25+assert(not T or T.gcage(old) == "\u{6f}\u{6c}\u{64}")
2626setmetatable(old,{})
27−assert((not (T or (T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{30}"))))
27+assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{30}")
2828collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
29−assert((not (T or (T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{31}"))))
29+assert(not T or T.gcage(getmetatable(old)) == "\u{6f}\u{6c}\u{64}\u{31}")
3030setmetatable(getmetatable(old),{["\u{5f}\u{5f}\u{67}\u{63}"] = foo})
3131collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
3232end
@@ -36,7 +36,7 @@ A[0x1]=false
3636local function gcf
3737(obj)
3838A[0x1]=obj
39−assert((not (T or (T.gcage(obj) == "\u{6f}\u{6c}\u{64}\u{31}"))))
39+assert(not T or T.gcage(obj) == "\u{6f}\u{6c}\u{64}\u{31}")
4040obj=nil
4141collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
4242print(getmetatable(A[0x1]).x)
@@ -44,9 +44,9 @@ end
4444collectgarbage()
4545local obj = {}
4646collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
47−assert((not (T or (T.gcage(obj) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}"))))
47+assert(not T or T.gcage(obj) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")
4848setmetatable(obj,{["\u{5f}\u{5f}\u{67}\u{63}"] = gcf,["\u{78}"] = "\u{2b}"})
49−assert((not (T or (T.gcage(getmetatable(obj)) == "\u{6e}\u{65}\u{77}"))))
49+assert(not T or T.gcage(getmetatable(obj)) == "\u{6e}\u{65}\u{77}")
5050obj=nil
5151collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
5252end
@@ -67,25 +67,25 @@ old[0x1]={"\u{68}\u{65}\u{6c}\u{6c}\u{6f}"}
6767coroutine.resume(co,{0x7b})
6868co=nil
6969collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
70−assert(((f() == 0x7b) and (old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")))
70+assert(f() == 0x7b and old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
7171collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
72−assert(((f() == 0x7b) and (old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")))
72+assert(f() == 0x7b and old[0x1][0x1] == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
7373end
7474do
7575local t = setmetatable({},{["\u{5f}\u{5f}\u{6d}\u{6f}\u{64}\u{65}"] = "\u{6b}\u{76}"})
7676collectgarbage()
77−assert((not (T or (T.gcage(t) == "\u{6f}\u{6c}\u{64}"))))
77+assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
7878t[0x1]={0xa}
79−assert((not (T or ((T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}") and (T.gccolor(t) == "\u{67}\u{72}\u{61}\u{79}")))))
79+assert(not T or (T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gccolor(t) == "\u{67}\u{72}\u{61}\u{79}"))
8080collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
81−assert((not (T or ((T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}") and (T.gccolor(t) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}")))))
81+assert(not T or (T.gcage(t) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gccolor(t) == "\u{62}\u{6c}\u{61}\u{63}\u{6b}"))
8282collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
83−assert((not (T or (T.gcage(t) == "\u{6f}\u{6c}\u{64}"))))
83+assert(not T or T.gcage(t) == "\u{6f}\u{6c}\u{64}")
8484t[0x1]={0xa}
8585collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
86−assert((t[0x1] == nil))
86+assert(t[0x1] == nil)
8787end
88−if (T == nil) then
88+if T == nil then
8989(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{6d}\u{65}\u{20}\u{67}\u{65}\u{6e}\u{65}\u{72}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{61}\u{6c}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
9090print("\u{4f}\u{4b}")
9191return
@@ -93,14 +93,14 @@ end
9393do
9494local U = T.newuserdata(0x0,0x1)
9595collectgarbage()
96−assert((T.gcage(U) == "\u{6f}\u{6c}\u{64}"))
96+assert(T.gcage(U) == "\u{6f}\u{6c}\u{64}")
9797debug.setuservalue(U,{["\u{78}"] = {0xea}})
98−assert(((T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}") and (T.gcage(debug.getuservalue(U)) == "\u{6e}\u{65}\u{77}")))
98+assert(T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{31}" and T.gcage(debug.getuservalue(U)) == "\u{6e}\u{65}\u{77}")
9999collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
100−assert(((T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}") and (T.gcage(debug.getuservalue(U)) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")))
100+assert(T.gcage(U) == "\u{74}\u{6f}\u{75}\u{63}\u{68}\u{65}\u{64}\u{32}" and T.gcage(debug.getuservalue(U)) == "\u{73}\u{75}\u{72}\u{76}\u{69}\u{76}\u{61}\u{6c}")
101101collectgarbage("\u{73}\u{74}\u{65}\u{70}",0x0)
102−assert(((T.gcage(U) == "\u{6f}\u{6c}\u{64}") and (T.gcage(debug.getuservalue(U)) == "\u{6f}\u{6c}\u{64}\u{31}")))
103−assert((debug.getuservalue(U).x[0x1] == 0xea))
102+assert(T.gcage(U) == "\u{6f}\u{6c}\u{64}" and T.gcage(debug.getuservalue(U)) == "\u{6f}\u{6c}\u{64}\u{31}")
103+assert(debug.getuservalue(U).x[0x1] == 0xea)
104104end
105105assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
106106assert(collectgarbage("\u{69}\u{73}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}"))
desk/res/lua/cycled/goto.lua+43−43
@@ -2,7 +2,7 @@ collectgarbage()
22local function errmsg
33(code,m)
44local st,msg = load(code)
5−assert((not (st and string.find(msg,m))))
5+assert(not st and string.find(msg,m))
66end
77errmsg("\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
88errmsg("\u{20}\u{64}\u{6f}\u{20}\u{3a}\u{3a}\u{6c}\u{31}\u{3a}\u{3a}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{31}\u{3b}\u{20}","\u{6c}\u{61}\u{62}\u{65}\u{6c}\u{20}\u{27}\u{6c}\u{31}\u{27}")
@@ -18,7 +18,7 @@ do
1818local y = 0xc
1919goto l1
2020::l2::
21−x=(x + 0x1)
21+x=x + 0x1
2222;
2323goto l3
2424::l1::
@@ -28,12 +28,12 @@ goto l2
2828end
2929::l3::
3030::l3_1::
31−assert((x == 0xd))
31+assert(x == 0xd)
3232do
3333local prog = "\u{20}\u{20}\u{64}\u{6f}\u{a}\u{20}\u{20}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{25}\u{73}\u{61}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{6c}\u{25}\u{73}\u{61}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{67}\u{6f}\u{74}\u{6f}\u{20}\u{6c}\u{25}\u{73}\u{62}\u{3b}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{3a}\u{3a}\u{6c}\u{25}\u{73}\u{62}\u{3a}\u{3a}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{32}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{a}\u{20}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}"
3434local label = string.rep("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x28)
3535prog=string.format(prog,label,label,label,label)
36−assert((assert(load(prog))() == 0x1f))
36+assert(assert(load(prog))() == 0x1f)
3737end
3838do
3939goto l1
@@ -53,7 +53,7 @@ local x = 0x2d
5353;
5454end
5555::l4::
56−assert((x == 0xd))
56+assert(x == 0xd)
5757if print then
5858goto l1
5959error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}")
@@ -72,34 +72,34 @@ local function foo
7272local a = {}
7373goto l3
7474::l1::
75−a[(# (a + 0x1))]=0x1
75+a[# a + 0x1]=0x1
7676;
7777goto l2
7878;
7979::l2::
80−a[(# (a + 0x1))]=0x2
80+a[# a + 0x1]=0x2
8181;
8282goto l5
8383;
8484::l3::
8585::l3a::
86−a[(# (a + 0x1))]=0x3
86+a[# a + 0x1]=0x3
8787;
8888goto l1
8989;
9090::l4::
91−a[(# (a + 0x1))]=0x4
91+a[# a + 0x1]=0x4
9292;
9393goto l6
9494;
9595::l5::
96−a[(# (a + 0x1))]=0x5
96+a[# a + 0x1]=0x5
9797;
9898goto l4
9999;
100100::l6::
101−assert((((((a[0x1] == 0x3) and (a[0x2] == 0x1)) and (a[0x3] == 0x2)) and (a[0x4] == 0x5)) and (a[0x5] == 0x4)))
102−if (not a[0x6]) then
101+assert(a[0x1] == 0x3 and a[0x2] == 0x1 and a[0x3] == 0x2 and a[0x4] == 0x5 and a[0x5] == 0x4)
102+if not a[0x6] then
103103a[0x6]=true
104104;
105105goto l3a
@@ -111,15 +111,15 @@ do
111111local x
112112::L1::
113113local y
114−assert((y == nil))
114+assert(y == nil)
115115y=true
116−if (x == nil) then
116+if x == nil then
117117x=0x1
118118goto L1
119119else
120−x=(x + 0x1)
120+x=x + 0x1
121121end
122−assert(((x == 0x2) and (y == true)))
122+assert(x == 0x2 and y == true)
123123end
124124do
125125local first = true
@@ -160,18 +160,18 @@ end
160160local b
161161do
162162local c
163−t[(# (t + 0x1))]=function ()
163+t[# t + 0x1]=function ()
164164return a,b,c,d
165165end
166−if (i > 0x2) then
166+if i > 0x2 then
167167goto l2
168168end
169169do
170170local d
171−t[(# (t + 0x1))]=function ()
171+t[# t + 0x1]=function ()
172172return a,b,c,d
173173end
174−i=(i + 0x1)
174+i=i + 0x1
175175local a
176176goto l1
177177end
@@ -181,52 +181,52 @@ end
181181return t
182182end
183183local a = foo()
184−assert((# (a == 0x6)))
184+assert(# a == 0x6)
185185for i = 0x2, 0x6
186186do
187−assert((debug.upvalueid(a[0x1],0x1) == debug.upvalueid(a[i],0x1)))
187+assert(debug.upvalueid(a[0x1],0x1) == debug.upvalueid(a[i],0x1))
188188end
189189for i = 0x2, 0x6
190190do
191−assert((debug.upvalueid(a[0x1],0x2) ~= debug.upvalueid(a[i],0x2)))
192−assert((debug.upvalueid(a[0x1],0x3) ~= debug.upvalueid(a[i],0x3)))
191+assert(debug.upvalueid(a[0x1],0x2) ~= debug.upvalueid(a[i],0x2))
192+assert(debug.upvalueid(a[0x1],0x3) ~= debug.upvalueid(a[i],0x3))
193193end
194194for i = 0x3, 0x5, 0x2
195195do
196−assert((debug.upvalueid(a[i],0x2) == debug.upvalueid(a[(i - 0x1)],0x2)))
197−assert((debug.upvalueid(a[i],0x3) == debug.upvalueid(a[(i - 0x1)],0x3)))
198−assert((debug.upvalueid(a[i],0x2) ~= debug.upvalueid(a[(i + 0x1)],0x2)))
199−assert((debug.upvalueid(a[i],0x3) ~= debug.upvalueid(a[(i + 0x1)],0x3)))
196+assert(debug.upvalueid(a[i],0x2) == debug.upvalueid(a[i - 0x1],0x2))
197+assert(debug.upvalueid(a[i],0x3) == debug.upvalueid(a[i - 0x1],0x3))
198+assert(debug.upvalueid(a[i],0x2) ~= debug.upvalueid(a[i + 0x1],0x2))
199+assert(debug.upvalueid(a[i],0x3) ~= debug.upvalueid(a[i + 0x1],0x3))
200200end
201201for i = 0x2, 0x6, 0x2
202202do
203−assert((debug.upvalueid(a[0x1],0x4) == debug.upvalueid(a[i],0x4)))
203+assert(debug.upvalueid(a[0x1],0x4) == debug.upvalueid(a[i],0x4))
204204end
205205for i = 0x3, 0x5, 0x2
206206do
207207for j = 0x1, 0x6
208208do
209−assert(((debug.upvalueid(a[i],0x4) == debug.upvalueid(a[j],0x4)) == (i == j)))
209+assert((debug.upvalueid(a[i],0x4) == debug.upvalueid(a[j],0x4)) == (i == j))
210210end
211211end
212212local function testG
213213(a)
214−if (a == 0x1) then
214+if a == 0x1 then
215215goto l1
216216error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
217−elseif (a == 0x2) then
217+elseif a == 0x2 then
218218goto l2
219−elseif (a == 0x3) then
219+elseif a == 0x3 then
220220goto l3
221−elseif (a == 0x4) then
221+elseif a == 0x4 then
222222goto l1
223223error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
224224::l1::
225−a=(a + 0x1)
225+a=a + 0x1
226226else
227227goto l4
228228::l4a::
229−a=(a * 0x2)
229+a=a * 0x2
230230;
231231goto l4b
232232error("\u{73}\u{68}\u{6f}\u{75}\u{6c}\u{64}\u{20}\u{6e}\u{65}\u{76}\u{65}\u{72}\u{20}\u{62}\u{65}\u{20}\u{68}\u{65}\u{72}\u{65}\u{21}")
@@ -249,11 +249,11 @@ end
249249::l1::
250250return "\u{31}"
251251end
252−assert((testG(0x1) == "\u{31}"))
253−assert((testG(0x2) == "\u{32}"))
254−assert((testG(0x3) == "\u{33}"))
255−assert((testG(0x4) == 0x5))
256−assert((testG(0x5) == 0xa))
252+assert(testG(0x1) == "\u{31}")
253+assert(testG(0x2) == "\u{32}")
254+assert(testG(0x3) == "\u{33}")
255+assert(testG(0x4) == 0x5)
256+assert(testG(0x5) == 0xa)
257257do
258258local X
259259goto L1
@@ -264,12 +264,12 @@ do
264264local a <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
265265X=true
266266end})
267−assert((X == nil))
267+assert(X == nil)
268268if a then
269269goto L2
270270end
271271end
272272::L3::
273−assert((X == true))
273+assert(X == true)
274274end
275275print("\u{4f}\u{4b}")
desk/res/lua/cycled/heavy.lua+32−32
@@ -5,58 +5,58 @@ do
55local a = "\u{78}"
66local st,msg = pcall(function ()
77while true do
8−a=(a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. (a .. a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
9−print(string.format("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",(# a)))
8+a=a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a .. a
9+print(string.format("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{64}\u{20}\u{62}\u{79}\u{74}\u{65}\u{73}",# a))
1010end
1111end)
12−assert((not (st and (string.find(msg,"\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))))
13−print(("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. (# (a * 0x64))))
12+assert(not st and (string.find(msg,"\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
13+print("\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. # a * 0x64)
1414end
1515print("\u{2b}")
1616end
1717local function loadrep
1818(x,what)
19−local p = (0x1 << 0x14)
19+local p = 0x1 << 0x14
2020local s = string.rep(x,p)
2121local count = 0x0
2222local function f
2323()
24−count=(count + p)
25−if ((count % (0x80 * p)) == 0x0) then
26−io.stderr:write("\u{28}",(count // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
24+count=count + p
25+if count % (0x80 * p) == 0x0 then
26+io.stderr:write("\u{28}",count // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
2727end
2828return s
2929end
3030local st,msg = load(f,"\u{3d}\u{62}\u{69}\u{67}")
31−print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400))
31+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
3232msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
3333print(string.format("\u{74}\u{6f}\u{74}\u{61}\u{6c}\u{3a}\u{20}\u{30}\u{78}\u{25}\u{78}\u{20}\u{25}\u{73}\u{20}\u{28}\u{27}\u{25}\u{73}\u{27}\u{29}",count,what,msg))
3434return st,msg
3535end
3636function controlstruct()
3737print("\u{63}\u{6f}\u{6e}\u{74}\u{72}\u{6f}\u{6c}\u{20}\u{73}\u{74}\u{72}\u{75}\u{63}\u{74}\u{75}\u{72}\u{65}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
38−local lim = (((0x1 << 0x18) - 0x2) // 0x3)
38+local lim = ((0x1 << 0x18) - 0x2) // 0x3
3939local s = string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
40−s=("\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. (s .. "\u{65}\u{6e}\u{64}"))
40+s="\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. s .. "\u{65}\u{6e}\u{64}"
4141assert(load(s))
42−print(("\u{6f}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. (lim .. "\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}")))
43−lim=(lim + 0x3)
42+print("\u{6f}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}" .. lim .. "\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}")
43+lim=lim + 0x3
4444s=string.rep("\u{61}\u{20}\u{3d}\u{20}\u{61}\u{20}\u{2b}\u{20}\u{31}\u{a}",lim)
45−s=("\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. (s .. "\u{65}\u{6e}\u{64}"))
45+s="\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}" .. s .. "\u{65}\u{6e}\u{64}"
4646local st,msg = load(s)
47−assert((not (st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}"))))
47+assert(not st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}"))
4848print(msg)
4949end
5050function manylines()
5151print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}")
5252local st,msg = loadrep("\u{a}","\u{6c}\u{69}\u{6e}\u{65}\u{73}")
53−assert((not (st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}"))))
53+assert(not st and string.find(msg,"\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{73}"))
5454print("\u{2b}")
5555end
5656function hugeid()
5757print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{63}\u{68}\u{75}\u{6e}\u{6b}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{68}\u{75}\u{67}\u{65}\u{20}\u{69}\u{64}\u{65}\u{6e}\u{74}\u{69}\u{66}\u{69}\u{65}\u{72}")
5858local st,msg = loadrep("\u{61}","\u{63}\u{68}\u{61}\u{72}\u{73}")
59−assert((not (st and (string.find(msg,"\u{6c}\u{65}\u{78}\u{69}\u{63}\u{61}\u{6c}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))))
59+assert(not st and (string.find(msg,"\u{6c}\u{65}\u{78}\u{69}\u{63}\u{61}\u{6c}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}") or string.find(msg,"\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
6060print("\u{2b}")
6161end
6262function toomanyinst()
@@ -66,28 +66,28 @@ print("\u{2b}")
6666end
6767local function loadrepfunc
6868(prefix,f)
69−local count = (- 0x1)
69+local count = - 0x1
7070local function aux
7171()
72−count=(count + 0x1)
73−if (count == 0x0) then
72+count=count + 0x1
73+if count == 0x0 then
7474return prefix
7575else
76−if ((count % 0x100000) == 0x0) then
77−io.stderr:write("\u{28}",(count // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
76+if count % (0x100000) == 0x0 then
77+io.stderr:write("\u{28}",count // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
7878end
7979return f(count)
8080end
8181end
8282local st,msg = load(aux,"\u{6b}")
83−print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400))
83+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
8484msg=string.match(msg,"\u{5e}\u{5b}\u{5e}\u{a}\u{5d}\u{2b}")
8585print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}\u{20}",msg)
8686end
8787function toomanyconst()
8888print("\u{6c}\u{6f}\u{61}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}\u{73}")
8989loadrepfunc("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{6f}\u{6f}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{30}\u{2c}",function (n)
90−return string.char(0x22,(((n // (0x80 ^ 0x0)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x1)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x2)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x3)) & 0x7f) + 0x80),(((n // (0x80 ^ 0x4)) & 0x7f) + 0x80),0x22,0x2c)
90+return string.char(0x22,((n // 0x80 ^ 0x0) & 0x7f) + 0x80,((n // 0x80 ^ 0x1) & 0x7f) + 0x80,((n // 0x80 ^ 0x2) & 0x7f) + 0x80,((n // 0x80 ^ 0x3) & 0x7f) + 0x80,((n // 0x80 ^ 0x4) & 0x7f) + 0x80,0x22,0x2c)
9191end)
9292end
9393function toomanystr()
@@ -95,15 +95,15 @@ local a = {}
9595local st,msg = pcall(function ()
9696for i = 0x1, math.huge
9797do
98−if ((i % 0x100000) == 0x0) then
99−io.stderr:write("\u{28}",(i // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
98+if i % (0x100000) == 0x0 then
99+io.stderr:write("\u{28}",i // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
100100end
101101a[i]=string.pack("\u{49}",i)
102102end
103103end)
104−local size = (# a)
104+local size = # a
105105a=collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}")
106−print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}",(a * 0x400))
106+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}",a * 0x400)
107107print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}",msg)
108108print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",size)
109109end
@@ -112,15 +112,15 @@ local a = {}
112112local st,msg = pcall(function ()
113113for i = 0x1, math.huge
114114do
115−if ((i % 0x100000) == 0x0) then
116−io.stderr:write("\u{28}",(i // (0x2 ^ 0x14)),"\u{20}\u{4d}\u{29}")
115+if i % (0x100000) == 0x0 then
116+io.stderr:write("\u{28}",i // 0x2 ^ 0x14,"\u{20}\u{4d}\u{29}")
117117end
118118a[i]=i
119119end
120120end)
121−print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",(collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400))
121+print("\u{a}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}\u{3a}\u{20}",collectgarbage("\u{63}\u{6f}\u{75}\u{6e}\u{74}") * 0x400)
122122print("\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}\u{20}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{3a}\u{20}",msg)
123−print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",(# a))
123+print("\u{73}\u{69}\u{7a}\u{65}\u{3a}",# a)
124124end
125125toomanyidx()
126126print("\u{4f}\u{4b}")
desk/res/lua/cycled/literals.lua+67−67
@@ -5,22 +5,22 @@ local function dostring
55return assert(load(x),"")()
66end
77dostring("\u{78}\u{20}\u{b}\u{c}\u{20}\u{3d}\u{20}\u{9}\u{d}\u{20}\u{27}\u{61}\u{0}\u{61}\u{27}\u{20}\u{b}\u{c}\u{c}")
8−assert(((x == "\u{61}\u{0}\u{61}") and (string.len(x) == 0x3)))
8+assert(x == "\u{61}\u{0}\u{61}" and string.len(x) == 0x3)
99_G.x=nil
10−assert(("\u{a}\u{22}\u{27}\u{5c}" == "\u{a}\u{22}\u{27}\u{5c}"))
10+assert("\u{a}\u{22}\u{27}\u{5c}" == "\u{a}\u{22}\u{27}\u{5c}")
1111assert(string.find("\u{7}\u{8}\u{c}\u{a}\u{d}\u{9}\u{b}","\u{5e}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{25}\u{63}\u{24}"))
12−assert(("\u{63}\u{31}\u{32}" == "\u{63}\u{31}\u{32}"))
13−assert(("\u{63}\u{61}\u{62}" == "\u{63}\u{61}\u{62}"))
14−assert(("\u{63}" == "\u{63}"))
15−assert(("\u{63}\u{a}" == "\u{63}\u{a}"))
16−assert(("\u{0}\u{0}\u{0}\u{61}\u{6c}\u{6f}" == ("\u{0}" .. ("\u{0}\u{0}" .. "\u{61}\u{6c}\u{6f}"))))
17−assert((0xa .. (0x14 .. (- (0x1e == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")))))
18−assert(("\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}" == "\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}"))
12+assert("\u{63}\u{31}\u{32}" == "\u{63}\u{31}\u{32}")
13+assert("\u{63}\u{61}\u{62}" == "\u{63}\u{61}\u{62}")
14+assert("\u{63}" == "\u{63}")
15+assert("\u{63}\u{a}" == "\u{63}\u{a}")
16+assert("\u{0}\u{0}\u{0}\u{61}\u{6c}\u{6f}" == "\u{0}" .. "\u{0}\u{0}" .. "\u{61}\u{6c}\u{6f}")
17+assert(0xa .. 0x14 .. - 0x1e == "\u{31}\u{30}\u{32}\u{30}\u{2d}\u{33}\u{30}")
18+assert("\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}" == "\u{0}\u{5}\u{10}\u{1f}\u{3c}\u{ff}\u{e8}")
1919local function lexstring
2020(x,y,n)
21−local f = assert(load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. (x .. "\u{2c}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}")),""))
21+local f = assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. x .. "\u{2c}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}",""))
2222local s,l = f()
23−assert(((s == y) and (l == n)))
23+assert(s == y and l == n)
2424end
2525lexstring("\u{27}\u{61}\u{62}\u{63}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{20}\u{20}\u{20}\u{65}\u{66}\u{67}\u{27}","\u{61}\u{62}\u{63}\u{65}\u{66}\u{67}",0x2)
2626lexstring("\u{27}\u{61}\u{62}\u{63}\u{5c}\u{7a}\u{20}\u{20}\u{a}\u{a}\u{a}\u{27}","\u{61}\u{62}\u{63}",0x4)
@@ -30,21 +30,21 @@ lexstring("\u{5b}\u{5b}\u{a}\u{61}\u{6c}\u{6f}\u{d}\u{61}\u{6c}\u{6f}\u{a}\u{a}\
3030lexstring("\u{5b}\u{5b}\u{a}\u{61}\u{6c}\u{6f}\u{d}\u{61}\u{6c}\u{6f}\u{d}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}",0x4)
3131lexstring("\u{5b}\u{5b}\u{d}\u{61}\u{6c}\u{6f}\u{a}\u{d}\u{61}\u{6c}\u{6f}\u{d}\u{a}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{a}\u{61}\u{6c}\u{6f}\u{a}",0x4)
3232lexstring("\u{5b}\u{5b}\u{61}\u{6c}\u{6f}\u{5d}\u{a}\u{5d}\u{61}\u{6c}\u{6f}\u{5d}\u{5d}","\u{61}\u{6c}\u{6f}\u{5d}\u{a}\u{5d}\u{61}\u{6c}\u{6f}",0x2)
33−assert(("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}" == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}"))
34−assert(("\u{0}\u{0}\u{0}\u{0}" == string.char(0x0,0x0,0x0,0x0)))
35−assert(("\u{0}\u{7f}" == "\u{0}\u{7f}"))
36−assert(("\u{80}\u{7ff}" == "\u{c2}\u{80}\u{df}\u{bf}"))
37−assert(("\u{800}\u{ffff}" == "\u{e0}\u{a0}\u{80}\u{ef}\u{bf}\u{bf}"))
38−assert(("\u{10000}\u{1fffff}" == "\u{f0}\u{90}\u{80}\u{80}\u{f7}\u{bf}\u{bf}\u{bf}"))
39−assert(("\u{200000}\u{3ffffff}" == "\u{f8}\u{88}\u{80}\u{80}\u{80}\u{fb}\u{bf}\u{bf}\u{bf}\u{bf}"))
40−assert(("\u{4000000}\u{7fffffff}" == "\u{fc}\u{84}\u{80}\u{80}\u{80}\u{80}\u{fd}\u{bf}\u{bf}\u{bf}\u{bf}\u{bf}"))
33+assert("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}" == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}")
34+assert("\u{0}\u{0}\u{0}\u{0}" == string.char(0x0,0x0,0x0,0x0))
35+assert("\u{0}\u{7f}" == "\u{0}\u{7f}")
36+assert("\u{80}\u{7ff}" == "\u{c2}\u{80}\u{df}\u{bf}")
37+assert("\u{800}\u{ffff}" == "\u{e0}\u{a0}\u{80}\u{ef}\u{bf}\u{bf}")
38+assert("\u{10000}\u{1fffff}" == "\u{f0}\u{90}\u{80}\u{80}\u{f7}\u{bf}\u{bf}\u{bf}")
39+assert("\u{200000}\u{3ffffff}" == "\u{f8}\u{88}\u{80}\u{80}\u{80}\u{fb}\u{bf}\u{bf}\u{bf}\u{bf}")
40+assert("\u{4000000}\u{7fffffff}" == "\u{fc}\u{84}\u{80}\u{80}\u{80}\u{80}\u{fd}\u{bf}\u{bf}\u{bf}\u{bf}\u{bf}")
4141local function lexerror
4242(s,err)
43−local st,msg = load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s),"")
44−if (err ~= "\u{3c}\u{65}\u{6f}\u{66}\u{3e}") then
45−err=(err .. "\u{27}")
43+local st,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s,"")
44+if err ~= "\u{3c}\u{65}\u{6f}\u{66}\u{3e}" then
45+err=err .. "\u{27}"
4646end
47−assert((not (st and string.find(msg,("\u{6e}\u{65}\u{61}\u{72}\u{20}\u{2e}\u{2d}" .. err)))))
47+assert(not st and string.find(msg,"\u{6e}\u{65}\u{61}\u{72}\u{20}\u{2e}\u{2d}" .. err))
4848end
4949lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}\u{22}","\u{5c}\u{78}\u{22}")
5050lexerror("\u{22}\u{61}\u{62}\u{63}\u{5c}\u{78}","\u{5c}\u{78}")
@@ -79,21 +79,21 @@ lexerror("\u{27}\u{61}\u{6c}\u{6f}\u{20}\u{5c}\u{39}\u{38}","\u{3c}\u{65}\u{6f}\
7979for i = 0x0, 0xff
8080do
8181local s = string.char(i)
82−assert((not (string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{5d}") == (not load((s .. "\u{3d}\u{31}"),"")))))
83−assert((not (string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{30}\u{2d}\u{39}\u{5d}") == (not load(("\u{61}" .. (s .. "\u{31}\u{20}\u{3d}\u{20}\u{31}")),"")))))
82+assert(not string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{5d}") == not load(s .. "\u{3d}\u{31}",""))
83+assert(not string.find(s,"\u{5b}\u{61}\u{2d}\u{7a}\u{41}\u{2d}\u{5a}\u{5f}\u{30}\u{2d}\u{39}\u{5d}") == not load("\u{61}" .. s .. "\u{31}\u{20}\u{3d}\u{20}\u{31}",""))
8484end
85−local var1 = (string.rep("\u{61}",0x3a98) .. "\u{31}")
86−local var2 = (string.rep("\u{61}",0x3a98) .. "\u{32}")
85+local var1 = string.rep("\u{61}",0x3a98) .. "\u{31}"
86+local var2 = string.rep("\u{61}",0x3a98) .. "\u{32}"
8787local prog = string.format("\u{20}\u{20}\u{25}\u{73}\u{20}\u{3d}\u{20}\u{35}\u{a}\u{20}\u{20}\u{25}\u{73}\u{20}\u{3d}\u{20}\u{25}\u{73}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{73}\u{20}\u{2d}\u{20}\u{25}\u{73}\u{20}\u{65}\u{6e}\u{64}\u{a}",var1,var2,var1,var1,var2)
8888local f = dostring(prog)
89−assert((((_G[var1] == 0x5) and (_G[var2] == 0x6)) and (f() == (- 0x1))))
89+assert(_G[var1] == 0x5 and _G[var2] == 0x6 and f() == - 0x1)
9090_G[var1],_G[var2]=nil
9191print("\u{2b}")
92−assert(("\u{a}\u{9}" == "\u{a}\u{9}"))
93−assert(("\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}" == "\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}"))
94−assert(("\u{20}\u{5b}\u{20}" ~= "\u{20}\u{5d}\u{20}"))
92+assert("\u{a}\u{9}" == "\u{a}\u{9}")
93+assert("\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}" == "\u{a}\u{20}\u{24}\u{64}\u{65}\u{62}\u{75}\u{67}")
94+assert("\u{20}\u{5b}\u{20}" ~= "\u{20}\u{5d}\u{20}")
9595local b = "\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
96−assert((string.len(b) == 0x3c0))
96+assert(string.len(b) == 0x3c0)
9797prog="\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{31}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{22}\u{74}\u{68}\u{69}\u{73}\u{20}\u{69}\u{73}\u{20}\u{61}\u{20}\u{27}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{73}\u{65}\u{76}\u{65}\u{72}\u{61}\u{6c}\u{20}\u{27}\u{71}\u{75}\u{6f}\u{74}\u{65}\u{73}\u{27}\u{22}\u{5d}\u{5d}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{32}\u{20}\u{3d}\u{20}\u{22}\u{27}\u{71}\u{75}\u{6f}\u{74}\u{65}\u{73}\u{27}\u{22}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{66}\u{69}\u{6e}\u{64}\u{28}\u{61}\u{31}\u{2c}\u{20}\u{61}\u{32}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{33}\u{34}\u{29}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{61}\u{31}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{3d}\u{5b}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{61}\u{6e}\u{20}\u{61}\u{72}\u{62}\u{69}\u{74}\u{72}\u{61}\u{72}\u{79}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{5d}\u{5d}\u{3b}\u{20}\u{5d}\u{3d}\u{3d}\u{5d}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{6c}\u{6f}\u{61}\u{64}\u{28}\u{61}\u{31}\u{29}\u{29}\u{28}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{3d}\u{20}\u{27}\u{61}\u{6e}\u{20}\u{61}\u{72}\u{62}\u{69}\u{74}\u{72}\u{61}\u{72}\u{79}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{27}\u{29}\u{a}\u{5f}\u{47}\u{2e}\u{74}\u{65}\u{6d}\u{70}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{2d}\u{2d}\u{20}\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}\u{20}\u{2d}\u{2d}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{22}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{22}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{6c}\u{65}\u{6e}\u{28}\u{62}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{39}\u{36}\u{30}\u{29}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{27}\u{2b}\u{27}\u{29}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{30}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{a}\u{5d}\u{5d}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{6c}\u{65}\u{6e}\u{28}\u{61}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{38}\u{36}\u{33}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{61}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{34}\u{30}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{73}\u{75}\u{62}\u{28}\u{62}\u{2c}\u{20}\u{31}\u{2c}\u{20}\u{34}\u{30}\u{29}\u{29}\u{a}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{a}"
9898print("\u{2b}")
9999_G.x=nil
@@ -121,39 +121,39 @@ local function foo2
121121return "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
122122end
123123local a1 = getadd(s1)
124−assert((a1 == getadd(s2)))
125−assert((a1 == getadd(foo())))
126−assert((a1 == getadd(foo1())))
127−assert((a1 == getadd(foo2())))
128−local sd = ("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}" .. "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
129−assert(((sd == s1) and (getadd(sd) ~= a1)))
124+assert(a1 == getadd(s2))
125+assert(a1 == getadd(foo()))
126+assert(a1 == getadd(foo1()))
127+assert(a1 == getadd(foo2()))
128+local sd = "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}" .. "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"
129+assert(sd == s1 and getadd(sd) ~= a1)
130130end
131131prog="\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{31}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{61}\u{20}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{a}\u{a}\u{78}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{5b}\u{a}\u{68}\u{69}\u{a}\u{5d}\u{3d}\u{5d}\u{a}\u{79}\u{20}\u{3d}\u{20}\u{22}\u{5c}\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{5c}\u{72}\u{5c}\u{6e}\u{5c}\u{a}\u{22}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{31}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{a}"
132132for _,n in pairs({"\u{a}","\u{d}","\u{a}\u{d}","\u{d}\u{a}"})
133133do
134134local prog,nn = string.gsub(prog,"\u{a}",n)
135−assert((dostring(prog) == nn))
136−assert(((_G.x == "\u{68}\u{69}\u{a}") and (_G.y == "\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{d}\u{a}\u{a}")))
135+assert(dostring(prog) == nn)
136+assert(_G.x == "\u{68}\u{69}\u{a}" and _G.y == "\u{a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{d}\u{a}\u{a}")
137137end
138138_G.x,_G.y=nil
139139local a = "\u{5d}\u{3d}"
140−assert((a == "\u{5d}\u{3d}"))
140+assert(a == "\u{5d}\u{3d}")
141141a="\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"
142−assert((a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"))
142+assert(a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}")
143143a="\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"
144−assert((a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}"))
144+assert(a == "\u{5b}\u{3d}\u{3d}\u{3d}\u{5b}\u{5b}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{5d}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{5d}\u{5d}\u{3d}\u{3d}\u{3d}\u{5d}\u{3d}\u{3d}\u{3d}")
145145a="\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}"
146−assert((a == "\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}"))
146+assert(a == "\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}\u{5d}")
147147local x = {"\u{3d}","\u{5b}","\u{5d}","\u{a}"}
148148local len = 0x4
149149local function gen
150150(c,n)
151−if (n == 0x0) then
151+if n == 0x0 then
152152coroutine.yield(c)
153153else
154154for _,a in pairs(x)
155155do
156−gen((c .. a),(n - 0x1))
156+gen(c .. a,n - 0x1)
157157end
158158end
159159end
@@ -161,20 +161,20 @@ for s in coroutine.wrap(function ()
161161gen("",len)
162162end)
163163do
164−assert((s == load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{a}" .. (s .. "\u{5d}\u{3d}\u{3d}\u{3d}\u{3d}\u{5d}")),"")()))
165−end
166−if (os.setlocale("\u{70}\u{74}\u{5f}\u{42}\u{52}") or os.setlocale("\u{70}\u{74}\u{62}")) then
167−assert(((tonumber("\u{33}\u{2c}\u{34}") == 3.4) and (tonumber("\u{33}\u{2e}\u{34}") == 3.4)))
168−assert((tonumber("\u{20}\u{20}\u{2d}\u{2e}\u{34}\u{20}\u{20}") == (- 0.4)))
169−assert((tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{2e}\u{34}\u{31}\u{20}\u{20}") == 0.25390625))
170−assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{28}\u{33}\u{2c}\u{34}\u{29}")))
171−assert((assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{2e}\u{34}"))() == 3.4))
172−assert((assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{34}\u{2c}\u{33}"))() == 0.4))
173−assert((assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}"))() == 4.0))
174−assert((assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}\u{2b}\u{2e}\u{35}"))() == 4.5))
175−assert(((("\u{20}\u{30}\u{78}\u{2e}\u{31}\u{20}" + "\u{20}\u{30}\u{78}\u{2c}\u{31}") + "\u{2d}\u{30}\u{58}\u{2e}\u{31}\u{9}") == 0.0625))
176−assert((not (tonumber("\u{69}\u{6e}\u{66}") and (not tonumber("\u{4e}\u{41}\u{4e}")))))
177−assert((assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",4.51)))() == 4.51))
164+assert(s == load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{5b}\u{3d}\u{3d}\u{3d}\u{3d}\u{5b}\u{a}" .. s .. "\u{5d}\u{3d}\u{3d}\u{3d}\u{3d}\u{5d}","")())
165+end
166+if os.setlocale("\u{70}\u{74}\u{5f}\u{42}\u{52}") or os.setlocale("\u{70}\u{74}\u{62}") then
167+assert(tonumber("\u{33}\u{2c}\u{34}") == 3.4 and tonumber("\u{33}\u{2e}\u{34}") == 3.4)
168+assert(tonumber("\u{20}\u{20}\u{2d}\u{2e}\u{34}\u{20}\u{20}") == - 0.4)
169+assert(tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{2e}\u{34}\u{31}\u{20}\u{20}") == 0.25390625)
170+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{28}\u{33}\u{2c}\u{34}\u{29}"))
171+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{33}\u{2e}\u{34}"))() == 3.4)
172+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{34}\u{2c}\u{33}"))() == 0.4)
173+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}"))() == 4.0)
174+assert(assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}\u{2b}\u{2e}\u{35}"))() == 4.5)
175+assert("\u{20}\u{30}\u{78}\u{2e}\u{31}\u{20}" + "\u{20}\u{30}\u{78}\u{2c}\u{31}" + "\u{2d}\u{30}\u{58}\u{2e}\u{31}\u{9}" == 0.0625)
176+assert(not tonumber("\u{69}\u{6e}\u{66}") and not tonumber("\u{4e}\u{41}\u{4e}"))
177+assert(assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",4.51)))() == 4.51)
178178local a,b = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{34}\u{2e}\u{35}\u{2e}")
179179assert(string.find(b,"\u{27}\u{34}\u{25}\u{2e}\u{35}\u{25}\u{2e}\u{27}"))
180180assert(os.setlocale("\u{43}"))
@@ -183,15 +183,15 @@ else
183183end
184184local s = "\u{61}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{d}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{a}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{d}\u{a}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{a}\u{d}"
185185local c = string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",s)
186−assert((assert(load(c))() == s))
187−assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")))
188−assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{a}\u{27}")))
189−assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{5c}\u{33}\u{34}\u{35}\u{27}")))
190−assert((not load("\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{78}\u{5d}")))
186+assert(assert(load(c))() == s)
187+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
188+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{6e}\u{6f}\u{6e}\u{2d}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{a}\u{27}"))
189+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{27}\u{5c}\u{33}\u{34}\u{35}\u{27}"))
190+assert(not load("\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{3d}\u{78}\u{5d}"))
191191local function malformednum
192192(n,exp)
193−local s,msg = load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. n))
194−assert((not (s and string.find(msg,exp))))
193+local s,msg = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. n)
194+assert(not s and string.find(msg,exp))
195195end
196196malformednum("\u{30}\u{78}\u{65}\u{2d}","\u{6e}\u{65}\u{61}\u{72}\u{20}\u{3c}\u{65}\u{6f}\u{66}\u{3e}")
197197malformednum("\u{30}\u{78}\u{65}\u{70}\u{2d}\u{70}","\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")
desk/res/lua/cycled/locals.lua+199−199
@@ -7,14 +7,14 @@ x=nil
77;
88return x
99end
10−assert((f(0xa) == nil))
10+assert(f(0xa) == nil)
1111local function f
1212()
1313local x
1414;
1515return x
1616end
17−assert((f(0xa) == nil))
17+assert(f(0xa) == nil)
1818local function f
1919(x)
2020x=nil
@@ -23,25 +23,25 @@ local y
2323;
2424return x,y
2525end
26−assert(((f(0xa) == nil) and (select(0x2,f(0x14)) == nil)))
26+assert(f(0xa) == nil and select(0x2,f(0x14)) == nil)
2727do
2828local i = 0xa
2929do
3030local i = 0x64
3131;
32−assert((i == 0x64))
32+assert(i == 0x64)
3333end
3434do
3535local i = 0x3e8
3636;
37−assert((i == 0x3e8))
37+assert(i == 0x3e8)
3838end
39−assert((i == 0xa))
40−if (i ~= 0xa) then
39+assert(i == 0xa)
40+if i ~= 0xa then
4141local i = 0x14
4242else
4343local i = 0x1e
44−assert((i == 0x1e))
44+assert(i == 0x1e)
4545end
4646end
4747f=nil
@@ -49,7 +49,7 @@ local f
4949local x = 0x1
5050a=nil
5151load("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{7b}\u{7d}")()
52−assert((a == nil))
52+assert(a == nil)
5353function f(a)
5454local _1,_2,_3,_4,_5
5555local _6,_7,_8,_9,_10
@@ -59,11 +59,11 @@ local c,d = a,b
5959if (d == b) then
6060local x = "\u{71}"
6161x=b
62−assert((x == 0x2))
62+assert(x == 0x2)
6363else
6464assert(nil)
6565end
66−assert((x == 0x3))
66+assert(x == 0x3)
6767local f = 0xa
6868end
6969local b = 0xa
@@ -74,40 +74,40 @@ local b
7474;
7575a,b=0x1,0x2
7676;
77−assert(((a + 0x1) == b))
77+assert(a + 0x1 == b)
7878;
79−until ((a + b) == 0x3)
80−assert((x == 0x1))
79+until a + b == 0x3
80+assert(x == 0x1)
8181f(0x2)
82−assert((type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
82+assert(type(f) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
8383local function getenv
8484(f)
8585local a,b = debug.getupvalue(f,0x1)
86−assert((a == "\u{5f}\u{45}\u{4e}\u{56}"))
86+assert(a == "\u{5f}\u{45}\u{4e}\u{56}")
8787return b
8888end
89−assert((getenv(load("\u{61}\u{3d}\u{33}")) == _G))
89+assert(getenv(load("\u{61}\u{3d}\u{33}")) == _G)
9090local c = {}
9191;
9292local f = load("\u{61}\u{20}\u{3d}\u{20}\u{33}",nil,nil,c)
93−assert((getenv(f) == c))
94−assert((c.a == nil))
93+assert(getenv(f) == c)
94+assert(c.a == nil)
9595f()
96−assert((c.a == 0x3))
96+assert(c.a == 0x3)
9797do
9898local i = 0x2
9999local p = 0x4
100100repeat
101−for j = (- 0x3), 0x3
101+for j = - 0x3, 0x3
102102do
103−assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{32}\u{5e}\u{25}\u{73}\u{29}",j,(p - j),i),""))()
104−assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",(- j),(p - j),i),""))()
105−assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{3d}\u{30}\u{2c}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{62}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",(- j),(p - j),i),""))()
103+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2b}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{20}\u{3d}\u{3d}\u{32}\u{5e}\u{25}\u{73}\u{29}",j,p - j,i),""))()
104+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{3d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{61}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",- j,p - j,i),""))()
105+assert(load(string.format("\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{3d}\u{30}\u{2c}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{3d}\u{62}\u{2d}\u{25}\u{73}\u{3b}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{2d}\u{32}\u{5e}\u{25}\u{73}\u{29}",- j,p - j,i),""))()
106106end
107−p=(0x2 * p)
107+p=0x2 * p
108108;
109−i=(i + 0x1)
110−until (p <= 0x0)
109+i=i + 0x1
110+until p <= 0x0
111111end
112112print("\u{2b}")
113113if rawget(_G,"\u{54}") then
@@ -119,10 +119,10 @@ do
119119a[k]=undef
120120end
121121collectgarbage()
122−for i = 0x0, (t - 0x1)
122+for i = 0x0, t - 0x1
123123do
124124local k = querytab(a,i)
125−assert((((k == nil) or (type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}")) or (k == "\u{61}\u{6c}\u{6f}")))
125+assert(k == nil or type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}" or k == "\u{61}\u{6c}\u{6f}")
126126end
127127local a = {}
128128local function additems
@@ -143,17 +143,17 @@ T.alloccount()
143143local count = 0x0
144144for k,v in pairs(a)
145145do
146−assert((a[k] == v))
147−count=(count + 0x1)
146+assert(a[k] == v)
147+count=count + 0x1
148148end
149149if st then
150−assert((count == 0x5))
150+assert(count == 0x5)
151151;
152152break
153153end
154154end
155155end
156−assert((_ENV == _G))
156+assert(_ENV == _G)
157157do
158158local dummy
159159local _ENV = (function (...)
@@ -177,38 +177,38 @@ local _ENV = _G
177177A=0x3e8
178178end
179179return function (x)
180−return (A .. x)
180+return A .. x
181181end
182182end
183183end
184−assert((getenv(foo) == mt))
184+assert(getenv(foo) == mt)
185185x=foo("\u{68}\u{69}")
186186;
187−assert(((mt.A == "\u{68}\u{69}") and (A == 0x3e8)))
188−assert((x("\u{2a}") == (mt.A .. "\u{2a}")))
187+assert(mt.A == "\u{68}\u{69}" and A == 0x3e8)
188+assert(x("\u{2a}") == mt.A .. "\u{2a}")
189189do
190190local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0xa}
191191;
192192do
193193local _ENV = {["\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"] = assert,["\u{41}"] = 0x14}
194194;
195−assert((A == 0x14))
195+assert(A == 0x14)
196196;
197197x=A
198198end
199−assert(((A == 0xa) and (x == 0x14)))
199+assert(A == 0xa and x == 0x14)
200200end
201−assert((x == 0x14))
201+assert(x == 0x14)
202202A=nil
203203do
204204local a <const>,b,c <const> = 0xa,0x14,0x1e
205−b=((a + c) + b)
206−assert((((a == 0xa) and (b == 0x3c)) and (c == 0x1e)))
205+b=a + c + b
206+assert(a == 0xa and b == 0x3c and c == 0x1e)
207207local function checkro
208208(name,code)
209209local st,msg = load(code)
210210local gab = string.format("\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{69}\u{67}\u{6e}\u{20}\u{74}\u{6f}\u{20}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{25}\u{73}\u{27}",name)
211−assert((not (st and string.find(msg,gab))))
211+assert(not st and string.find(msg,gab))
212212end
213213checkro("\u{79}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{2c}\u{20}\u{79}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{7a}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{2c}\u{20}\u{33}\u{30}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{31}\u{3b}\u{20}\u{79}\u{20}\u{3d}\u{20}\u{31}\u{32}")
214214checkro("\u{78}","\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{2c}\u{20}\u{79}\u{2c}\u{20}\u{7a}\u{20}\u{3c}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{3e}\u{20}\u{3d}\u{20}\u{31}\u{30}\u{2c}\u{20}\u{32}\u{30}\u{2c}\u{20}\u{33}\u{30}\u{3b}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{31}\u{31}")
@@ -221,7 +221,7 @@ end
221221print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}")
222222local function stack
223223(n)
224−n=((n == 0x0) or stack((n - 0x1)))
224+n=((n == 0x0) or stack(n - 0x1))
225225end
226226local function func2close
227227(f,x,y)
@@ -237,29 +237,29 @@ local a = {}
237237do
238238local b <close> = false
239239local x <close> = setmetatable({"\u{78}"},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function (self)
240−a[(# (a + 0x1))]=self[0x1]
240+a[# a + 0x1]=self[0x1]
241241end})
242242local w,y <close>,z = func2close(function (self,err)
243−assert((err == nil))
243+assert(err == nil)
244244;
245−a[(# (a + 0x1))]="\u{79}"
245+a[# a + 0x1]="\u{79}"
246246end,0xa,0x14)
247247local c <close> = nil
248−a[(# (a + 0x1))]="\u{69}\u{6e}"
249−assert(((w == 0xa) and (z == 0x14)))
248+a[# a + 0x1]="\u{69}\u{6e}"
249+assert(w == 0xa and z == 0x14)
250250end
251−a[(# (a + 0x1))]="\u{6f}\u{75}\u{74}"
252−assert(((((a[0x1] == "\u{69}\u{6e}") and (a[0x2] == "\u{79}")) and (a[0x3] == "\u{78}")) and (a[0x4] == "\u{6f}\u{75}\u{74}")))
251+a[# a + 0x1]="\u{6f}\u{75}\u{74}"
252+assert(a[0x1] == "\u{69}\u{6e}" and a[0x2] == "\u{79}" and a[0x3] == "\u{78}" and a[0x4] == "\u{6f}\u{75}\u{74}")
253253end
254254do
255255local X = false
256256local x,closescope = func2close(function (_,msg)
257257stack(0xa)
258258;
259−assert((msg == nil))
259+assert(msg == nil)
260260X=true
261261end,0x64)
262−assert((x == 0x64))
262+assert(x == 0x64)
263263;
264264x=0x65
265265;
@@ -269,29 +269,29 @@ local _ <close> = closescope
269269return x,X,0x17
270270end
271271local a,b,c = foo(1.5)
272−assert(((((a == 1.5) and (b == false)) and (c == 0x17)) and (X == true)))
272+assert(a == 1.5 and b == false and c == 0x17 and X == true)
273273X=false
274274foo=function (x)
275275local _ <close> = func2close(function (_,msg)
276−assert((debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}"))
277−assert((msg == nil))
276+assert(debug.getinfo(0x2).name == "\u{66}\u{6f}\u{6f}")
277+assert(msg == nil)
278278end)
279279local _ <close> = closescope
280280local y = 0xf
281281return y
282282end
283−assert(((foo() == 0xf) and (X == true)))
283+assert(foo() == 0xf and X == true)
284284X=false
285285foo=function ()
286286local x <close> = closescope
287287return x
288288end
289−assert(((foo() == closescope) and (X == true)))
289+assert(foo() == closescope and X == true)
290290end
291291do
292292local flag = false
293293local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
294−assert((flag == false))
294+assert(flag == false)
295295;
296296flag=true
297297end})
@@ -305,15 +305,15 @@ end
305305do
306306local flag = false
307307local x = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
308−assert((flag == false))
308+assert(flag == false)
309309;
310310flag=true
311311end})
312312local function a
313313()
314−return function ()
314+return (function ()
315315return nil
316−end,nil,nil,x
316+end),nil,nil,x
317317end
318318local v <const> = 0x1
319319local w <const> = 0x1
@@ -333,7 +333,7 @@ local function foo
333333local _ <close> = func2close(function ()
334334Y=0xa
335335end)
336−assert(((X == true) and (Y == nil)))
336+assert(X == true and Y == nil)
337337return 0x1,0x2,0x3
338338end
339339local function bar
@@ -347,7 +347,7 @@ return foo()
347347end
348348end
349349local a,b,c,d = bar()
350−assert(((((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (X == false)) and (Y == 0xa)) and (d == nil)))
350+assert(a == 0x1 and b == 0x2 and c == 0x3 and X == false and Y == 0xa and d == nil)
351351end
352352do
353353local closed = false
@@ -370,8 +370,8 @@ do
370370return tail()
371371end
372372end
373−assert((foo1() == false))
374−assert((closed == true))
373+assert(foo1() == false)
374+assert(closed == true)
375375end
376376do
377377local closed = false
@@ -411,7 +411,7 @@ assert(string.find(msg,"\u{40}\u{7a}"))
411411error("\u{40}\u{79}")
412412end)
413413local z <close> = func2close(function (self,msg)
414−assert((msg == nil))
414+assert(msg == nil)
415415error("\u{40}\u{7a}")
416416end)
417417return 0xc8
@@ -421,11 +421,11 @@ assert(string.find(msg,"\u{40}\u{78}"))
421421local function foo
422422()
423423local x <close> = func2close(function (self,msg)
424−assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
424+assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
425425assert(string.find(msg,"\u{40}\u{78}\u{31}"))
426426end)
427427local x1 <close> = func2close(function (self,msg)
428−assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
428+assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
429429assert(string.find(msg,"\u{40}\u{79}"))
430430error("\u{40}\u{78}\u{31}")
431431end)
@@ -433,14 +433,14 @@ local gc <close> = func2close(function ()
433433collectgarbage()
434434end)
435435local y <close> = func2close(function (self,msg)
436−assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
436+assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
437437assert(string.find(msg,"\u{40}\u{7a}"))
438438error("\u{40}\u{79}")
439439end)
440440local first = true
441441local z <close> = func2close(function (self,msg)
442−assert((debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}"))
443−assert((first and (msg == 0x4)))
442+assert(debug.getinfo(0x2).name == "\u{70}\u{63}\u{61}\u{6c}\u{6c}")
443+assert(first and msg == 0x4)
444444first=false
445445error("\u{40}\u{7a}")
446446end)
@@ -456,7 +456,7 @@ assert(string.find(msg,"\u{40}\u{58}"))
456456error("\u{40}\u{59}")
457457end)
458458local x123 <close> = func2close(function (_,msg)
459−assert((msg == nil))
459+assert(msg == nil)
460460error("\u{40}\u{58}")
461461end)
462462end
@@ -481,14 +481,14 @@ local x <close> = {}
481481os.exit(false)
482482end
483483local stat,msg = pcall(foo)
484−assert((not (stat and string.find(msg,"\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{27}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{61}\u{20}\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))))
484+assert(not stat and string.find(msg,"\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{27}\u{78}\u{27}\u{20}\u{67}\u{6f}\u{74}\u{20}\u{61}\u{20}\u{6e}\u{6f}\u{6e}\u{25}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}"))
485485local function foo
486486()
487487local xyz <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
488488getmetatable(xyz).__close=nil
489489end
490490local stat,msg = pcall(foo)
491−assert((not (stat and string.find(msg,"\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))))
491+assert(not stat and string.find(msg,"\u{6d}\u{65}\u{74}\u{61}\u{6d}\u{65}\u{74}\u{68}\u{6f}\u{64}\u{20}\u{27}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{27}"))
492492local function foo
493493()
494494local a1 <close> = func2close(function (_,msg)
@@ -497,13 +497,13 @@ error(0xc)
497497end)
498498local a2 <close> = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = print})
499499local a3 <close> = func2close(function (_,msg)
500−assert((msg == nil))
500+assert(msg == nil)
501501error(0x7b)
502502end)
503503getmetatable(a2).__close=0x4
504504end
505505local stat,msg = pcall(foo)
506−assert((not (stat and (msg == 0xc))))
506+assert(not stat and msg == 0xc)
507507end
508508do
509509local track = {}
@@ -511,52 +511,52 @@ local function foo
511511()
512512local x <close> = func2close(function ()
513513local xx <close> = func2close(function (_,msg)
514−assert((msg == nil))
515−track[(# (track + 0x1))]="\u{78}\u{78}"
514+assert(msg == nil)
515+track[# track + 0x1]="\u{78}\u{78}"
516516end)
517−track[(# (track + 0x1))]="\u{78}"
517+track[# track + 0x1]="\u{78}"
518518end)
519−track[(# (track + 0x1))]="\u{66}\u{6f}\u{6f}"
519+track[# track + 0x1]="\u{66}\u{6f}\u{6f}"
520520return 0x14,0x1e,0x28
521521end
522522local a,b,c,d = foo()
523−assert(((((a == 0x14) and (b == 0x1e)) and (c == 0x28)) and (d == nil)))
524−assert((((track[0x1] == "\u{66}\u{6f}\u{6f}") and (track[0x2] == "\u{78}")) and (track[0x3] == "\u{78}\u{78}")))
523+assert(a == 0x14 and b == 0x1e and c == 0x28 and d == nil)
524+assert(track[0x1] == "\u{66}\u{6f}\u{6f}" and track[0x2] == "\u{78}" and track[0x3] == "\u{78}\u{78}")
525525local track = {}
526526local function foo
527527()
528528local x0 <close> = func2close(function (_,msg)
529−assert((msg == 0xca))
530−track[(# (track + 0x1))]="\u{78}\u{30}"
529+assert(msg == 0xca)
530+track[# track + 0x1]="\u{78}\u{30}"
531531end)
532532local x <close> = func2close(function ()
533533local xx <close> = func2close(function (_,msg)
534−assert((msg == 0x65))
535−track[(# (track + 0x1))]="\u{78}\u{78}"
534+assert(msg == 0x65)
535+track[# track + 0x1]="\u{78}\u{78}"
536536error(0xca)
537537end)
538−track[(# (track + 0x1))]="\u{78}"
538+track[# track + 0x1]="\u{78}"
539539error(0x65)
540540end)
541−track[(# (track + 0x1))]="\u{66}\u{6f}\u{6f}"
541+track[# track + 0x1]="\u{66}\u{6f}\u{6f}"
542542return 0x14,0x1e,0x28
543543end
544544local st,msg = pcall(foo)
545−assert((not (st and (msg == 0xca))))
546−assert(((((track[0x1] == "\u{66}\u{6f}\u{6f}") and (track[0x2] == "\u{78}")) and (track[0x3] == "\u{78}\u{78}")) and (track[0x4] == "\u{78}\u{30}")))
545+assert(not st and msg == 0xca)
546+assert(track[0x1] == "\u{66}\u{6f}\u{6f}" and track[0x2] == "\u{78}" and track[0x3] == "\u{78}\u{78}" and track[0x4] == "\u{78}\u{30}")
547547end
548548local function checktable
549549(t1,t2)
550−assert((# (t1 == (# t2))))
551−for i = 0x1, (# t1)
550+assert(# t1 == # t2)
551+for i = 0x1, # t1
552552do
553−assert((t1[i] == t2[i]))
553+assert(t1[i] == t2[i])
554554end
555555end
556556do
557557local function overflow
558558(n)
559−overflow((n + 0x1))
559+overflow(n + 0x1)
560560end
561561local function errorh
562562(m)
@@ -570,7 +570,7 @@ local flag
570570local st,obj
571571local co = coroutine.wrap(function ()
572572local y <close> = func2close(function (obj,msg)
573−assert((msg == nil))
573+assert(msg == nil)
574574obj[0x1]=0x64
575575flag=obj
576576end)
@@ -579,7 +579,7 @@ st,obj=xpcall(overflow,errorh,0x0)
579579tracegc.start()
580580end)
581581co()
582−assert((not ((st and (obj[0x1] == 0xa)) and (flag[0x1] == 0x64))))
582+assert(not st and obj[0x1] == 0xa and flag[0x1] == 0x64)
583583end
584584if rawget(_G,"\u{54}") then
585585do
@@ -590,15 +590,15 @@ collectgarbage()
590590collectgarbage()
591591local function loop
592592(n)
593−if (n < 0x190) then
594−loop((n + 0x1))
593+if n < 0x190 then
594+loop(n + 0x1)
595595end
596596end
597597local o = setmetatable({},{["\u{5f}\u{5f}\u{63}\u{6c}\u{6f}\u{73}\u{65}"] = function ()
598598loop(0x0)
599599end})
600600local script = "\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{3b}\u{20}\u{73}\u{65}\u{74}\u{74}\u{6f}\u{70}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}"
601−assert((T.testC(script,o) == script))
601+assert(T.testC(script,o) == script)
602602end
603603local function foo
604604()
@@ -614,7 +614,7 @@ error(0x3e8)
614614end
615615stack(0x5)
616616local _,msg = pcall(foo)
617−assert((msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}"))
617+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
618618local closemsg
619619local close = func2close(function (self,msg)
620620T.alloccount()
@@ -633,30 +633,30 @@ local x <close> = enter(0x0)
633633local y = {}
634634end
635635local _,msg = pcall(test)
636−assert(((msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}") and (closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
636+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}" and closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
637637local function test
638638()
639639local xxx <close> = func2close(function (self,msg)
640−assert((msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}"))
640+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
641641;
642642error(0x3e8)
643643end)
644644local xx <close> = func2close(function (self,msg)
645−assert((msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}"))
645+assert(msg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
646646;
647647end)
648648local x <close> = enter(0x0)
649649local y = {}
650650end
651651local _,msg = pcall(test)
652−assert(((msg == 0x3e8) and (closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")))
652+assert(msg == 0x3e8 and closemsg == "\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}")
653653do
654654collectgarbage()
655655local s = string.rep("\u{61}",0x2710)
656656local m = T.totalmem()
657657collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
658658s=string.upper(s)
659−assert(((T.totalmem() - m) <= 0x2af8))
659+assert(T.totalmem() - m <= 0x2af8)
660660collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
661661end
662662do
@@ -669,17 +669,17 @@ collectgarbage()
669669collectgarbage()
670670local m = T.totalmem()
671671collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
672−T.totalmem((m + extra))
673−assert((not pcall(table.concat,a)))
674−assert(((T.totalmem() - m) <= extra))
675−T.totalmem(((m + lim) + extra))
676−assert((not pcall(table.concat,a)))
677−assert(((T.totalmem() - m) <= extra))
678−T.totalmem(((m + (0x2 * lim)) + extra))
679−assert((not pcall(table.concat,a)))
680−assert(((T.totalmem() - m) <= extra))
681−T.totalmem(((m + (0x4 * lim)) + extra))
682−assert((# (table.concat(a) == (0x2 * lim))))
672+T.totalmem(m + extra)
673+assert(not pcall(table.concat,a))
674+assert(T.totalmem() - m <= extra)
675+T.totalmem(m + lim + extra)
676+assert(not pcall(table.concat,a))
677+assert(T.totalmem() - m <= extra)
678+T.totalmem(m + 0x2 * lim + extra)
679+assert(not pcall(table.concat,a))
680+assert(T.totalmem() - m <= extra)
681+T.totalmem(m + 0x4 * lim + extra)
682+assert(# table.concat(a) == 0x2 * lim)
683683T.totalmem(0x0)
684684collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
685685print("\u{2b}")
@@ -688,13 +688,13 @@ do
688688local trace = {}
689689local function hook
690690(event)
691−trace[(# (trace + 0x1))]=(event .. ("\u{20}" .. (debug.getinfo(0x2).name or "\u{3f}")))
691+trace[# trace + 0x1]=event .. "\u{20}" .. (debug.getinfo(0x2).name or "\u{3f}")
692692end
693693local x = func2close(function (_,msg)
694−trace[(# (trace + 0x1))]="\u{78}"
694+trace[# trace + 0x1]="\u{78}"
695695end)
696696local y = func2close(function (_,msg)
697−trace[(# (trace + 0x1))]="\u{79}"
697+trace[# trace + 0x1]="\u{79}"
698698end)
699699debug.sethook(hook,"\u{72}")
700700local t = {T.testC("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{78}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{6e}\u{75}\u{6d}\u{20}\u{31}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{70}\u{75}\u{73}\u{68}\u{69}\u{6e}\u{74}\u{20}\u{32}\u{30}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{33}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{23}\u{20}\u{79}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}",x,y)}
@@ -707,12 +707,12 @@ do
707707local trace = {}
708708local function hook
709709(event)
710−trace[(# (trace + 0x1))]=(event .. ("\u{20}" .. debug.getinfo(0x2).name))
710+trace[# trace + 0x1]=event .. "\u{20}" .. debug.getinfo(0x2).name
711711end
712712local function foo
713713(...)
714714local x <close> = func2close(function (_,msg)
715−trace[(# (trace + 0x1))]="\u{78}"
715+trace[# trace + 0x1]="\u{78}"
716716end)
717717local y <close> = func2close(function (_,msg)
718718debug.sethook(hook,"\u{72}")
@@ -728,35 +728,35 @@ print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\
728728do
729729local trace = {}
730730local co = coroutine.wrap(function ()
731−trace[(# (trace + 0x1))]="\u{6e}\u{6f}\u{77}\u{58}"
731+trace[# trace + 0x1]="\u{6e}\u{6f}\u{77}\u{58}"
732732local x <close> = func2close(function (_,msg)
733−assert((msg == nil))
734−trace[(# (trace + 0x1))]="\u{78}\u{31}"
733+assert(msg == nil)
734+trace[# trace + 0x1]="\u{78}\u{31}"
735735coroutine.yield("\u{78}")
736−trace[(# (trace + 0x1))]="\u{78}\u{32}"
736+trace[# trace + 0x1]="\u{78}\u{32}"
737737end)
738738return pcall(function ()
739739do
740740local z <close> = func2close(function (_,msg)
741−assert((msg == nil))
742−trace[(# (trace + 0x1))]="\u{7a}\u{31}"
741+assert(msg == nil)
742+trace[# trace + 0x1]="\u{7a}\u{31}"
743743coroutine.yield("\u{7a}")
744−trace[(# (trace + 0x1))]="\u{7a}\u{32}"
744+trace[# trace + 0x1]="\u{7a}\u{32}"
745745end)
746746end
747−trace[(# (trace + 0x1))]="\u{6e}\u{6f}\u{77}\u{59}"
747+trace[# trace + 0x1]="\u{6e}\u{6f}\u{77}\u{59}"
748748local y <close> = func2close(function (_,msg)
749−assert((msg == nil))
750−trace[(# (trace + 0x1))]="\u{79}\u{31}"
749+assert(msg == nil)
750+trace[# trace + 0x1]="\u{79}\u{31}"
751751coroutine.yield("\u{79}")
752−trace[(# (trace + 0x1))]="\u{79}\u{32}"
752+trace[# trace + 0x1]="\u{79}\u{32}"
753753end)
754754return 0xa,0x14,0x1e
755755end)
756756end)
757−assert((co() == "\u{7a}"))
758−assert((co() == "\u{79}"))
759−assert((co() == "\u{78}"))
757+assert(co() == "\u{7a}")
758+assert(co() == "\u{79}")
759+assert(co() == "\u{78}")
760760checktable({co()},{true,0xa,0x14,0x1e})
761761checktable(trace,{"\u{6e}\u{6f}\u{77}\u{58}","\u{7a}\u{31}","\u{7a}\u{32}","\u{6e}\u{6f}\u{77}\u{59}","\u{79}\u{31}","\u{79}\u{32}","\u{78}\u{31}","\u{78}\u{32}"})
762762end
@@ -770,15 +770,15 @@ if extra then
770770extrares=co()
771771end
772772local res = table.pack(co())
773−assert(((res.n == 0x2) and (res[0x2] == nil)))
773+assert(res.n == 0x2 and res[0x2] == nil)
774774local res2 = table.pack(co())
775−assert((res2.n == t.n))
776−for i = 0x1, (# t)
775+assert(res2.n == t.n)
776+for i = 0x1, # t
777777do
778−if (t[i] == "\u{78}") then
779−assert((res2[i] == res[0x1]))
778+if t[i] == "\u{78}" then
779+assert(res2[i] == res[0x1])
780780else
781−assert((res2[i] == t[i]))
781+assert(res2[i] == t[i])
782782end
783783end
784784end
@@ -786,14 +786,14 @@ local function foo
786786()
787787local x <close> = func2close(coroutine.yield)
788788local extra <close> = func2close(function (self)
789−assert((self == extrares))
789+assert(self == extrares)
790790coroutine.yield(0x64)
791791end)
792792extrares=extra
793793return table.unpack({0xa,x,0x1e})
794794end
795795check(foo,true,0xa,"\u{78}",0x1e)
796−assert((extrares == 0x64))
796+assert(extrares == 0x64)
797797local function foo
798798()
799799local x <close> = func2close(coroutine.yield)
@@ -820,23 +820,23 @@ local co = coroutine.wrap(function ()
820820local function foo
821821(err)
822822local z <close> = func2close(function (_,msg)
823−assert(((msg == nil) or (msg == (err + 0x14))))
823+assert(msg == nil or msg == err + 0x14)
824824coroutine.yield("\u{7a}")
825825return 0x64,0xc8
826826end)
827827local y <close> = func2close(function (_,msg)
828−assert(((msg == err) or ((msg == nil) and (err == 0x1))))
828+assert(msg == err or (msg == nil and err == 0x1))
829829coroutine.yield("\u{79}")
830830if err then
831−error((err + 0x14))
831+error(err + 0x14)
832832end
833833end)
834834local x <close> = func2close(function (_,msg)
835−assert(((msg == err) or ((msg == nil) and (err == 0x1))))
835+assert(msg == err or (msg == nil and err == 0x1))
836836coroutine.yield("\u{78}")
837837return 0x64,0xc8
838838end)
839−if (err == 0xa) then
839+if err == 0xa then
840840error(err)
841841else
842842return 0xa,0x14
@@ -847,29 +847,29 @@ coroutine.yield(pcall(foo,0x1))
847847return pcall(foo,0xa)
848848end)
849849local a,b = co()
850−assert(((a == "\u{78}") and (b == nil)))
850+assert(a == "\u{78}" and b == nil)
851851a,b=co()
852−assert(((a == "\u{79}") and (b == nil)))
852+assert(a == "\u{79}" and b == nil)
853853a,b=co()
854−assert(((a == "\u{7a}") and (b == nil)))
854+assert(a == "\u{7a}" and b == nil)
855855local a,b,c = co()
856−assert(((a and (b == 0xa)) and (c == 0x14)))
856+assert(a and b == 0xa and c == 0x14)
857857local a,b = co()
858−assert(((a == "\u{78}") and (b == nil)))
858+assert(a == "\u{78}" and b == nil)
859859a,b=co()
860−assert(((a == "\u{79}") and (b == nil)))
860+assert(a == "\u{79}" and b == nil)
861861a,b=co()
862−assert(((a == "\u{7a}") and (b == nil)))
862+assert(a == "\u{7a}" and b == nil)
863863local st,msg = co()
864−assert((not (st and (msg == 0x15))))
864+assert(not st and msg == 0x15)
865865local a,b = co()
866−assert(((a == "\u{78}") and (b == nil)))
866+assert(a == "\u{78}" and b == nil)
867867a,b=co()
868−assert(((a == "\u{79}") and (b == nil)))
868+assert(a == "\u{79}" and b == nil)
869869a,b=co()
870−assert(((a == "\u{7a}") and (b == nil)))
870+assert(a == "\u{7a}" and b == nil)
871871local st,msg = co()
872−assert((not (st and (msg == (0xa + 0x14)))))
872+assert(not st and msg == 0xa + 0x14)
873873end
874874do
875875local x = false
@@ -888,59 +888,59 @@ coroutine.yield(0xc8)
888888error(0x17)
889889end)
890890local b = co()
891−assert(((b == 0x64) and (not (x and (not y)))))
891+assert(b == 0x64 and not x and not y)
892892b=co()
893−assert(((b == 0xc8) and (not (x and y))))
893+assert(b == 0xc8 and not x and y)
894894local a,b = pcall(co)
895−assert((not (((a and (b == 0x17)) and x) and y)))
895+assert(not a and b == 0x17 and x and y)
896896end
897897do
898898local x = 0x0
899899local co = coroutine.wrap(function ()
900900local xx <close> = func2close(function (_,msg)
901−x=(x + 0x1)
901+x=x + 0x1
902902;
903903assert(string.find(msg,"\u{40}\u{58}\u{58}\u{58}"))
904904error("\u{40}\u{59}\u{59}\u{59}")
905905end)
906906local xv <close> = func2close(function ()
907−x=(x + 0x1)
907+x=x + 0x1
908908;
909909error("\u{40}\u{58}\u{58}\u{58}")
910910end)
911911coroutine.yield(0x64)
912912error(0xc8)
913913end)
914−assert((co() == 0x64))
914+assert(co() == 0x64)
915915;
916−assert((x == 0x0))
916+assert(x == 0x0)
917917local st,msg = pcall(co)
918918;
919−assert((x == 0x2))
920−assert((not (st and string.find(msg,"\u{40}\u{59}\u{59}\u{59}"))))
919+assert(x == 0x2)
920+assert(not st and string.find(msg,"\u{40}\u{59}\u{59}\u{59}"))
921921local x = 0x0
922922local y = 0x0
923923co=coroutine.wrap(function ()
924924local xx <close> = func2close(function (_,err)
925−y=(y + 0x1)
925+y=y + 0x1
926926;
927927assert(string.find(err,"\u{58}\u{58}\u{58}"))
928928error("\u{59}\u{59}\u{59}")
929929end)
930930local xv <close> = func2close(function ()
931−x=(x + 0x1)
931+x=x + 0x1
932932;
933933error("\u{58}\u{58}\u{58}")
934934end)
935935coroutine.yield(0x64)
936936return 0xc8
937937end)
938−assert((co() == 0x64))
938+assert(co() == 0x64)
939939;
940−assert((x == 0x0))
940+assert(x == 0x0)
941941local st,msg = pcall(co)
942−assert(((x == 0x1) and (y == 0x1)))
943−assert((not (st and string.find(msg,"\u{25}\u{77}\u{2b}\u{25}\u{2e}\u{25}\u{77}\u{2b}\u{3a}\u{25}\u{64}\u{2b}\u{3a}\u{20}\u{59}\u{59}\u{59}"))))
942+assert(x == 0x1 and y == 0x1)
943+assert(not st and string.find(msg,"\u{25}\u{77}\u{2b}\u{25}\u{2e}\u{25}\u{77}\u{2b}\u{3a}\u{25}\u{64}\u{2b}\u{3a}\u{20}\u{59}\u{59}\u{59}"))
944944end
945945local co
946946co=coroutine.wrap(function ()
@@ -951,7 +951,7 @@ co=nil
951951coroutine.yield()
952952end)
953953co()
954−assert((co == nil))
954+assert(co == nil)
955955collectgarbage()
956956if rawget(_G,"\u{54}") then
957957print("\u{74}\u{6f}\u{2d}\u{62}\u{65}\u{2d}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{64}\u{20}\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{78}\u{20}\u{63}\u{6f}\u{72}\u{6f}\u{75}\u{74}\u{69}\u{6e}\u{65}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{43}")
@@ -960,17 +960,17 @@ local token = 0x0
960960local count = 0x0
961961local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{32}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{a}\u{20}\u{20}\u{20}\u{20}")
962962local obj = func2close(function (_,msg)
963−count=(count + 0x1)
963+count=count + 0x1
964964token=coroutine.yield(count,token)
965965end)
966966local co = coroutine.wrap(f)
967967local ct,res = co(obj,obj,0xa,0x14,0x1e,0x3)
968−assert(((ct == 0x1) and (res == 0x0)))
968+assert(ct == 0x1 and res == 0x0)
969969ct,res=co(0x64)
970−assert(((ct == 0x2) and (res == 0x64)))
970+assert(ct == 0x2 and res == 0x64)
971971res={co(0xc8)}
972−assert(((((res[0x1] == 0xa) and (res[0x2] == 0x14)) and (res[0x3] == 0x1e)) and (res[0x4] == nil)))
973−assert((token == 0xc8))
972+assert(res[0x1] == 0xa and res[0x2] == 0x14 and res[0x3] == 0x1e and res[0x4] == nil)
973+assert(token == 0xc8)
974974end
975975do
976976local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2e}\u{a}\u{20}\u{20}\u{20}\u{20}")
@@ -985,65 +985,65 @@ return 0x1,0x2,0x3
985985end)
986986local co = coroutine.wrap(f)
987987local res = co(obj,0xa,0x1e,0x1)
988−assert((res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{62}\u{6a}"))
988+assert(res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{62}\u{6a}")
989989res=co("\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}")
990−assert((res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}"))
990+assert(res == "\u{63}\u{6c}\u{6f}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{78}")
991991res={co()}
992−assert(((res[0x1] == 0x1e) and (res[0x2] == nil)))
992+assert(res[0x1] == 0x1e and res[0x2] == nil)
993993end
994994do
995995local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{73}\u{6c}\u{6f}\u{74}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}")
996996local obj = func2close(coroutine.yield)
997997local co = coroutine.create(f)
998998local st,msg = coroutine.resume(co,obj)
999−assert((not (st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{61}\u{63}\u{72}\u{6f}\u{73}\u{73}"))))
999+assert(not st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{61}\u{63}\u{72}\u{6f}\u{73}\u{73}"))
10001000local f = T.makeCfunc("\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{74}\u{6f}\u{63}\u{6c}\u{6f}\u{73}\u{65}\u{20}\u{31}\u{a}\u{20}\u{20}\u{20}\u{20}")
10011001local st,msg = pcall(f,obj)
1002−assert((not (st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{6f}\u{75}\u{74}\u{73}\u{69}\u{64}\u{65}"))))
1002+assert(not st and string.find(msg,"\u{61}\u{74}\u{74}\u{65}\u{6d}\u{70}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{79}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{66}\u{72}\u{6f}\u{6d}\u{20}\u{6f}\u{75}\u{74}\u{73}\u{69}\u{64}\u{65}"))
10031003end
10041004end
10051005do
10061006local numopen = 0x0
10071007local function open
10081008(x)
1009−numopen=(numopen + 0x1)
1009+numopen=numopen + 0x1
10101010return function ()
1011−x=(x - 0x1)
1012−if (x > 0x0) then
1011+x=x - 0x1
1012+if x > 0x0 then
10131013return x
10141014end
10151015end,nil,nil,func2close(function ()
1016−numopen=(numopen - 0x1)
1016+numopen=numopen - 0x1
10171017end)
10181018end
10191019local s = 0x0
10201020for i in open(0xa)
10211021do
1022−s=(s + i)
1022+s=s + i
10231023end
1024−assert(((s == 0x2d) and (numopen == 0x0)))
1024+assert(s == 0x2d and numopen == 0x0)
10251025local s = 0x0
10261026for i in open(0xa)
10271027do
1028−if (i < 0x5) then
1028+if i < 0x5 then
10291029break
10301030end
1031−s=(s + i)
1031+s=s + i
10321032end
1033−assert(((s == 0x23) and (numopen == 0x0)))
1033+assert(s == 0x23 and numopen == 0x0)
10341034local s = 0x0
10351035for i in open(0xa)
10361036do
10371037for j in open(0xa)
10381038do
1039−if ((i + j) < 0x5) then
1039+if i + j < 0x5 then
10401040goto endloop
10411041end
1042−s=(s + i)
1042+s=s + i
10431043end
10441044end
10451045::endloop::
1046−assert(((s == 0x177) and (numopen == 0x0)))
1046+assert(s == 0x177 and numopen == 0x0)
10471047end
10481048print("\u{4f}\u{4b}")
10491049return 0x5,f
desk/res/lua/cycled/main.lua+32−32
@@ -3,7 +3,7 @@ return
33end
44print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{74}\u{61}\u{6e}\u{64}\u{2d}\u{61}\u{6c}\u{6f}\u{6e}\u{65}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{72}\u{70}\u{72}\u{65}\u{74}\u{65}\u{72}")
55assert(os.execute())
6−local arg = (arg or ARG)
6+local arg = arg or ARG
77local prog = os.tmpname()
88local otherprog = os.tmpname()
99local out = os.tmpname()
@@ -11,14 +11,14 @@ local progname
1111do
1212local i = 0x0
1313while arg[i] do
14−i=(i - 0x1)
14+i=i - 0x1
1515end
16−progname=arg[(i + 0x1)]
16+progname=arg[i + 0x1]
1717end
18−print(("\u{70}\u{72}\u{6f}\u{67}\u{6e}\u{61}\u{6d}\u{65}\u{3a}\u{20}" .. progname))
18+print("\u{70}\u{72}\u{6f}\u{67}\u{6e}\u{61}\u{6d}\u{65}\u{3a}\u{20}" .. progname)
1919local prepfile = function (s,mod,p)
20−mod=((mod and "\u{77}\u{62}") or "\u{77}")
21−p=(p or prog)
20+mod=mod and "\u{77}\u{62}" or "\u{77}"
21+p=p or prog
2222local f = io.open(p,mod)
2323f:write(s)
2424assert(f:close())
@@ -33,7 +33,7 @@ return t
3333end
3434local function checkprogout
3535(s)
36−assert((string.sub(s,(- 0x1)) == "\u{a}"))
36+assert(string.sub(s,- 0x1) == "\u{a}")
3737local t = getoutput()
3838for line in string.gmatch(s,"\u{2e}\u{2d}\u{a}")
3939do
@@ -43,24 +43,24 @@ end
4343local function checkout
4444(s)
4545local t = getoutput()
46−if (s ~= t) then
46+if s ~= t then
4747print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{2d}\u{20}\u{27}\u{25}\u{73}\u{27}\u{a}",s,t))
4848end
49−assert((s == t))
49+assert(s == t)
5050return t
5151end
5252local function RUN
5353(p, ...)
54−p=string.gsub(p,"\u{6c}\u{75}\u{61}",("\u{22}" .. (progname .. "\u{22}")),0x1)
54+p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",0x1)
5555local s = string.format(p,...)
5656assert(os.execute(s))
5757end
5858local function NoRun
5959(msg,p, ...)
60−p=string.gsub(p,"\u{6c}\u{75}\u{61}",("\u{22}" .. (progname .. "\u{22}")),0x1)
60+p=string.gsub(p,"\u{6c}\u{75}\u{61}","\u{22}" .. progname .. "\u{22}",0x1)
6161local s = string.format(p,...)
6262s=string.format("\u{25}\u{73}\u{20}\u{3e}\u{25}\u{73}\u{20}\u{32}\u{3e}\u{26}\u{31}",s,out)
63−assert((not os.execute(s)))
63+assert(not os.execute(s))
6464assert(string.find(getoutput(),msg,0x1,true))
6565end
6666RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{76}")
@@ -121,22 +121,22 @@ defaultpath=string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}")
121121defaultCpath=string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")
122122RUN("\u{65}\u{6e}\u{76}\u{20}\u{2d}\u{69}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
123123local out = getoutput()
124−assert((defaultpath == string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}")))
125−assert((defaultCpath == string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}")))
124+assert(defaultpath == string.match(output,"\u{5e}\u{28}\u{2e}\u{2d}\u{29}\u{9}"))
125+assert(defaultCpath == string.match(output,"\u{9}\u{28}\u{2e}\u{2d}\u{29}\u{24}"))
126126end
127−assert((not ((string.find(defaultpath,"\u{78}\u{78}\u{78}") and string.find(defaultpath,"\u{6c}\u{75}\u{61}")) and (not (string.find(defaultCpath,"\u{78}\u{78}\u{78}") and string.find(defaultCpath,"\u{6c}\u{75}\u{61}"))))))
127+assert(not string.find(defaultpath,"\u{78}\u{78}\u{78}") and string.find(defaultpath,"\u{6c}\u{75}\u{61}") and not string.find(defaultCpath,"\u{78}\u{78}\u{78}") and string.find(defaultCpath,"\u{6c}\u{75}\u{61}"))
128128local function convert
129129(p)
130130prepfile("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{70}\u{61}\u{63}\u{6b}\u{61}\u{67}\u{65}\u{2e}\u{70}\u{61}\u{74}\u{68}\u{29}")
131131RUN("\u{65}\u{6e}\u{76}\u{20}\u{4c}\u{55}\u{41}\u{5f}\u{50}\u{41}\u{54}\u{48}\u{3d}\u{22}\u{25}\u{73}\u{22}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",p,prog,out)
132132local expected = getoutput()
133−expected=string.sub(expected,0x1,(- 0x2))
133+expected=string.sub(expected,0x1,- 0x2)
134134if string.find(p,"\u{3b}\u{3b}") then
135−p=string.gsub(p,"\u{3b}\u{3b}",("\u{3b}" .. (defaultpath .. "\u{3b}")))
135+p=string.gsub(p,"\u{3b}\u{3b}","\u{3b}" .. defaultpath .. "\u{3b}")
136136p=string.gsub(p,"\u{5e}\u{3b}","")
137137p=string.gsub(p,"\u{3b}\u{24}","")
138138end
139−assert((p == expected))
139+assert(p == expected)
140140end
141141convert("\u{3b}")
142142convert("\u{3b}\u{3b}")
@@ -194,19 +194,19 @@ local prompt = "\u{61}\u{6c}\u{6f}"
194194prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
195195RUN("\u{6c}\u{75}\u{61}\u{20}\u{22}\u{2d}\u{65}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{27}\u{25}\u{73}\u{27}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prompt,prog,out)
196196local t = getoutput()
197−assert(string.find(t,(prompt .. ("\u{2e}\u{2a}" .. (prompt .. ("\u{2e}\u{2a}" .. prompt))))))
197+assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
198198prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
199199RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
200200local t = getoutput()
201201prompt="\u{3e}\u{20}"
202−assert(string.find(t,(prompt .. ("\u{2e}\u{2a}" .. (prompt .. ("\u{2e}\u{2a}" .. prompt))))))
202+assert(string.find(t,prompt .. "\u{2e}\u{2a}" .. prompt .. "\u{2e}\u{2a}" .. prompt))
203203prompt="\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{43}\u{20}\u{3d}\u{20}\u{30}\u{3b}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{50}\u{54}\u{3d}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{7b}\u{7d}\u{2c}\u{7b}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{43}\u{20}\u{3d}\u{20}\u{43}\u{20}\u{2b}\u{20}\u{31}\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{43}\u{20}\u{65}\u{6e}\u{64}\u{7d}\u{29}"
204204prepfile("\u{20}\u{2d}\u{2d}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}")
205205RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{25}\u{73}\u{22}\u{20}\u{2d}\u{69}\u{20}\u{3c}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prompt,prog,out)
206206local t = getoutput()
207207assert(string.find(t,"\u{31}\u{20}\u{2d}\u{2d}\u{a}\u{32}\u{61}\u{20}\u{3d}\u{20}\u{32}\u{a}\u{33}\u{a}",0x1,true))
208208prepfile("\u{64}\u{65}\u{62}\u{75}\u{67}\u{20}\u{3d}\u{20}\u{72}\u{65}\u{71}\u{75}\u{69}\u{72}\u{65}\u{20}\u{22}\u{64}\u{65}\u{62}\u{75}\u{67}\u{22}\u{a}\u{6d}\u{20}\u{3d}\u{20}\u{7b}\u{78}\u{3d}\u{30}\u{7d}\u{a}\u{73}\u{65}\u{74}\u{6d}\u{65}\u{74}\u{61}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{28}\u{6d}\u{2c}\u{20}\u{7b}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{20}\u{3d}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{28}\u{78}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{28}\u{64}\u{65}\u{62}\u{75}\u{67}\u{2e}\u{67}\u{65}\u{74}\u{69}\u{6e}\u{66}\u{6f}\u{28}\u{34}\u{29}\u{2e}\u{63}\u{75}\u{72}\u{72}\u{65}\u{6e}\u{74}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{2b}\u{20}\u{78}\u{2e}\u{78}\u{29}\u{a}\u{65}\u{6e}\u{64}\u{7d}\u{29}\u{a}\u{65}\u{72}\u{72}\u{6f}\u{72}\u{28}\u{6d}\u{29}\u{a}")
209−NoRun((progname .. "\u{3a}\u{20}\u{36}\u{a}"),"\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
209+NoRun(progname .. "\u{3a}\u{20}\u{36}\u{a}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
210210prepfile("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{7b}\u{7d}")
211211NoRun("\u{65}\u{72}\u{72}\u{6f}\u{72}\u{20}\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{20}\u{69}\u{73}\u{20}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}","\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
212212local s = "\u{20}\u{2d}\u{2d}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{20}\u{28}\u{20}\u{78}\u{20}\u{29}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{20}\u{3d}\u{20}\u{5b}\u{5b}\u{a}\u{78}\u{75}\u{78}\u{75}\u{a}\u{5d}\u{5d}\u{a}\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{22}\u{5c}\u{a}\u{78}\u{75}\u{78}\u{75}\u{5c}\u{6e}\u{22}\u{a}\u{20}\u{20}\u{69}\u{66}\u{20}\u{78}\u{20}\u{3d}\u{3d}\u{20}\u{31}\u{31}\u{20}\u{74}\u{68}\u{65}\u{6e}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{2b}\u{20}\u{31}\u{32}\u{20}\u{2c}\u{20}\u{32}\u{20}\u{2b}\u{20}\u{32}\u{30}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}\u{2d}\u{2d}\u{5b}\u{5b}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{6d}\u{75}\u{6c}\u{74}\u{69}\u{70}\u{6c}\u{65}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{73}\u{20}\u{5d}\u{5d}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{20}\u{2b}\u{20}\u{31}\u{a}\u{20}\u{20}\u{2d}\u{2d}\u{5c}\u{5c}\u{a}\u{65}\u{6e}\u{64}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{28}\u{20}\u{66}\u{28}\u{20}\u{31}\u{30}\u{30}\u{20}\u{29}\u{20}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{20}\u{61}\u{20}\u{3d}\u{3d}\u{20}\u{62}\u{20}\u{29}\u{a}\u{64}\u{6f}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{66}\u{28}\u{20}\u{31}\u{31}\u{20}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{20}"
@@ -216,7 +216,7 @@ RUN("\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{65}\u{22}\u{5f}\u{50}\u{52}\u{4f}\u{4d}\u{
216216checkprogout("\u{31}\u{30}\u{31}\u{a}\u{31}\u{33}\u{9}\u{32}\u{32}\u{a}\u{a}")
217217prepfile("\u{23}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{69}\u{6e}\u{20}\u{31}\u{73}\u{74}\u{20}\u{6c}\u{69}\u{6e}\u{65}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{5c}\u{6e}\u{20}\u{61}\u{74}\u{20}\u{74}\u{68}\u{65}\u{20}\u{65}\u{6e}\u{64}")
218218RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}",prog)
219−prepfile(("\u{23}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}" .. string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}"))),true)
219+prepfile("\u{23}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{a}" .. string.dump(load("\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{33}\u{29}")),true)
220220RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,out)
221221checkout("\u{33}\u{a}")
222222prepfile(string.format("\u{69}\u{6f}\u{2e}\u{6f}\u{75}\u{74}\u{70}\u{75}\u{74}\u{28}\u{25}\u{71}\u{29}\u{3b}\u{20}\u{69}\u{6f}\u{2e}\u{77}\u{72}\u{69}\u{74}\u{65}\u{28}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{29}",out))
@@ -240,7 +240,7 @@ RUN("\u{6c}\u{75}\u{61}\u{20}\u{25}\u{73}\u{20}\u{3e}\u{20}\u{25}\u{73}",prog,ou
240240checkprogout("\u{31}\u{32}\u{30}\u{a}\u{4f}\u{6b}\u{a}")
241241assert(os.remove(prog))
242242assert(os.remove(otherprog))
243−assert((not os.remove(out)))
243+assert(not os.remove(out))
244244NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{68}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{68}")
245245NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{2d}\u{2d}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{2d}\u{2d}")
246246NoRun("\u{75}\u{6e}\u{72}\u{65}\u{63}\u{6f}\u{67}\u{6e}\u{69}\u{7a}\u{65}\u{64}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{2d}\u{45}\u{78}\u{27}","\u{6c}\u{75}\u{61}\u{20}\u{2d}\u{45}\u{78}")
@@ -254,15 +254,15 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{6e}\u{6f}\u{74}\
254254NoRun("\u{6e}\u{6f}\u{74}\u{20}\u{65}\u{6e}\u{6f}\u{75}\u{67}\u{68}\u{20}\u{6d}\u{65}\u{6d}\u{6f}\u{72}\u{79}","\u{65}\u{6e}\u{76}\u{20}\u{4d}\u{45}\u{4d}\u{4c}\u{49}\u{4d}\u{49}\u{54}\u{3d}\u{31}\u{30}\u{30}\u{20}\u{6c}\u{75}\u{61}")
255255warn("\u{40}\u{73}\u{74}\u{6f}\u{72}\u{65}")
256256warn("\u{40}\u{31}\u{32}\u{33}","\u{34}\u{35}\u{36}","\u{37}\u{38}\u{39}")
257−assert((_WARN == "\u{40}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
257+assert(_WARN == "\u{40}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
258258;
259259_WARN=false
260260warn("\u{7a}\u{69}\u{70}","","\u{20}","\u{7a}\u{61}\u{70}")
261−assert((_WARN == "\u{7a}\u{69}\u{70}\u{20}\u{7a}\u{61}\u{70}"))
261+assert(_WARN == "\u{7a}\u{69}\u{70}\u{20}\u{7a}\u{61}\u{70}")
262262;
263263_WARN=false
264264warn("\u{5a}\u{49}\u{50}","","\u{20}","\u{5a}\u{41}\u{50}")
265−assert((_WARN == "\u{5a}\u{49}\u{50}\u{20}\u{5a}\u{41}\u{50}"))
265+assert(_WARN == "\u{5a}\u{49}\u{50}\u{20}\u{5a}\u{41}\u{50}")
266266;
267267_WARN=false
268268warn("\u{40}\u{6e}\u{6f}\u{72}\u{6d}\u{61}\u{6c}")
@@ -285,28 +285,28 @@ local function runback
285285local shellprg = string.format("\u{25}\u{73}\u{20}\u{2d}\u{65}\u{20}\u{22}\u{25}\u{73}\u{22}\u{20}\u{26}\u{20}\u{65}\u{63}\u{68}\u{6f}\u{20}\u{24}\u{21}",progname,luaprg)
286286local f = io.popen(shellprg,"\u{72}")
287287local pid = f:read()
288−print(("\u{28}\u{69}\u{66}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{66}\u{61}\u{69}\u{6c}\u{73}\u{20}\u{6e}\u{6f}\u{77}\u{2c}\u{20}\u{69}\u{74}\u{20}\u{6d}\u{61}\u{79}\u{20}\u{6c}\u{65}\u{61}\u{76}\u{65}\u{20}\u{61}\u{20}\u{4c}\u{75}\u{61}\u{20}\u{73}\u{63}\u{72}\u{69}\u{70}\u{74}\u{20}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{67}\u{72}\u{6f}\u{75}\u{6e}\u{64}\u{2c}\u{20}\u{70}\u{69}\u{64}\u{20}" .. (pid .. "\u{29}")))
288+print("\u{28}\u{69}\u{66}\u{20}\u{74}\u{65}\u{73}\u{74}\u{20}\u{66}\u{61}\u{69}\u{6c}\u{73}\u{20}\u{6e}\u{6f}\u{77}\u{2c}\u{20}\u{69}\u{74}\u{20}\u{6d}\u{61}\u{79}\u{20}\u{6c}\u{65}\u{61}\u{76}\u{65}\u{20}\u{61}\u{20}\u{4c}\u{75}\u{61}\u{20}\u{73}\u{63}\u{72}\u{69}\u{70}\u{74}\u{20}\u{72}\u{75}\u{6e}\u{6e}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{20}\u{62}\u{61}\u{63}\u{6b}\u{67}\u{72}\u{6f}\u{75}\u{6e}\u{64}\u{2c}\u{20}\u{70}\u{69}\u{64}\u{20}" .. pid .. "\u{29}")
289289return f,pid
290290end
291291local f,pid = runback("\u{20}\u{20}\u{20}\u{20}\u{70}\u{63}\u{61}\u{6c}\u{6c}\u{28}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{28}\u{29}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{32}\u{29}\u{3b}\u{20}\u{77}\u{68}\u{69}\u{6c}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}\u{20}\u{64}\u{6f}\u{20}\u{65}\u{6e}\u{64}\u{20}\u{65}\u{6e}\u{64}\u{29}\u{3b}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{34}\u{32}\u{29}")
292−assert((f:read() == "\u{31}\u{32}"))
292+assert(f:read() == "\u{31}\u{32}")
293293kill(pid)
294−assert((f:read() == "\u{34}\u{32}"))
294+assert(f:read() == "\u{34}\u{32}")
295295assert(f:close())
296296print("\u{64}\u{6f}\u{6e}\u{65}")
297297local f,pid = runback("\u{20}\u{20}\u{20}\u{20}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{28}\u{31}\u{35}\u{29}\u{3b}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{66}\u{69}\u{6e}\u{64}\u{28}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{72}\u{65}\u{70}\u{28}\u{27}\u{61}\u{27}\u{2c}\u{20}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{29}\u{2c}\u{20}\u{27}\u{2e}\u{2a}\u{62}\u{27}\u{29}")
298−assert((f:read() == "\u{31}\u{35}"))
298+assert(f:read() == "\u{31}\u{35}")
299299assert(os.execute("\u{73}\u{6c}\u{65}\u{65}\u{70}\u{20}\u{31}"))
300300local n = 0x64
301301for i = 0x0, 0x64
302302do
303−if (not kill(pid)) then
303+if not kill(pid) then
304304n=i
305305break
306306end
307307end
308308assert(f:close())
309−assert((n >= 0x2))
309+assert(n >= 0x2)
310310print(string.format("\u{64}\u{6f}\u{6e}\u{65}\u{20}\u{28}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{64}\u{20}\u{6b}\u{69}\u{6c}\u{6c}\u{73}\u{29}",n))
311311end
312312print("\u{4f}\u{4b}")
desk/res/lua/cycled/math.lua+546−546
@@ -1,263 +1,263 @@
11print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{20}\u{6c}\u{69}\u{62}")
22local minint <const> = math.mininteger
33local maxint <const> = math.maxinteger
4−local intbits <const> = (math.floor((math.log(maxint,0x2) + 0.5)) + 0x1)
5−assert(((0x1 << intbits) == 0x0))
6−assert((minint == (0x1 << (intbits - 0x1))))
7−assert((maxint == (minint - 0x1)))
4+local intbits <const> = math.floor(math.log(maxint,0x2) + 0.5) + 0x1
5+assert((0x1 << intbits) == 0x0)
6+assert(minint == 0x1 << (intbits - 0x1))
7+assert(maxint == minint - 0x1)
88local floatbits = 0x18
99do
10−local p = (2.0 ^ floatbits)
11−while (p < (p + 1.0)) do
12−p=(p * 2.0)
13−floatbits=(floatbits + 0x1)
10+local p = 2.0 ^ floatbits
11+while p < p + 1.0 do
12+p=p * 2.0
13+floatbits=floatbits + 0x1
1414end
1515end
1616local function isNaN
1717(x)
1818return (x ~= x)
1919end
20−assert(isNaN((0x0 / 0x0)))
21−assert((not isNaN((0x1 / 0x0))))
20+assert(isNaN(0x0 / 0x0))
21+assert(not isNaN(0x1 / 0x0))
2222do
23−local x = (2.0 ^ floatbits)
24−assert(((x > (x - 1.0)) and (x == (x + 1.0))))
23+local x = 2.0 ^ floatbits
24+assert(x > x - 1.0 and x == x + 1.0)
2525print(string.format("\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{2c}\u{20}\u{25}\u{64}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{28}\u{6d}\u{61}\u{6e}\u{74}\u{69}\u{73}\u{73}\u{61}\u{29}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}",intbits,floatbits))
2626end
27−assert((((math.type(0x0) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}") and (math.type(0.0) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")) and (not math.type("\u{31}\u{30}"))))
27+assert(math.type(0x0) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}" and math.type(0.0) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}" and not math.type("\u{31}\u{30}"))
2828local function checkerror
2929(msg,f, ...)
3030local s,err = pcall(f,...)
31−assert((not (s and string.find(err,msg))))
31+assert(not s and string.find(err,msg))
3232end
3333local msgf2i = "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{2e}\u{2a}\u{20}\u{68}\u{61}\u{73}\u{20}\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{61}\u{74}\u{69}\u{6f}\u{6e}"
3434local function eq
3535(a,b,limit)
36−if (not limit) then
37−if (floatbits >= 0x32) then
36+if not limit then
37+if floatbits >= 0x32 then
3838limit=1e-11
3939else
4040limit=1e-5
4141end
4242end
43−return ((a == b) or (math.abs((a - b)) <= limit))
43+return a == b or math.abs(a - b) <= limit
4444end
4545local function eqT
4646(a,b)
47−return ((a == b) and (math.type(a) == math.type(b)))
47+return a == b and math.type(a) == math.type(b)
4848end
49−assert((((((0.0 == 0x0) and (0.0 == 0x0)) and (0.0 == 0x0)) and (20.0 == 0x14)) and (0.2 == 0.2)))
49+assert(0.0 == 0x0 and 0.0 == 0x0 and 0.0 == 0x0 and 20.0 == 0x14 and 0.2 == 0.2)
5050do
5151local a,b,c = "\u{32}","\u{20}\u{33}\u{65}\u{30}\u{20}","\u{20}\u{31}\u{30}\u{20}\u{20}"
52−assert((((a + b) == 0x5) and (- (b == (- ((0x3 and ((b + "\u{32}") == 0x5)) and (("\u{31}\u{30}" - c) == 0x0)))))))
53−assert((((type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}") and (type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")) and (type(c) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")))
54−assert(((((a == "\u{32}") and (b == "\u{20}\u{33}\u{65}\u{30}\u{20}")) and (c == "\u{20}\u{31}\u{30}\u{20}\u{20}")) and (- (c == (- "\u{20}\u{20}\u{31}\u{30}\u{20}")))))
55−assert((((c % a) == 0x0) and ((a ^ b) == 0x8)))
52+assert(a + b == 0x5 and - b == - 0x3 and b + "\u{32}" == 0x5 and "\u{31}\u{30}" - c == 0x0)
53+assert(type(a) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(b) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" and type(c) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
54+assert(a == "\u{32}" and b == "\u{20}\u{33}\u{65}\u{30}\u{20}" and c == "\u{20}\u{31}\u{30}\u{20}\u{20}" and - c == - "\u{20}\u{20}\u{31}\u{30}\u{20}")
55+assert(c % a == 0x0 and a ^ b == 0x8)
5656a=0x0
57−assert((a == (- (a and (0x0 == (- 0x0))))))
57+assert(a == - a and 0x0 == - 0x0)
5858end
5959do
60−local x = (- 0x1)
61−local mz = (0x0 / x)
60+local x = - 0x1
61+local mz = 0x0 / x
6262local t = {[0x0] = 0xa,0x14,0x1e,0x28,0x32}
63−assert(((t[mz] == t[0x0]) and (t[(- 0x0)] == t[0x0])))
63+assert(t[mz] == t[0x0] and t[- 0x0] == t[0x0])
6464end
6565do
6666local a,b = math.modf(3.5)
67−assert(((a == 3.0) and (b == 0.5)))
68−a,b=math.modf((- 2.5))
69−assert((a == (- (2.0 and (b == (- 0.5))))))
70−a,b=math.modf((- 3e23))
71−assert((a == (- (3e23 and (b == 0.0)))))
67+assert(a == 3.0 and b == 0.5)
68+a,b=math.modf(- 2.5)
69+assert(a == - 2.0 and b == - 0.5)
70+a,b=math.modf(- 3e23)
71+assert(a == - 3e23 and b == 0.0)
7272a,b=math.modf(3e35)
73−assert(((a == 3e35) and (b == 0.0)))
74−a,b=math.modf((- (0x1 / 0x0)))
75−assert((a == (- ((0x1 / 0x0) and (b == 0.0)))))
76−a,b=math.modf((0x1 / 0x0))
77−assert(((a == (0x1 / 0x0)) and (b == 0.0)))
78−a,b=math.modf((0x0 / 0x0))
79−assert((isNaN(a) and isNaN(b)))
73+assert(a == 3e35 and b == 0.0)
74+a,b=math.modf(- 0x1 / 0x0)
75+assert(a == - 0x1 / 0x0 and b == 0.0)
76+a,b=math.modf(0x1 / 0x0)
77+assert(a == 0x1 / 0x0 and b == 0.0)
78+a,b=math.modf(0x0 / 0x0)
79+assert(isNaN(a) and isNaN(b))
8080a,b=math.modf(0x3)
81−assert((eqT(a,0x3) and eqT(b,0.0)))
81+assert(eqT(a,0x3) and eqT(b,0.0))
8282a,b=math.modf(minint)
83−assert((eqT(a,minint) and eqT(b,0.0)))
83+assert(eqT(a,minint) and eqT(b,0.0))
8484end
85−assert((math.huge > 1e31))
86−assert((- (math.huge < (- 1e31))))
87−assert((minint < (minint + 0x1)))
88−assert(((maxint - 0x1) < maxint))
89−assert(((0x0 - minint) == minint))
90−assert(((minint * minint) == 0x0))
91−assert((((maxint * maxint) * maxint) == maxint))
92−for _,i in pairs({(- 0x10),(- 0xf),(- 0x3),(- 0x2),(- 0x1),0x0,0x1,0x2,0x3,0xf})
85+assert(math.huge > 1e31)
86+assert(- math.huge < - 1e31)
87+assert(minint < minint + 0x1)
88+assert(maxint - 0x1 < maxint)
89+assert(0x0 - minint == minint)
90+assert(minint * minint == 0x0)
91+assert(maxint * maxint * maxint == maxint)
92+for _,i in pairs({- 0x10,- 0xf,- 0x3,- 0x2,- 0x1,0x0,0x1,0x2,0x3,0xf})
9393do
94−for _,j in pairs({(- 0x10),(- 0xf),(- 0x3),(- 0x2),(- 0x1),0x1,0x2,0x3,0xf})
94+for _,j in pairs({- 0x10,- 0xf,- 0x3,- 0x2,- 0x1,0x1,0x2,0x3,0xf})
9595do
9696for _,ti in pairs({0x0,0.0})
9797do
9898for _,tj in pairs({0x0,0.0})
9999do
100−local x = (i + ti)
101−local y = (j + tj)
102−assert(((i // j) == math.floor((i / j))))
100+local x = i + ti
101+local y = j + tj
102+assert(i // j == math.floor(i / j))
103103end
104104end
105105end
106106end
107−assert(((0x1 // 0.0) == (0x1 / 0x0)))
108−assert((- ((0x1 // 0.0) == (- (0x1 / 0x0)))))
109−assert(eqT((3.5 // 1.5),2.0))
110−assert(eqT((3.5 // (- 1.5)),(- 3.0)))
107+assert(0x1 // 0.0 == 0x1 / 0x0)
108+assert(- 0x1 // 0.0 == - 0x1 / 0x0)
109+assert(eqT(3.5 // 1.5,2.0))
110+assert(eqT(3.5 // - 1.5,- 3.0))
111111do
112112local x,y
113113x=0x1
114114;
115−assert(((x // 0.0) == (0x1 / 0x0)))
115+assert(x // 0.0 == 0x1 / 0x0)
116116x=1.0
117117;
118−assert(((x // 0x0) == (0x1 / 0x0)))
118+assert(x // 0x0 == 0x1 / 0x0)
119119x=3.5
120120;
121−assert(eqT((x // 0x1),3.0))
122−assert(eqT((x // (- 0x1)),(- 4.0)))
121+assert(eqT(x // 0x1,3.0))
122+assert(eqT(x // - 0x1,- 4.0))
123123x=3.5
124124;
125125y=1.5
126126;
127−assert(eqT((x // y),2.0))
127+assert(eqT(x // y,2.0))
128128x=3.5
129129;
130−y=(- 1.5)
130+y=- 1.5
131131;
132−assert(eqT((x // y),(- 3.0)))
132+assert(eqT(x // y,- 3.0))
133133end
134−assert(((maxint // maxint) == 0x1))
135−assert(((maxint // 0x1) == maxint))
136−assert((((maxint - 0x1) // maxint) == 0x0))
137−assert(((maxint // (maxint - 0x1)) == 0x1))
138−assert(((minint // minint) == 0x1))
139−assert(((minint // minint) == 0x1))
140−assert((((minint + 0x1) // minint) == 0x0))
141−assert(((minint // (minint + 0x1)) == 0x1))
142−assert(((minint // 0x1) == minint))
143−assert((minint // (- (0x1 == (- minint)))))
144−assert((minint // (- (0x2 == (0x2 ^ (intbits - 0x2))))))
145−assert((maxint // (- (0x1 == (- maxint)))))
134+assert(maxint // maxint == 0x1)
135+assert(maxint // 0x1 == maxint)
136+assert((maxint - 0x1) // maxint == 0x0)
137+assert(maxint // (maxint - 0x1) == 0x1)
138+assert(minint // minint == 0x1)
139+assert(minint // minint == 0x1)
140+assert((minint + 0x1) // minint == 0x0)
141+assert(minint // (minint + 0x1) == 0x1)
142+assert(minint // 0x1 == minint)
143+assert(minint // - 0x1 == - minint)
144+assert(minint // - 0x2 == 0x2 ^ (intbits - 0x2))
145+assert(maxint // - 0x1 == - maxint)
146146do
147−assert((0x2 ^ (- (0x3 == (0x1 / (0x2 ^ 0x3))))))
148−assert(eq(((- 0x3) ^ (- 0x3)),(0x1 / ((- 0x3) ^ 0x3))))
149−for i = (- 0x3), 0x3
147+assert(0x2 ^ - 0x3 == 0x1 / 0x2 ^ 0x3)
148+assert(eq((- 0x3) ^ - 0x3,0x1 / (- 0x3) ^ 0x3))
149+for i = - 0x3, 0x3
150150do
151−for j = (- 0x3), 0x3
151+for j = - 0x3, 0x3
152152do
153−if (not ((_port or (i ~= 0x0)) or (j > 0x0))) then
154−assert(eq((i ^ j),(0x1 / (i ^ (- j)))))
153+if not _port or i ~= 0x0 or j > 0x0 then
154+assert(eq(i ^ j,0x1 / i ^ (- j)))
155155end
156156end
157157end
158158end
159−if (floatbits < intbits) then
160−assert(((2.0 ^ floatbits) == (0x1 << floatbits)))
161−assert((((2.0 ^ floatbits) - 1.0) == ((0x1 << floatbits) - 1.0)))
162−assert((((2.0 ^ floatbits) - 1.0) ~= (0x1 << floatbits)))
163−assert((((2.0 ^ floatbits) + 1.0) ~= ((0x1 << floatbits) + 0x1)))
159+if floatbits < intbits then
160+assert(2.0 ^ floatbits == (0x1 << floatbits))
161+assert(2.0 ^ floatbits - 1.0 == (0x1 << floatbits) - 1.0)
162+assert(2.0 ^ floatbits - 1.0 ~= (0x1 << floatbits))
163+assert(2.0 ^ floatbits + 1.0 ~= (0x1 << floatbits) + 0x1)
164164else
165−assert((maxint == (maxint + 0.0)))
166−assert(((maxint - 0x1) == (maxint - 1.0)))
167−assert(((minint + 0x1) == (minint + 1.0)))
168−assert((maxint ~= (maxint - 1.0)))
169−end
170−assert(((maxint + 0.0) == ((2.0 ^ (intbits - 0x1)) - 1.0)))
171−assert(((minint + 0.0) == minint))
172−assert(((minint + 0.0) == (- (2.0 ^ (intbits - 0x1)))))
173−assert((0x1 < 1.1))
165+assert(maxint == maxint + 0.0)
166+assert(maxint - 0x1 == maxint - 1.0)
167+assert(minint + 0x1 == minint + 1.0)
168+assert(maxint ~= maxint - 1.0)
169+end
170+assert(maxint + 0.0 == 2.0 ^ (intbits - 0x1) - 1.0)
171+assert(minint + 0.0 == minint)
172+assert(minint + 0.0 == - 2.0 ^ (intbits - 0x1))
173+assert(0x1 < 1.1)
174174;
175−assert((not (0x1 < 0.9)))
176−assert((0x1 <= 1.1))
175+assert(not (0x1 < 0.9))
176+assert(0x1 <= 1.1)
177177;
178−assert((not (0x1 <= 0.9)))
179−assert((- (0x1 < (- 0.9))))
178+assert(not (0x1 <= 0.9))
179+assert(- 0x1 < - 0.9)
180180;
181−assert((not (- (0x1 < (- 1.1)))))
182−assert((0x1 <= 1.1))
181+assert(not (- 0x1 < - 1.1))
182+assert(0x1 <= 1.1)
183183;
184−assert((not (- (0x1 <= (- 1.1)))))
185−assert((- (0x1 < (- 0.9))))
184+assert(not (- 0x1 <= - 1.1))
185+assert(- 0x1 < - 0.9)
186186;
187−assert((not (- (0x1 < (- 1.1)))))
188−assert((- (0x1 <= (- 0.9))))
187+assert(not (- 0x1 < - 1.1))
188+assert(- 0x1 <= - 0.9)
189189;
190−assert((not (- (0x1 <= (- 1.1)))))
191−assert((minint <= (minint + 0.0)))
192−assert(((minint + 0.0) <= minint))
193−assert((not (minint < (minint + 0.0))))
194−assert((not ((minint + 0.0) < minint)))
195−assert((maxint < (minint * (- 1.0))))
196−assert((maxint <= (minint * (- 1.0))))
197−do
198−local fmaxi1 = (0x2 ^ (intbits - 0x1))
199−assert((maxint < fmaxi1))
200−assert((maxint <= fmaxi1))
201−assert((not (fmaxi1 <= maxint)))
202−assert((minint <= (- (0x2 ^ (intbits - 0x1)))))
203−assert((- ((0x2 ^ (intbits - 0x1)) <= minint)))
204−end
205−if (floatbits < intbits) then
190+assert(not (- 0x1 <= - 1.1))
191+assert(minint <= minint + 0.0)
192+assert(minint + 0.0 <= minint)
193+assert(not (minint < minint + 0.0))
194+assert(not (minint + 0.0 < minint))
195+assert(maxint < minint * - 1.0)
196+assert(maxint <= minint * - 1.0)
197+do
198+local fmaxi1 = 0x2 ^ (intbits - 0x1)
199+assert(maxint < fmaxi1)
200+assert(maxint <= fmaxi1)
201+assert(not (fmaxi1 <= maxint))
202+assert(minint <= - 0x2 ^ (intbits - 0x1))
203+assert(- 0x2 ^ (intbits - 0x1) <= minint)
204+end
205+if floatbits < intbits then
206206print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{20}\u{28}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{20}\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{29}")
207−local fmax = (0x2 ^ floatbits)
208−local ifmax = (fmax | 0x0)
209−assert((fmax < (ifmax + 0x1)))
210−assert(((fmax - 0x1) < ifmax))
211−assert((- ((fmax - 0x1) > (- ifmax))))
212−assert((not (fmax <= (ifmax - 0x1))))
213−assert((- (fmax > (- (ifmax + 0x1)))))
214−assert((not (- (fmax >= (- (ifmax - 0x1))))))
215−assert((((fmax / 0x2) - 0.5) < (ifmax // 0x2)))
216−assert((- (((fmax / 0x2) - 0.5) > (- (ifmax // 0x2)))))
217−assert((maxint < (0x2 ^ intbits)))
218−assert((minint > (- (0x2 ^ intbits))))
219−assert((maxint <= (0x2 ^ intbits)))
220−assert((minint >= (- (0x2 ^ intbits))))
207+local fmax = 0x2 ^ floatbits
208+local ifmax = fmax | 0x0
209+assert(fmax < ifmax + 0x1)
210+assert(fmax - 0x1 < ifmax)
211+assert(- (fmax - 0x1) > - ifmax)
212+assert(not (fmax <= ifmax - 0x1))
213+assert(- fmax > - (ifmax + 0x1))
214+assert(not (- fmax >= - (ifmax - 0x1)))
215+assert(fmax / 0x2 - 0.5 < ifmax // 0x2)
216+assert(- (fmax / 0x2 - 0.5) > - ifmax // 0x2)
217+assert(maxint < 0x2 ^ intbits)
218+assert(minint > - 0x2 ^ intbits)
219+assert(maxint <= 0x2 ^ intbits)
220+assert(minint >= - 0x2 ^ intbits)
221221else
222222print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{20}\u{28}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{20}\u{63}\u{61}\u{6e}\u{20}\u{72}\u{65}\u{70}\u{72}\u{65}\u{73}\u{65}\u{6e}\u{74}\u{20}\u{61}\u{6c}\u{6c}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{73}\u{29}")
223−assert((maxint < (maxint + 1.0)))
224−assert((maxint < (maxint + 0.5)))
225−assert(((maxint - 1.0) < maxint))
226−assert(((maxint - 0.5) < maxint))
227−assert((not ((maxint + 0.0) < maxint)))
228−assert(((maxint + 0.0) <= maxint))
229−assert((not (maxint < (maxint + 0.0))))
230−assert(((maxint + 0.0) <= maxint))
231−assert((maxint <= (maxint + 0.0)))
232−assert((not ((maxint + 1.0) <= maxint)))
233−assert((not ((maxint + 0.5) <= maxint)))
234−assert((not (maxint <= (maxint - 1.0))))
235−assert((not (maxint <= (maxint - 0.5))))
236−assert((minint < (minint + 1.0)))
237−assert((minint < (minint + 0.5)))
238−assert((minint <= (minint + 0.5)))
239−assert(((minint - 1.0) < minint))
240−assert(((minint - 1.0) <= minint))
241−assert((not ((minint + 0.0) < minint)))
242−assert((not ((minint + 0.5) < minint)))
243−assert((not (minint < (minint + 0.0))))
244−assert(((minint + 0.0) <= minint))
245−assert((minint <= (minint + 0.0)))
246−assert((not ((minint + 1.0) <= minint)))
247−assert((not ((minint + 0.5) <= minint)))
248−assert((not (minint <= (minint - 1.0))))
249−end
250−do
251−local NaN <const> = (0x0 / 0x0)
252−assert((not (NaN < 0x0)))
253−assert((not (NaN > minint)))
254−assert((not (NaN <= (- 0x9))))
255−assert((not (NaN <= maxint)))
256−assert((not (NaN < maxint)))
257−assert((not (minint <= NaN)))
258−assert((not (minint < NaN)))
259−assert((not (0x4 <= NaN)))
260−assert((not (0x4 < NaN)))
223+assert(maxint < maxint + 1.0)
224+assert(maxint < maxint + 0.5)
225+assert(maxint - 1.0 < maxint)
226+assert(maxint - 0.5 < maxint)
227+assert(not (maxint + 0.0 < maxint))
228+assert(maxint + 0.0 <= maxint)
229+assert(not (maxint < maxint + 0.0))
230+assert(maxint + 0.0 <= maxint)
231+assert(maxint <= maxint + 0.0)
232+assert(not (maxint + 1.0 <= maxint))
233+assert(not (maxint + 0.5 <= maxint))
234+assert(not (maxint <= maxint - 1.0))
235+assert(not (maxint <= maxint - 0.5))
236+assert(minint < minint + 1.0)
237+assert(minint < minint + 0.5)
238+assert(minint <= minint + 0.5)
239+assert(minint - 1.0 < minint)
240+assert(minint - 1.0 <= minint)
241+assert(not (minint + 0.0 < minint))
242+assert(not (minint + 0.5 < minint))
243+assert(not (minint < minint + 0.0))
244+assert(minint + 0.0 <= minint)
245+assert(minint <= minint + 0.0)
246+assert(not (minint + 1.0 <= minint))
247+assert(not (minint + 0.5 <= minint))
248+assert(not (minint <= minint - 1.0))
249+end
250+do
251+local NaN <const> = 0x0 / 0x0
252+assert(not (NaN < 0x0))
253+assert(not (NaN > minint))
254+assert(not (NaN <= - 0x9))
255+assert(not (NaN <= maxint))
256+assert(not (NaN < maxint))
257+assert(not (minint <= NaN))
258+assert(not (minint < NaN))
259+assert(not (0x4 <= NaN))
260+assert(not (0x4 < NaN))
261261end
262262local function checkcompt
263263(msg,code)
@@ -265,40 +265,40 @@ checkerror(msg,assert(load(code)))
265265end
266266checkcompt("\u{64}\u{69}\u{76}\u{69}\u{64}\u{65}\u{20}\u{62}\u{79}\u{20}\u{7a}\u{65}\u{72}\u{6f}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{20}\u{2f}\u{2f}\u{20}\u{30}")
267267checkcompt(msgf2i,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{33}\u{20}\u{3e}\u{3e}\u{20}\u{30}")
268−checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}\u{20}\u{26}\u{20}\u{31}"):format((intbits - 0x1)))
268+checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}\u{20}\u{26}\u{20}\u{31}"):format(intbits - 0x1))
269269checkcompt("\u{66}\u{69}\u{65}\u{6c}\u{64}\u{20}\u{27}\u{68}\u{75}\u{67}\u{65}\u{27}","\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{68}\u{75}\u{67}\u{65}\u{20}\u{3c}\u{3c}\u{20}\u{31}")
270−checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{7c}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}"):format((intbits - 0x1)))
270+checkcompt(msgf2i,("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{20}\u{7c}\u{20}\u{32}\u{2e}\u{30}\u{5e}\u{25}\u{64}"):format(intbits - 0x1))
271271checkcompt(msgf2i,"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{32}\u{2e}\u{33}\u{20}\u{7e}\u{20}\u{30}\u{2e}\u{30}")
272272local function f2i
273273(x)
274−return (x | x)
274+return x | x
275275end
276276checkerror(msgf2i,f2i,math.huge)
277−checkerror(msgf2i,f2i,(- math.huge))
278−checkerror(msgf2i,f2i,(0x0 / 0x0))
279−if (floatbits < intbits) then
280−assert(((maxint + 1.0) == (maxint + 0.0)))
281−assert(((minint - 1.0) == (minint + 0.0)))
282−checkerror(msgf2i,f2i,(maxint + 0.0))
283−assert((f2i((2.0 ^ (intbits - 0x2))) == (0x1 << (intbits - 0x2))))
284−assert((f2i((- (2.0 ^ (intbits - 0x2)))) == (- (0x1 << (intbits - 0x2)))))
285−assert(((((2.0 ^ (floatbits - 0x1)) + 1.0) // 0x1) == ((0x1 << (floatbits - 0x1)) + 0x1)))
286−local mf = ((maxint - (0x1 << (floatbits - intbits))) + 0x1)
287−assert((f2i((mf + 0.0)) == mf))
288−mf=(mf + 0x1)
289−assert((f2i((mf + 0.0)) ~= mf))
277+checkerror(msgf2i,f2i,- math.huge)
278+checkerror(msgf2i,f2i,0x0 / 0x0)
279+if floatbits < intbits then
280+assert(maxint + 1.0 == maxint + 0.0)
281+assert(minint - 1.0 == minint + 0.0)
282+checkerror(msgf2i,f2i,maxint + 0.0)
283+assert(f2i(2.0 ^ (intbits - 0x2)) == 0x1 << (intbits - 0x2))
284+assert(f2i(- 2.0 ^ (intbits - 0x2)) == - (0x1 << (intbits - 0x2)))
285+assert((2.0 ^ (floatbits - 0x1) + 1.0) // 0x1 == (0x1 << (floatbits - 0x1)) + 0x1)
286+local mf = maxint - (0x1 << (floatbits - intbits)) + 0x1
287+assert(f2i(mf + 0.0) == mf)
288+mf=mf + 0x1
289+assert(f2i(mf + 0.0) ~= mf)
290290else
291−assert(((maxint + 1.0) > maxint))
292−assert(((minint - 1.0) < minint))
293−assert((f2i((maxint + 0.0)) == maxint))
294−checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,(maxint + 1.0))
295−checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,(minint - 1.0))
296−end
297−assert((f2i((minint + 0.0)) == minint))
298−assert((("\u{32}" + 0x1) == 0x3))
299−assert((("\u{32}\u{20}" + 0x1) == 0x3))
300−assert((("\u{20}\u{2d}\u{32}\u{20}" + 0x1) == (- 0x1)))
301−assert((("\u{20}\u{2d}\u{30}\u{78}\u{61}\u{20}" + 0x1) == (- 0x9)))
291+assert(maxint + 1.0 > maxint)
292+assert(minint - 1.0 < minint)
293+assert(f2i(maxint + 0.0) == maxint)
294+checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,maxint + 1.0)
295+checkerror("\u{6e}\u{6f}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{65}\u{70}",f2i,minint - 1.0)
296+end
297+assert(f2i(minint + 0.0) == minint)
298+assert("\u{32}" + 0x1 == 0x3)
299+assert("\u{32}\u{20}" + 0x1 == 0x3)
300+assert("\u{20}\u{2d}\u{32}\u{20}" + 0x1 == - 0x1)
301+assert("\u{20}\u{2d}\u{30}\u{78}\u{61}\u{20}" + 0x1 == - 0x9)
302302do
303303assert(eqT(tonumber(tostring(maxint)),maxint))
304304assert(eqT(tonumber(tostring(minint)),minint))
@@ -306,444 +306,444 @@ local function incd
306306(n)
307307local s = string.format("\u{25}\u{64}",n)
308308s=string.gsub(s,"\u{25}\u{64}\u{24}",function (d)
309−assert((d ~= "\u{39}"))
310−return string.char((string.byte(d) + 0x1))
309+assert(d ~= "\u{39}")
310+return string.char(string.byte(d) + 0x1)
311311end)
312312return s
313313end
314−assert(eqT(tonumber(incd(maxint)),(maxint + 1.0)))
315−assert(eqT(tonumber(incd(minint)),(minint - 1.0)))
316−assert(eqT(tonumber(("\u{31}" .. string.rep("\u{30}",0x1e))),1e30))
317−assert(eqT(tonumber(("\u{2d}\u{31}" .. string.rep("\u{30}",0x1e))),(- 1e30)))
318−assert(eqT(tonumber(("\u{30}\u{78}\u{31}" .. string.rep("\u{30}",0x1e))),0x0))
319−assert((minint == load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. minint))()))
320−assert(eqT(maxint,load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. maxint))()))
314+assert(eqT(tonumber(incd(maxint)),maxint + 1.0))
315+assert(eqT(tonumber(incd(minint)),minint - 1.0))
316+assert(eqT(tonumber("\u{31}" .. string.rep("\u{30}",0x1e)),1e30))
317+assert(eqT(tonumber("\u{2d}\u{31}" .. string.rep("\u{30}",0x1e)),- 1e30))
318+assert(eqT(tonumber("\u{30}\u{78}\u{31}" .. string.rep("\u{30}",0x1e)),0x0))
319+assert(minint == load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. minint)())
320+assert(eqT(maxint,load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. maxint)()))
321321assert(eqT(1e22,1e22))
322−assert(eqT((- 1e22),(- 1e22)))
322+assert(eqT(- 1e22,- 1e22))
323323end
324−assert((tonumber(3.4) == 3.4))
324+assert(tonumber(3.4) == 3.4)
325325assert(eqT(tonumber(0x3),0x3))
326−assert((eqT(tonumber(maxint),maxint) and eqT(tonumber(minint),minint)))
327−assert((tonumber((0x1 / 0x0)) == (0x1 / 0x0)))
328−assert((tonumber("\u{30}") == 0x0))
329−assert((not tonumber("")))
330−assert((not tonumber("\u{20}\u{20}")))
331−assert((not tonumber("\u{2d}")))
332−assert((not tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{20}")))
333−assert((not tonumber({})))
334−assert(((((tonumber("\u{2b}\u{30}\u{2e}\u{30}\u{31}") == (0x1 / 0x64)) and (tonumber("\u{2b}\u{2e}\u{30}\u{31}") == 0.01)) and (tonumber("\u{2e}\u{30}\u{31}") == 0.01)) and (tonumber("\u{2d}\u{31}\u{2e}") == (- (0x1 and (tonumber("\u{2b}\u{31}\u{2e}") == 0x1))))))
335−assert((not (tonumber("\u{2b}\u{20}\u{30}\u{2e}\u{30}\u{31}") and (not (tonumber("\u{2b}\u{2e}\u{65}\u{31}") and (not (tonumber("\u{31}\u{65}") and (not (tonumber("\u{31}\u{2e}\u{30}\u{65}\u{2b}") and (not tonumber("\u{2e}")))))))))))
336−assert((tonumber("\u{2d}\u{30}\u{31}\u{32}") == (- (0xa - 0x2))))
337−assert((tonumber("\u{2d}\u{31}\u{2e}\u{32}\u{65}\u{32}") == (- (- (- 0x78)))))
338−assert((tonumber("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}") == ((0x1 << (0x4 * 0xc)) - 0x1)))
339−assert((tonumber(("\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4)))) == (- 0x1)))
340−assert((tonumber(("\u{2d}\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4)))) == 0x1))
341−assert((tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == 0xa))
342−assert((tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0xa) == 0x3f2))
343−assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == (- 0xa)))
344−assert((tonumber("\u{31}\u{30}",0x24) == 0x24))
345−assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{20}\u{20}",0x24) == (- 0x24)))
346−assert((tonumber("\u{20}\u{20}\u{2b}\u{31}\u{5a}\u{20}\u{20}",0x24) == (0x24 + 0x23)))
347−assert((tonumber("\u{20}\u{20}\u{2d}\u{31}\u{7a}\u{20}\u{20}",0x24) == (- (0x24 + (- 0x23)))))
348−assert((tonumber("\u{2d}\u{66}\u{46}\u{66}\u{61}",0x10) == (- (0xa + (0x10 * (0xf + (0x10 * (0xf + (0x10 * 0xf)))))))))
349−assert(((tonumber(string.rep("\u{31}",(intbits - 0x2)),0x2) + 0x1) == (0x2 ^ (intbits - 0x2))))
350−assert(((tonumber("\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1) == (0x1 << 0x20)))
351−assert(((tonumber("\u{30}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1) == (0x1 << 0x20)))
352−assert(((tonumber("\u{2d}\u{30}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) - 0x1) == (- (0x1 << 0x28))))
326+assert(eqT(tonumber(maxint),maxint) and eqT(tonumber(minint),minint))
327+assert(tonumber(0x1 / 0x0) == 0x1 / 0x0)
328+assert(tonumber("\u{30}") == 0x0)
329+assert(not tonumber(""))
330+assert(not tonumber("\u{20}\u{20}"))
331+assert(not tonumber("\u{2d}"))
332+assert(not tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{20}"))
333+assert(not tonumber({}))
334+assert(tonumber("\u{2b}\u{30}\u{2e}\u{30}\u{31}") == 0x1 / 0x64 and tonumber("\u{2b}\u{2e}\u{30}\u{31}") == 0.01 and tonumber("\u{2e}\u{30}\u{31}") == 0.01 and tonumber("\u{2d}\u{31}\u{2e}") == - 0x1 and tonumber("\u{2b}\u{31}\u{2e}") == 0x1)
335+assert(not tonumber("\u{2b}\u{20}\u{30}\u{2e}\u{30}\u{31}") and not tonumber("\u{2b}\u{2e}\u{65}\u{31}") and not tonumber("\u{31}\u{65}") and not tonumber("\u{31}\u{2e}\u{30}\u{65}\u{2b}") and not tonumber("\u{2e}"))
336+assert(tonumber("\u{2d}\u{30}\u{31}\u{32}") == - 0xa - 0x2)
337+assert(tonumber("\u{2d}\u{31}\u{2e}\u{32}\u{65}\u{32}") == - - - 0x78)
338+assert(tonumber("\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}") == (0x1 << (0x4 * 0xc)) - 0x1)
339+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4))) == - 0x1)
340+assert(tonumber("\u{2d}\u{30}\u{78}" .. string.rep("\u{66}",(intbits // 0x4))) == 0x1)
341+assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == 0xa)
342+assert(tonumber("\u{20}\u{20}\u{30}\u{30}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0xa) == 0x3f2)
343+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{31}\u{30}\u{20}\u{20}",0x2) == - 0xa)
344+assert(tonumber("\u{31}\u{30}",0x24) == 0x24)
345+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{30}\u{20}\u{20}",0x24) == - 0x24)
346+assert(tonumber("\u{20}\u{20}\u{2b}\u{31}\u{5a}\u{20}\u{20}",0x24) == 0x24 + 0x23)
347+assert(tonumber("\u{20}\u{20}\u{2d}\u{31}\u{7a}\u{20}\u{20}",0x24) == - 0x24 + - 0x23)
348+assert(tonumber("\u{2d}\u{66}\u{46}\u{66}\u{61}",0x10) == - (0xa + (0x10 * (0xf + (0x10 * (0xf + (0x10 * 0xf)))))))
349+assert(tonumber(string.rep("\u{31}",(intbits - 0x2)),0x2) + 0x1 == 0x2 ^ (intbits - 0x2))
350+assert(tonumber("\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1 == (0x1 << 0x20))
351+assert(tonumber("\u{30}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) + 0x1 == (0x1 << 0x20))
352+assert(tonumber("\u{2d}\u{30}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{46}\u{46}\u{46}\u{46}",0x10) - 0x1 == - (0x1 << 0x28))
353353for i = 0x2, 0x24
354354do
355−local i2 = (i * i)
356−local i10 = ((((i2 * i2) * i2) * i2) * i2)
357−assert((tonumber("\u{9}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{9}",i) == i10))
358−end
359−if (not _soft) then
360−assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0xd) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0xd)) - 0x1)))
361−assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x96) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x96)) - 0x1)))
362−assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x12c) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x12c)) - 0x1)))
363−assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{66}",0x1f4) .. "\u{2e}\u{30}"))) == ((2.0 ^ (0x4 * 0x1f4)) - 0x1)))
364−assert((tonumber(("\u{30}\u{78}\u{33}\u{2e}" .. string.rep("\u{30}",0x3e8))) == 0x3))
365−assert((tonumber(("\u{30}\u{78}" .. (string.rep("\u{30}",0x3e8) .. "\u{61}"))) == 0xa))
366−assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0xd) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0xe)))))
367−assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x96) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x97)))))
368−assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x12c) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x12d)))))
369−assert((tonumber(("\u{30}\u{78}\u{30}\u{2e}" .. (string.rep("\u{30}",0x1f4) .. "\u{31}"))) == (2.0 ^ (- (0x4 * 0x1f5)))))
370−assert((tonumber(("\u{30}\u{78}\u{65}\u{30}\u{33}" .. (string.rep("\u{30}",0x3e8) .. "\u{70}\u{2d}\u{34}\u{30}\u{30}\u{30}"))) == 3587.0))
371−assert((tonumber(("\u{30}\u{78}\u{2e}" .. (string.rep("\u{30}",0x3e8) .. "\u{37}\u{34}\u{70}\u{34}\u{30}\u{30}\u{34}"))) == 7.25))
355+local i2 = i * i
356+local i10 = i2 * i2 * i2 * i2 * i2
357+assert(tonumber("\u{9}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{9}",i) == i10)
358+end
359+if not _soft then
360+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0xd) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0xd) - 0x1)
361+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x96) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x96) - 0x1)
362+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x12c) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x12c) - 0x1)
363+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{66}",0x1f4) .. "\u{2e}\u{30}") == 2.0 ^ (0x4 * 0x1f4) - 0x1)
364+assert(tonumber("\u{30}\u{78}\u{33}\u{2e}" .. string.rep("\u{30}",0x3e8)) == 0x3)
365+assert(tonumber("\u{30}\u{78}" .. string.rep("\u{30}",0x3e8) .. "\u{61}") == 0xa)
366+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0xd) .. "\u{31}") == 2.0 ^ (- 0x4 * 0xe))
367+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x96) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x97))
368+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x12c) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x12d))
369+assert(tonumber("\u{30}\u{78}\u{30}\u{2e}" .. string.rep("\u{30}",0x1f4) .. "\u{31}") == 2.0 ^ (- 0x4 * 0x1f5))
370+assert(tonumber("\u{30}\u{78}\u{65}\u{30}\u{33}" .. string.rep("\u{30}",0x3e8) .. "\u{70}\u{2d}\u{34}\u{30}\u{30}\u{30}") == 3587.0)
371+assert(tonumber("\u{30}\u{78}\u{2e}" .. string.rep("\u{30}",0x3e8) .. "\u{37}\u{34}\u{70}\u{34}\u{30}\u{30}\u{34}") == 7.25)
372372end
373373local function f
374374(...)
375−if (select("\u{23}",...) == 0x1) then
376−return ...
375+if select("\u{23}",...) == 0x1 then
376+return (...)
377377else
378378return "\u{2a}\u{2a}\u{2a}"
379379end
380380end
381−assert((not f(tonumber("\u{66}\u{46}\u{66}\u{61}",0xf))))
382−assert((not f(tonumber("\u{30}\u{39}\u{39}",0x8))))
383−assert((not f(tonumber("\u{31}\u{0}",0x2))))
384−assert((not f(tonumber("",0x8))))
385−assert((not f(tonumber("\u{20}\u{20}",0x9))))
386−assert((not f(tonumber("\u{20}\u{20}",0x9))))
387−assert((not f(tonumber("\u{30}\u{78}\u{66}",0xa))))
388−assert((not f(tonumber("\u{69}\u{6e}\u{66}"))))
389−assert((not f(tonumber("\u{20}\u{49}\u{4e}\u{46}\u{20}"))))
390−assert((not f(tonumber("\u{4e}\u{61}\u{6e}"))))
391−assert((not f(tonumber("\u{6e}\u{61}\u{6e}"))))
392−assert((not f(tonumber("\u{20}\u{20}"))))
393−assert((not f(tonumber(""))))
394−assert((not f(tonumber("\u{31}\u{20}\u{20}\u{61}"))))
395−assert((not f(tonumber("\u{31}\u{20}\u{20}\u{61}",0x2))))
396−assert((not f(tonumber("\u{31}\u{0}"))))
397−assert((not f(tonumber("\u{31}\u{20}\u{0}"))))
398−assert((not f(tonumber("\u{31}\u{0}\u{20}"))))
399−assert((not f(tonumber("\u{65}\u{31}"))))
400−assert((not f(tonumber("\u{65}\u{20}\u{20}\u{31}"))))
401−assert((not f(tonumber("\u{20}\u{33}\u{2e}\u{34}\u{2e}\u{35}\u{20}"))))
402−assert((not tonumber("\u{30}\u{78}")))
403−assert((not tonumber("\u{78}")))
404−assert((not tonumber("\u{78}\u{33}")))
405−assert((not tonumber("\u{30}\u{78}\u{33}\u{2e}\u{33}\u{2e}\u{33}")))
406−assert((not tonumber("\u{30}\u{30}\u{78}\u{32}")))
407−assert((not tonumber("\u{30}\u{78}\u{20}\u{32}")))
408−assert((not tonumber("\u{30}\u{20}\u{78}\u{32}")))
409−assert((not tonumber("\u{32}\u{33}\u{78}")))
410−assert((not tonumber("\u{2d}\u{20}\u{30}\u{78}\u{61}\u{61}")))
411−assert((not tonumber("\u{2d}\u{30}\u{78}\u{61}\u{61}\u{50}\u{20}")))
412−assert((not tonumber("\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}")))
413−assert((not tonumber("\u{30}\u{78}\u{35}\u{70}\u{2b}\u{2d}\u{32}")))
414−assert((((0x10 == 0x10) and (0xfff == ((0x2 ^ 0xc) - 0x1))) and (0xfb == 0xfb)))
415−assert(((0.0 == 0x0) and (0.0 == 0x0)))
416−assert((0xffffffff == ((0x1 << 0x20) - 0x1)))
417−assert((tonumber("\u{2b}\u{30}\u{78}\u{32}") == 0x2))
418−assert((tonumber("\u{2d}\u{30}\u{78}\u{61}\u{41}") == (- 0xaa)))
419−assert((tonumber("\u{2d}\u{30}\u{78}\u{66}\u{66}\u{46}\u{46}\u{46}\u{66}\u{66}\u{66}") == (- ((0x1 << 0x20) + 0x1))))
420−assert((((0.0 == 0x0) and ((0xe + 0x1) == 0xf)) and ((0xe - 0x1) == 0xd)))
421−assert((tonumber("\u{20}\u{20}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == (0x25 / 0x10)))
422−assert((tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == (- (0x25 / 0x10))))
423−assert((tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}\u{2b}\u{38}\u{20}\u{20}") == 0x51))
424−assert((0.9999999997671694 == (0x1 - "\u{30}\u{78}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}")))
425−assert((("\u{30}\u{78}\u{41}\u{2e}\u{61}" + 0x0) == (0xa + (0xa / 0x10))))
426−assert((170.0 == 0xaa))
427−assert((1.0 == 0x1))
428−assert((1.0625 == ("\u{30}\u{78}\u{31}\u{2e}" + "\u{2b}\u{30}\u{78}\u{2e}\u{31}")))
429−assert((11259375.0 == 11259375.0))
430−assert((1.1 == (1.0 + 0.1)))
431−assert(((100.0 == 100.0) and (0.01 == 0.01)))
432−assert(((0x423a35c7 - 0x423a35c6) == 1.0))
433−assert((1.1 == ("\u{31}\u{2e}" + "\u{2e}\u{31}")))
434−assert(((tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}") - tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{30}")) == tonumber("\u{20}\u{20}\u{2b}\u{30}\u{2e}\u{30}\u{30}\u{31}\u{65}\u{2b}\u{33}\u{20}\u{a}\u{9}")))
435−assert(((1e-31 > 9e-32) and (9e29 < 1e30)))
436−assert((0.123456 > 0.123455))
437−assert((tonumber("\u{2b}\u{31}\u{2e}\u{32}\u{33}\u{45}\u{31}\u{38}") == (1.23 * (10.0 ^ 0x12))))
438−assert((not (((0x1 < 0x1) and (0x1 < 0x2)) and (not (0x2 < 0x1)))))
439−assert((not ((("\u{61}" < "\u{61}") and ("\u{61}" < "\u{62}")) and (not ("\u{62}" < "\u{61}")))))
440−assert((((0x1 <= 0x1) and (0x1 <= 0x2)) and (not (0x2 <= 0x1))))
441−assert(((("\u{61}" <= "\u{61}") and ("\u{61}" <= "\u{62}")) and (not ("\u{62}" <= "\u{61}"))))
442−assert((not ((0x1 > 0x1) and (not ((0x1 > 0x2) and (0x2 > 0x1))))))
443−assert((not (("\u{61}" > "\u{61}") and (not (("\u{61}" > "\u{62}") and ("\u{62}" > "\u{61}"))))))
444−assert(((0x1 >= 0x1) and (not ((0x1 >= 0x2) and (0x2 >= 0x1)))))
445−assert((("\u{61}" >= "\u{61}") and (not (("\u{61}" >= "\u{62}") and ("\u{62}" >= "\u{61}")))))
446−assert((((1.3 < 1.4) and (1.3 <= 1.4)) and (not ((1.3 < 1.3) and (1.3 <= 1.3)))))
447−assert(eqT((- (0x4 % 0x3)),0x2))
448−assert(eqT((0x4 % (- 0x3)),(- 0x2)))
449−assert(eqT((- (4.0 % 0x3)),2.0))
450−assert(eqT((0x4 % (- 3.0)),(- 2.0)))
451−assert(eqT((0x4 % (- 0x5)),(- 0x1)))
452−assert(eqT((0x4 % (- 5.0)),(- 1.0)))
453−assert(eqT((0x4 % 0x5),0x4))
454−assert(eqT((0x4 % 5.0),4.0))
455−assert(eqT((- (0x4 % (- 0x5))),(- 0x4)))
456−assert(eqT((- (0x4 % (- 5.0))),(- 4.0)))
457−assert(eqT((- (0x4 % 0x5)),0x1))
458−assert(eqT((- (0x4 % 5.0)),1.0))
459−assert(eqT((4.25 % 0x4),0.25))
460−assert(eqT((10.0 % 0x2),0.0))
461−assert(eqT((- (10.0 % 0x2)),0.0))
462−assert(eqT((- (10.0 % (- 0x2))),0.0))
463−assert(((math.pi - (math.pi % 0x1)) == 0x3))
464−assert(((math.pi - (math.pi % 1e-3)) == 3.141))
381+assert(not f(tonumber("\u{66}\u{46}\u{66}\u{61}",0xf)))
382+assert(not f(tonumber("\u{30}\u{39}\u{39}",0x8)))
383+assert(not f(tonumber("\u{31}\u{0}",0x2)))
384+assert(not f(tonumber("",0x8)))
385+assert(not f(tonumber("\u{20}\u{20}",0x9)))
386+assert(not f(tonumber("\u{20}\u{20}",0x9)))
387+assert(not f(tonumber("\u{30}\u{78}\u{66}",0xa)))
388+assert(not f(tonumber("\u{69}\u{6e}\u{66}")))
389+assert(not f(tonumber("\u{20}\u{49}\u{4e}\u{46}\u{20}")))
390+assert(not f(tonumber("\u{4e}\u{61}\u{6e}")))
391+assert(not f(tonumber("\u{6e}\u{61}\u{6e}")))
392+assert(not f(tonumber("\u{20}\u{20}")))
393+assert(not f(tonumber("")))
394+assert(not f(tonumber("\u{31}\u{20}\u{20}\u{61}")))
395+assert(not f(tonumber("\u{31}\u{20}\u{20}\u{61}",0x2)))
396+assert(not f(tonumber("\u{31}\u{0}")))
397+assert(not f(tonumber("\u{31}\u{20}\u{0}")))
398+assert(not f(tonumber("\u{31}\u{0}\u{20}")))
399+assert(not f(tonumber("\u{65}\u{31}")))
400+assert(not f(tonumber("\u{65}\u{20}\u{20}\u{31}")))
401+assert(not f(tonumber("\u{20}\u{33}\u{2e}\u{34}\u{2e}\u{35}\u{20}")))
402+assert(not tonumber("\u{30}\u{78}"))
403+assert(not tonumber("\u{78}"))
404+assert(not tonumber("\u{78}\u{33}"))
405+assert(not tonumber("\u{30}\u{78}\u{33}\u{2e}\u{33}\u{2e}\u{33}"))
406+assert(not tonumber("\u{30}\u{30}\u{78}\u{32}"))
407+assert(not tonumber("\u{30}\u{78}\u{20}\u{32}"))
408+assert(not tonumber("\u{30}\u{20}\u{78}\u{32}"))
409+assert(not tonumber("\u{32}\u{33}\u{78}"))
410+assert(not tonumber("\u{2d}\u{20}\u{30}\u{78}\u{61}\u{61}"))
411+assert(not tonumber("\u{2d}\u{30}\u{78}\u{61}\u{61}\u{50}\u{20}"))
412+assert(not tonumber("\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}"))
413+assert(not tonumber("\u{30}\u{78}\u{35}\u{70}\u{2b}\u{2d}\u{32}"))
414+assert(0x10 == 0x10 and 0xfff == 0x2 ^ 0xc - 0x1 and 0xfb == 0xfb)
415+assert(0.0 == 0x0 and 0.0 == 0x0)
416+assert(0xffffffff == (0x1 << 0x20) - 0x1)
417+assert(tonumber("\u{2b}\u{30}\u{78}\u{32}") == 0x2)
418+assert(tonumber("\u{2d}\u{30}\u{78}\u{61}\u{41}") == - 0xaa)
419+assert(tonumber("\u{2d}\u{30}\u{78}\u{66}\u{66}\u{46}\u{46}\u{46}\u{66}\u{66}\u{66}") == - (0x1 << 0x20) + 0x1)
420+assert(0.0 == 0x0 and 0xe + 0x1 == 0xf and 0xe - 0x1 == 0xd)
421+assert(tonumber("\u{20}\u{20}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == 0x25 / 0x10)
422+assert(tonumber("\u{20}\u{20}\u{2d}\u{30}\u{78}\u{32}\u{2e}\u{35}\u{20}\u{20}") == - 0x25 / 0x10)
423+assert(tonumber("\u{20}\u{20}\u{2b}\u{30}\u{78}\u{30}\u{2e}\u{35}\u{31}\u{70}\u{2b}\u{38}\u{20}\u{20}") == 0x51)
424+assert(0.9999999997671694 == 0x1 - "\u{30}\u{78}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}")
425+assert("\u{30}\u{78}\u{41}\u{2e}\u{61}" + 0x0 == 0xa + 0xa / 0x10)
426+assert(170.0 == 0xaa)
427+assert(1.0 == 0x1)
428+assert(1.0625 == "\u{30}\u{78}\u{31}\u{2e}" + "\u{2b}\u{30}\u{78}\u{2e}\u{31}")
429+assert(11259375.0 == 11259375.0)
430+assert(1.1 == 1.0 + 0.1)
431+assert(100.0 == 100.0 and 0.01 == 0.01)
432+assert(0x423a35c7 - 0x423a35c6 == 1.0)
433+assert(1.1 == "\u{31}\u{2e}" + "\u{2e}\u{31}")
434+assert(tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}") - tonumber("\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{31}\u{30}") == tonumber("\u{20}\u{20}\u{2b}\u{30}\u{2e}\u{30}\u{30}\u{31}\u{65}\u{2b}\u{33}\u{20}\u{a}\u{9}"))
435+assert(1e-31 > 9e-32 and 9e29 < 1e30)
436+assert(0.123456 > 0.123455)
437+assert(tonumber("\u{2b}\u{31}\u{2e}\u{32}\u{33}\u{45}\u{31}\u{38}") == 1.23 * 10.0 ^ 0x12)
438+assert(not (0x1 < 0x1) and (0x1 < 0x2) and not (0x2 < 0x1))
439+assert(not ("\u{61}" < "\u{61}") and ("\u{61}" < "\u{62}") and not ("\u{62}" < "\u{61}"))
440+assert((0x1 <= 0x1) and (0x1 <= 0x2) and not (0x2 <= 0x1))
441+assert(("\u{61}" <= "\u{61}") and ("\u{61}" <= "\u{62}") and not ("\u{62}" <= "\u{61}"))
442+assert(not (0x1 > 0x1) and not (0x1 > 0x2) and (0x2 > 0x1))
443+assert(not ("\u{61}" > "\u{61}") and not ("\u{61}" > "\u{62}") and ("\u{62}" > "\u{61}"))
444+assert((0x1 >= 0x1) and not (0x1 >= 0x2) and (0x2 >= 0x1))
445+assert(("\u{61}" >= "\u{61}") and not ("\u{61}" >= "\u{62}") and ("\u{62}" >= "\u{61}"))
446+assert(1.3 < 1.4 and 1.3 <= 1.4 and not (1.3 < 1.3) and 1.3 <= 1.3)
447+assert(eqT(- 0x4 % 0x3,0x2))
448+assert(eqT(0x4 % - 0x3,- 0x2))
449+assert(eqT(- 4.0 % 0x3,2.0))
450+assert(eqT(0x4 % - 3.0,- 2.0))
451+assert(eqT(0x4 % - 0x5,- 0x1))
452+assert(eqT(0x4 % - 5.0,- 1.0))
453+assert(eqT(0x4 % 0x5,0x4))
454+assert(eqT(0x4 % 5.0,4.0))
455+assert(eqT(- 0x4 % - 0x5,- 0x4))
456+assert(eqT(- 0x4 % - 5.0,- 4.0))
457+assert(eqT(- 0x4 % 0x5,0x1))
458+assert(eqT(- 0x4 % 5.0,1.0))
459+assert(eqT(4.25 % 0x4,0.25))
460+assert(eqT(10.0 % 0x2,0.0))
461+assert(eqT(- 10.0 % 0x2,0.0))
462+assert(eqT(- 10.0 % - 0x2,0.0))
463+assert(math.pi - math.pi % 0x1 == 0x3)
464+assert(math.pi - math.pi % 1e-3 == 3.141)
465465do
466466local i,j = 0x0,0x4e20
467−while (i < j) do
468−local m = ((i + j) // 0x2)
469−if (0xa ^ (- (m > 0x0))) then
470−i=(m + 0x1)
467+while i < j do
468+local m = (i + j) // 0x2
469+if 0xa ^ - m > 0x0 then
470+i=m + 0x1
471471else
472472j=m
473473end
474474end
475−local b = (0xa ^ (- (i - (i // 0xa))))
476−assert(((b > 0x0) and ((b * b) == 0x0)))
477−local delta = (b / 0x3e8)
478−assert(eq(((2.1 * b) % (0x2 * b)),(0.1 * b),delta))
479−assert(eq(((- (2.1 * b)) % (0x2 * b)),((0x2 * b) - (0.1 * b)),delta))
480−assert(eq(((2.1 * b) % (- (0x2 * b))),((0.1 * b) - (0x2 * b)),delta))
481−assert(eq(((- (2.1 * b)) % (- (0x2 * b))),(- (0.1 * b)),delta))
475+local b = 0xa ^ - (i - (i // 0xa))
476+assert(b > 0x0 and b * b == 0x0)
477+local delta = b / 0x3e8
478+assert(eq((2.1 * b) % (0x2 * b),(0.1 * b),delta))
479+assert(eq((- 2.1 * b) % (0x2 * b),(0x2 * b) - (0.1 * b),delta))
480+assert(eq((2.1 * b) % (- 0x2 * b),(0.1 * b) - (0x2 * b),delta))
481+assert(eq((- 2.1 * b) % (- 0x2 * b),(- 0.1 * b),delta))
482482end
483−for i = (- 0xa), 0xa
483+for i = - 0xa, 0xa
484484do
485−for j = (- 0xa), 0xa
485+for j = - 0xa, 0xa
486486do
487−if (j ~= 0x0) then
488−assert((((i + 0.0) % j) == (i % j)))
487+if j ~= 0x0 then
488+assert((i + 0.0) % j == i % j)
489489end
490490end
491491end
492492for i = 0x0, 0xa
493493do
494−for j = (- 0xa), 0xa
494+for j = - 0xa, 0xa
495495do
496−if (j ~= 0x0) then
497−assert((((0x2 ^ i) % j) == ((0x1 << i) % j)))
496+if j ~= 0x0 then
497+assert((0x2 ^ i) % j == (0x1 << i) % j)
498498end
499499end
500500end
501501do
502502local i = 0xa
503−while ((0x1 << i) > 0x0) do
504−assert((((0x1 << i) % 0x3) == ((i % 0x2) + 0x1)))
505−i=(i + 0x1)
503+while (0x1 << i) > 0x0 do
504+assert((0x1 << i) % 0x3 == i % 0x2 + 0x1)
505+i=i + 0x1
506506end
507507i=0xa
508−while ((0x2 ^ i) < math.huge) do
509−assert((((0x2 ^ i) % 0x3) == ((i % 0x2) + 0x1)))
510−i=(i + 0x1)
511−end
512−end
513−assert(eqT((minint % minint),0x0))
514−assert(eqT((maxint % maxint),0x0))
515−assert((((minint + 0x1) % minint) == (minint + 0x1)))
516−assert((((maxint - 0x1) % maxint) == (maxint - 0x1)))
517−assert(((minint % maxint) == (maxint - 0x1)))
518−assert((minint % (- (0x1 == 0x0))))
519−assert((minint % (- (0x2 == 0x0))))
520−assert((maxint % (- (0x2 == (- 0x1)))))
521−if (not _port) then
508+while 0x2 ^ i < math.huge do
509+assert(0x2 ^ i % 0x3 == i % 0x2 + 0x1)
510+i=i + 0x1
511+end
512+end
513+assert(eqT(minint % minint,0x0))
514+assert(eqT(maxint % maxint,0x0))
515+assert((minint + 0x1) % minint == minint + 0x1)
516+assert((maxint - 0x1) % maxint == maxint - 0x1)
517+assert(minint % maxint == maxint - 0x1)
518+assert(minint % - 0x1 == 0x0)
519+assert(minint % - 0x2 == 0x0)
520+assert(maxint % - 0x2 == - 0x1)
521+if not _port then
522522local function anan
523523(x)
524524assert(isNaN(x))
525525end
526−anan((0.0 % 0x0))
527−anan((1.3 % 0x0))
528−anan((math.huge % 0x1))
529−anan((math.huge % 1e30))
530−anan((- (math.huge % 1e30)))
531−anan((- (math.huge % (- 1e30))))
532−assert(((0x1 % math.huge) == 0x1))
533−assert(((1e30 % math.huge) == 1e30))
534−assert((1e30 % (- (math.huge == (- math.huge)))))
535−assert((- ((0x1 % math.huge) == math.huge)))
536−assert((- (0x1 % (- (math.huge == (- 0x1))))))
526+anan(0.0 % 0x0)
527+anan(1.3 % 0x0)
528+anan(math.huge % 0x1)
529+anan(math.huge % 1e30)
530+anan(- math.huge % 1e30)
531+anan(- math.huge % - 1e30)
532+assert(0x1 % math.huge == 0x1)
533+assert(1e30 % math.huge == 1e30)
534+assert(1e30 % - math.huge == - math.huge)
535+assert(- 0x1 % math.huge == math.huge)
536+assert(- 0x1 % - math.huge == - 0x1)
537537end
538538assert(math.ult(0x3,0x4))
539−assert((not math.ult(0x4,0x4)))
540−assert(math.ult((- 0x2),(- 0x1)))
541−assert(math.ult(0x2,(- 0x1)))
542−assert((not math.ult((- 0x2),(- 0x2))))
539+assert(not math.ult(0x4,0x4))
540+assert(math.ult(- 0x2,- 0x1))
541+assert(math.ult(0x2,- 0x1))
542+assert(not math.ult(- 0x2,- 0x2))
543543assert(math.ult(maxint,minint))
544−assert((not math.ult(minint,maxint)))
545−assert(eq(((math.sin((- 9.8)) ^ 0x2) + (math.cos((- 9.8)) ^ 0x2)),0x1))
546−assert(eq(math.tan((math.pi / 0x4)),0x1))
547−assert((eq(math.sin((math.pi / 0x2)),0x1) and eq(math.cos((math.pi / 0x2)),0x0)))
548−assert(((eq(math.atan(0x1),(math.pi / 0x4)) and eq(math.acos(0x0),(math.pi / 0x2))) and eq(math.asin(0x1),(math.pi / 0x2))))
549−assert((eq(math.deg((math.pi / 0x2)),0x5a) and eq(math.rad(0x5a),(math.pi / 0x2))))
550−assert((math.abs((- 10.43)) == 10.43))
544+assert(not math.ult(minint,maxint))
545+assert(eq(math.sin(- 9.8) ^ 0x2 + math.cos(- 9.8) ^ 0x2,0x1))
546+assert(eq(math.tan(math.pi / 0x4),0x1))
547+assert(eq(math.sin(math.pi / 0x2),0x1) and eq(math.cos(math.pi / 0x2),0x0))
548+assert(eq(math.atan(0x1),math.pi / 0x4) and eq(math.acos(0x0),math.pi / 0x2) and eq(math.asin(0x1),math.pi / 0x2))
549+assert(eq(math.deg(math.pi / 0x2),0x5a) and eq(math.rad(0x5a),math.pi / 0x2))
550+assert(math.abs(- 10.43) == 10.43)
551551assert(eqT(math.abs(minint),minint))
552552assert(eqT(math.abs(maxint),maxint))
553−assert(eqT(math.abs((- maxint)),maxint))
554−assert(eq(math.atan(0x1,0x0),(math.pi / 0x2)))
555−assert((math.fmod(0xa,0x3) == 0x1))
556−assert(eq((math.sqrt(0xa) ^ 0x2),0xa))
557−assert(eq(math.log(0x2,0xa),(math.log(0x2) / math.log(0xa))))
553+assert(eqT(math.abs(- maxint),maxint))
554+assert(eq(math.atan(0x1,0x0),math.pi / 0x2))
555+assert(math.fmod(0xa,0x3) == 0x1)
556+assert(eq(math.sqrt(0xa) ^ 0x2,0xa))
557+assert(eq(math.log(0x2,0xa),math.log(0x2) / math.log(0xa)))
558558assert(eq(math.log(0x2,0x2),0x1))
559559assert(eq(math.log(0x9,0x3),0x2))
560560assert(eq(math.exp(0x0),0x1))
561−assert(eq(math.sin(0xa),math.sin((0xa % (0x2 * math.pi)))))
562−assert((tonumber("\u{20}\u{31}\u{2e}\u{33}\u{65}\u{2d}\u{32}\u{20}") == 0.013))
563−assert((tonumber("\u{20}\u{2d}\u{31}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{20}") == (- 1.00000000000001)))
564−assert((0x800001 + (- (0x800001 == 0x0))))
565−assert((0x800000 + (- (0x800000 == 0x0))))
566−assert((0x7fffff + (- (0x7fffff == 0x0))))
561+assert(eq(math.sin(0xa),math.sin(0xa % (0x2 * math.pi))))
562+assert(tonumber("\u{20}\u{31}\u{2e}\u{33}\u{65}\u{2d}\u{32}\u{20}") == 0.013)
563+assert(tonumber("\u{20}\u{2d}\u{31}\u{2e}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{20}") == - 1.00000000000001)
564+assert(0x800001 + - 0x800001 == 0x0)
565+assert(0x800000 + - 0x800000 == 0x0)
566+assert(0x7fffff + - 0x7fffff == 0x0)
567567do
568568assert(eqT(math.floor(3.4),0x3))
569569assert(eqT(math.ceil(3.4),0x4))
570−assert(eqT(math.floor((- 3.4)),(- 0x4)))
571−assert(eqT(math.ceil((- 3.4)),(- 0x3)))
570+assert(eqT(math.floor(- 3.4),- 0x4))
571+assert(eqT(math.ceil(- 3.4),- 0x3))
572572assert(eqT(math.floor(maxint),maxint))
573573assert(eqT(math.ceil(maxint),maxint))
574574assert(eqT(math.floor(minint),minint))
575−assert(eqT(math.floor((minint + 0.0)),minint))
575+assert(eqT(math.floor(minint + 0.0),minint))
576576assert(eqT(math.ceil(minint),minint))
577−assert(eqT(math.ceil((minint + 0.0)),minint))
578−assert((math.floor(1e50) == 1e50))
579−assert((math.ceil(1e50) == 1e50))
580−assert((math.floor((- 1e50)) == (- 1e50)))
581−assert((math.ceil((- 1e50)) == (- 1e50)))
577+assert(eqT(math.ceil(minint + 0.0),minint))
578+assert(math.floor(1e50) == 1e50)
579+assert(math.ceil(1e50) == 1e50)
580+assert(math.floor(- 1e50) == - 1e50)
581+assert(math.ceil(- 1e50) == - 1e50)
582582for _,p in pairs({0x1f,0x20,0x3f,0x40})
583583do
584−assert((math.floor((0x2 ^ p)) == (0x2 ^ p)))
585−assert((math.floor(((0x2 ^ p) + 0.5)) == (0x2 ^ p)))
586−assert((math.ceil((0x2 ^ p)) == (0x2 ^ p)))
587−assert((math.ceil(((0x2 ^ p) - 0.5)) == (0x2 ^ p)))
584+assert(math.floor(0x2 ^ p) == 0x2 ^ p)
585+assert(math.floor(0x2 ^ p + 0.5) == 0x2 ^ p)
586+assert(math.ceil(0x2 ^ p) == 0x2 ^ p)
587+assert(math.ceil(0x2 ^ p - 0.5) == 0x2 ^ p)
588588end
589589checkerror("\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.floor,{})
590590checkerror("\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.ceil,print)
591591assert(eqT(math.tointeger(minint),minint))
592−assert(eqT(math.tointeger((minint .. "")),minint))
592+assert(eqT(math.tointeger(minint .. ""),minint))
593593assert(eqT(math.tointeger(maxint),maxint))
594−assert(eqT(math.tointeger((maxint .. "")),maxint))
595−assert(eqT(math.tointeger((minint + 0.0)),minint))
596−assert((not math.tointeger((0.0 - minint))))
597−assert((not math.tointeger(math.pi)))
598−assert((not math.tointeger((- math.pi))))
599−assert((math.floor(math.huge) == math.huge))
600−assert((math.ceil(math.huge) == math.huge))
601−assert((not math.tointeger(math.huge)))
602−assert((math.floor((- math.huge)) == (- math.huge)))
603−assert((math.ceil((- math.huge)) == (- math.huge)))
604−assert((not math.tointeger((- math.huge))))
605−assert((math.tointeger("\u{33}\u{34}\u{2e}\u{30}") == 0x22))
606−assert((not math.tointeger("\u{33}\u{34}\u{2e}\u{33}")))
607−assert((not math.tointeger({})))
608−assert((not math.tointeger((0x0 / 0x0))))
609−end
610−for i = (- 0x6), 0x6
611−do
612−for j = (- 0x6), 0x6
613−do
614−if (j ~= 0x0) then
594+assert(eqT(math.tointeger(maxint .. ""),maxint))
595+assert(eqT(math.tointeger(minint + 0.0),minint))
596+assert(not math.tointeger(0.0 - minint))
597+assert(not math.tointeger(math.pi))
598+assert(not math.tointeger(- math.pi))
599+assert(math.floor(math.huge) == math.huge)
600+assert(math.ceil(math.huge) == math.huge)
601+assert(not math.tointeger(math.huge))
602+assert(math.floor(- math.huge) == - math.huge)
603+assert(math.ceil(- math.huge) == - math.huge)
604+assert(not math.tointeger(- math.huge))
605+assert(math.tointeger("\u{33}\u{34}\u{2e}\u{30}") == 0x22)
606+assert(not math.tointeger("\u{33}\u{34}\u{2e}\u{33}"))
607+assert(not math.tointeger({}))
608+assert(not math.tointeger(0x0 / 0x0))
609+end
610+for i = - 0x6, 0x6
611+do
612+for j = - 0x6, 0x6
613+do
614+if j ~= 0x0 then
615615local mi = math.fmod(i,j)
616−local mf = math.fmod((i + 0.0),j)
617−assert((mi == mf))
618−assert(((math.type(mi) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}") and (math.type(mf) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")))
619−if ((((i >= 0x0) and (j >= 0x0)) or ((i <= 0x0) and (j <= 0x0))) or (mi == 0x0)) then
620−assert(eqT(mi,(i % j)))
616+local mf = math.fmod(i + 0.0,j)
617+assert(mi == mf)
618+assert(math.type(mi) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}" and math.type(mf) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
619+if (i >= 0x0 and j >= 0x0) or (i <= 0x0 and j <= 0x0) or mi == 0x0 then
620+assert(eqT(mi,i % j))
621621end
622622end
623623end
624624end
625625assert(eqT(math.fmod(minint,minint),0x0))
626626assert(eqT(math.fmod(maxint,maxint),0x0))
627−assert(eqT(math.fmod((minint + 0x1),minint),(minint + 0x1)))
628−assert(eqT(math.fmod((maxint - 0x1),maxint),(maxint - 0x1)))
627+assert(eqT(math.fmod(minint + 0x1,minint),minint + 0x1))
628+assert(eqT(math.fmod(maxint - 0x1,maxint),maxint - 0x1))
629629checkerror("\u{7a}\u{65}\u{72}\u{6f}",math.fmod,0x3,0x0)
630630do
631631checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.max)
632632checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",math.min)
633633assert(eqT(math.max(0x3),0x3))
634634assert(eqT(math.max(0x3,0x5,0x9,0x1),0x9))
635−assert((math.max(maxint,1e61) == 1e61))
636−assert(eqT(math.max(minint,(minint + 0x1)),(minint + 0x1)))
635+assert(math.max(maxint,1e61) == 1e61)
636+assert(eqT(math.max(minint,minint + 0x1),minint + 0x1))
637637assert(eqT(math.min(0x3),0x3))
638638assert(eqT(math.min(0x3,0x5,0x9,0x1),0x1))
639−assert((math.min(3.2,5.9,(- 9.2),1.1) == (- 9.2)))
640−assert((math.min(1.9,1.7,1.72) == 1.7))
641−assert((math.min((- 1e61),minint) == (- 1e61)))
642−assert(eqT(math.min(maxint,(maxint - 0x1)),(maxint - 0x1)))
643−assert(eqT(math.min((maxint - 0x2),maxint,(maxint - 0x1)),(maxint - 0x2)))
639+assert(math.min(3.2,5.9,- 9.2,1.1) == - 9.2)
640+assert(math.min(1.9,1.7,1.72) == 1.7)
641+assert(math.min(- 1e61,minint) == - 1e61)
642+assert(eqT(math.min(maxint,maxint - 0x1),maxint - 0x1))
643+assert(eqT(math.min(maxint - 0x2,maxint,maxint - 0x1),maxint - 0x2))
644644end
645645local a,b = "\u{31}\u{30}","\u{32}\u{30}"
646−assert(((((a * b) == 0xc8) and ((a + b) == 0x1e)) and ((a - b) == (- ((0xa and ((a / b) == 0.5)) and (- (b == (- 0x14))))))))
647−assert(((a == "\u{31}\u{30}") and (b == "\u{32}\u{30}")))
646+assert(a * b == 0xc8 and a + b == 0x1e and a - b == - 0xa and a / b == 0.5 and - b == - 0x14)
647+assert(a == "\u{31}\u{30}" and b == "\u{32}\u{30}")
648648do
649649print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{2d}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{4e}\u{61}\u{4e}")
650−local mz <const> = (- 0.0)
650+local mz <const> = - 0.0
651651local z <const> = 0.0
652−assert((mz == z))
653−assert((((0x1 / mz) < 0x0) and (0x0 < (0x1 / z))))
652+assert(mz == z)
653+assert(0x1 / mz < 0x0 and 0x0 < 0x1 / z)
654654local a = {[mz] = 0x1}
655−assert(((a[z] == 0x1) and (a[mz] == 0x1)))
655+assert(a[z] == 0x1 and a[mz] == 0x1)
656656a[z]=0x2
657−assert(((a[z] == 0x2) and (a[mz] == 0x2)))
658−local inf = ((math.huge * 0x2) + 0x1)
659−local mz <const> = (- (0x1 / inf))
660−local z <const> = (0x1 / inf)
661−assert((mz == z))
662−assert((((0x1 / mz) < 0x0) and (0x0 < (0x1 / z))))
663−local NaN <const> = (inf - inf)
664−assert((NaN ~= NaN))
665−assert((not (NaN < NaN)))
666−assert((not (NaN <= NaN)))
667−assert((not (NaN > NaN)))
668−assert((not (NaN >= NaN)))
669−assert((not ((0x0 < NaN) and (not (NaN < 0x0)))))
670−local NaN1 <const> = (0x0 / 0x0)
671−assert(((NaN ~= NaN1) and (not ((NaN <= NaN1) and (not (NaN1 <= NaN))))))
657+assert(a[z] == 0x2 and a[mz] == 0x2)
658+local inf = math.huge * 0x2 + 0x1
659+local mz <const> = - 0x1 / inf
660+local z <const> = 0x1 / inf
661+assert(mz == z)
662+assert(0x1 / mz < 0x0 and 0x0 < 0x1 / z)
663+local NaN <const> = inf - inf
664+assert(NaN ~= NaN)
665+assert(not (NaN < NaN))
666+assert(not (NaN <= NaN))
667+assert(not (NaN > NaN))
668+assert(not (NaN >= NaN))
669+assert(not (0x0 < NaN) and not (NaN < 0x0))
670+local NaN1 <const> = 0x0 / 0x0
671+assert(NaN ~= NaN1 and not (NaN <= NaN1) and not (NaN1 <= NaN))
672672local a = {}
673−assert((not pcall(rawset,a,NaN,0x1)))
674−assert((a[NaN] == undef))
673+assert(not pcall(rawset,a,NaN,0x1))
674+assert(a[NaN] == undef)
675675a[0x1]=0x1
676−assert((not pcall(rawset,a,NaN,0x1)))
677−assert((a[NaN] == undef))
676+assert(not pcall(rawset,a,NaN,0x1))
677+assert(a[NaN] == undef)
678678local a1,a2,a3,a4,a5 = 0x0,0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}",0x0,"\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}"
679−assert((((a1 == a2) and (a2 == a4)) and (a1 ~= a3)))
680−assert((a3 == a5))
679+assert(a1 == a2 and a2 == a4 and a1 ~= a3)
680+assert(a3 == a5)
681681end
682682print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{6d}\u{61}\u{74}\u{68}\u{2e}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{27}")
683683local random,max,min = math.random,math.max,math.min
684684local function testnear
685685(val,ref,tol)
686−return (math.abs((val - ref)) < (ref * tol))
686+return (math.abs(val - ref) < ref * tol)
687687end
688688do
689689local h <const> = 0x7a7040a5
690690local l <const> = 0xa323c9d6
691691math.randomseed(0x3ef)
692−local res = (((h << 0x20) | l) & (~ (~ (0x0 << intbits))))
693−assert((random(0x0) == res))
692+local res = (h << 0x20 | l) & ~ (~ 0x0 << intbits)
693+assert(random(0x0) == res)
694694math.randomseed(0x3ef,0x0)
695695local res
696−if (floatbits <= 0x20) then
697−res=((h >> (0x20 - floatbits)) % (0x2 ^ 0x20))
696+if floatbits <= 0x20 then
697+res=(h >> (0x20 - floatbits)) % 0x2 ^ 0x20
698698else
699−res=(((h % (0x2 ^ 0x20)) * (0x2 ^ (floatbits - 0x20))) + ((l >> (0x40 - floatbits)) % (0x2 ^ 0x20)))
699+res=(h % 0x2 ^ 0x20) * 0x2 ^ (floatbits - 0x20) + ((l >> (0x40 - floatbits)) % 0x2 ^ 0x20)
700700end
701701local rand = random()
702−assert(eq(rand,0.4782753376376966,(0x2 ^ (- floatbits))))
703−assert(((rand * (0x2 ^ floatbits)) == res))
702+assert(eq(rand,0.4782753376376966,0x2 ^ - floatbits))
703+assert(rand * 0x2 ^ floatbits == res)
704704end
705705do
706706local x,y = math.randomseed()
707707local res = math.random(0x0)
708708x,y=math.randomseed(x,y)
709−assert((math.random(0x0) == res))
709+assert(math.random(0x0) == res)
710710math.randomseed(x,y)
711−assert((math.random(0x0) == res))
711+assert(math.random(0x0) == res)
712712print(string.format("\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{73}\u{65}\u{65}\u{64}\u{73}\u{3a}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{25}\u{64}",x,y))
713713end
714714do
715715local randbits = math.min(floatbits,0x40)
716−local mult = (0x2 ^ randbits)
716+local mult = 0x2 ^ randbits
717717local counts = {}
718718for i = 0x1, randbits
719719do
720720counts[i]=0x0
721721end
722−local up = (- math.huge)
722+local up = - math.huge
723723local low = math.huge
724−local rounds = (0x64 * randbits)
724+local rounds = 0x64 * randbits
725725local totalrounds = 0x0
726726::doagain::
727727for i = 0x0, rounds
728728do
729729local t = random()
730−assert(((0x0 <= t) and (t < 0x1)))
730+assert(0x0 <= t and t < 0x1)
731731up=max(up,t)
732732low=min(low,t)
733−assert((((t * mult) % 0x1) == 0x0))
734−local bit = (i % randbits)
735−if (((t * (0x2 ^ bit)) % 0x1) >= 0.5) then
736−counts[(bit + 0x1)]=(counts[(bit + 0x1)] + 0x1)
733+assert(t * mult % 0x1 == 0x0)
734+local bit = i % randbits
735+if (t * 0x2 ^ bit) % 0x1 >= 0.5 then
736+counts[bit + 0x1]=counts[bit + 0x1] + 0x1
737737end
738738end
739−totalrounds=(totalrounds + rounds)
740−if (not (eq(up,0x1,1e-3) and eq(low,0x0,1e-3))) then
739+totalrounds=totalrounds + rounds
740+if not (eq(up,0x1,1e-3) and eq(low,0x0,1e-3)) then
741741goto doagain
742742end
743−local expected = ((totalrounds / randbits) / 0x2)
743+local expected = (totalrounds / randbits / 0x2)
744744for i = 0x1, randbits
745745do
746−if (not testnear(counts[i],expected,0.1)) then
746+if not testnear(counts[i],expected,0.1) then
747747goto doagain
748748end
749749end
@@ -757,7 +757,7 @@ for i = 0x1, intbits
757757do
758758counts[i]=0x0
759759end
760−local rounds = (0x64 * intbits)
760+local rounds = 0x64 * intbits
761761local totalrounds = 0x0
762762::doagain::
763763for i = 0x0, rounds
@@ -765,37 +765,37 @@ do
765765local t = random(0x0)
766766up=max(up,t)
767767low=min(low,t)
768−local bit = (i % intbits)
769−counts[(bit + 0x1)]=(counts[(bit + 0x1)] + ((t >> bit) & 0x1))
768+local bit = i % intbits
769+counts[bit + 0x1]=counts[bit + 0x1] + ((t >> bit) & 0x1)
770770end
771−totalrounds=(totalrounds + rounds)
772−local lim = (maxint >> 0xa)
773−if (not (((maxint - up) < lim) and ((low - minint) < lim))) then
771+totalrounds=totalrounds + rounds
772+local lim = maxint >> 0xa
773+if not (maxint - up < lim and low - minint < lim) then
774774goto doagain
775775end
776−local expected = ((totalrounds / intbits) / 0x2)
776+local expected = (totalrounds / intbits / 0x2)
777777for i = 0x1, intbits
778778do
779−if (not testnear(counts[i],expected,0.1)) then
779+if not testnear(counts[i],expected,0.1) then
780780goto doagain
781781end
782782end
783−print(string.format("\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{3a}\u{20}\u{5b}\u{6d}\u{69}\u{6e}\u{69}\u{6e}\u{74}\u{20}\u{2b}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{69}\u{6e}\u{74}\u{20}\u{2d}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{5d}",totalrounds,(((minint - low) / minint) * 1e6),(((maxint - up) / maxint) * 1e6)))
783+print(string.format("\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{72}\u{61}\u{6e}\u{64}\u{6f}\u{6d}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{64}\u{20}\u{63}\u{61}\u{6c}\u{6c}\u{73}\u{3a}\u{20}\u{5b}\u{6d}\u{69}\u{6e}\u{69}\u{6e}\u{74}\u{20}\u{2b}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{2c}\u{20}\u{6d}\u{61}\u{78}\u{69}\u{6e}\u{74}\u{20}\u{2d}\u{20}\u{25}\u{2e}\u{30}\u{66}\u{70}\u{70}\u{6d}\u{5d}",totalrounds,(minint - low) / minint * 1e6,(maxint - up) / maxint * 1e6))
784784end
785785do
786786local count = {0x0,0x0,0x0,0x0,0x0,0x0}
787787local rep = 0xc8
788788local totalrep = 0x0
789789::doagain::
790−for i = 0x1, (rep * 0x6)
790+for i = 0x1, rep * 0x6
791791do
792792local r = random(0x6)
793−count[r]=(count[r] + 0x1)
793+count[r]=count[r] + 0x1
794794end
795−totalrep=(totalrep + rep)
795+totalrep=totalrep + rep
796796for i = 0x1, 0x6
797797do
798−if (not testnear(count[i],totalrep,0.05)) then
798+if not testnear(count[i],totalrep,0.05) then
799799goto doagain
800800end
801801end
@@ -808,30 +808,30 @@ local mark = {}
808808local count = 0x0
809809while true do
810810local t = random(x1,x2)
811−assert(((x1 <= t) and (t <= x2)))
812−if (not mark[t]) then
811+assert(x1 <= t and t <= x2)
812+if not mark[t] then
813813mark[t]=true
814−count=(count + 0x1)
815−if (count == ((x2 - x1) + 0x1)) then
814+count=count + 0x1
815+if count == x2 - x1 + 0x1 then
816816goto ok
817817end
818818end
819819end
820820::ok::
821821end
822−aux((- 0xa),0x0)
822+aux(- 0xa,0x0)
823823aux(0x1,0x6)
824824aux(0x1,0x2)
825825aux(0x1,0xd)
826826aux(0x1,0x1f)
827827aux(0x1,0x20)
828828aux(0x1,0x21)
829−aux((- 0xa),0xa)
830−aux((- 0xa),(- 0xa))
829+aux(- 0xa,0xa)
830+aux(- 0xa,- 0xa)
831831aux(minint,minint)
832832aux(maxint,maxint)
833−aux(minint,(minint + 0x9))
834−aux((maxint - 0x3),maxint)
833+aux(minint,minint + 0x9)
834+aux(maxint - 0x3,maxint)
835835end
836836do
837837local function aux
@@ -846,34 +846,34 @@ local count = 0x0
846846for _ = 0x1, n
847847do
848848local t = random(p1,p2)
849−if (not mark[t]) then
850−assert(((p1 <= t) and (t <= p2)))
849+if not mark[t] then
850+assert(p1 <= t and t <= p2)
851851max=math.max(max,t)
852852min=math.min(min,t)
853853mark[t]=true
854−count=(count + 0x1)
854+count=count + 0x1
855855end
856856end
857−if (not (count >= (n * 0.8))) then
857+if not (count >= n * 0.8) then
858858goto doagain
859859end
860−local diff = ((p2 - p1) >> 0x4)
861−if (not ((min < (p1 + diff)) and (max > (p2 - diff)))) then
860+local diff = (p2 - p1) >> 0x4
861+if not (min < p1 + diff and max > p2 - diff) then
862862goto doagain
863863end
864864end
865865aux(0x0,maxint)
866866aux(0x1,maxint)
867−aux(0x3,(maxint // 0x3))
868−aux(minint,(- 0x1))
869−aux((minint // 0x2),(maxint // 0x2))
867+aux(0x3,maxint // 0x3)
868+aux(minint,- 0x1)
869+aux(minint // 0x2,maxint // 0x2)
870870aux(minint,maxint)
871−aux((minint + 0x1),maxint)
872−aux(minint,(maxint - 0x1))
873−aux(0x0,(0x1 << (intbits - 0x5)))
874−end
875−assert((not pcall(random,0x1,0x2,0x3)))
876−assert((not pcall(random,(minint + 0x1),minint)))
877−assert((not pcall(random,maxint,(maxint - 0x1))))
878−assert((not pcall(random,maxint,minint)))
871+aux(minint + 0x1,maxint)
872+aux(minint,maxint - 0x1)
873+aux(0x0,0x1 << (intbits - 0x5))
874+end
875+assert(not pcall(random,0x1,0x2,0x3))
876+assert(not pcall(random,minint + 0x1,minint))
877+assert(not pcall(random,maxint,maxint - 0x1))
878+assert(not pcall(random,maxint,minint))
879879print("\u{4f}\u{4b}")
desk/res/lua/cycled/nextvar.lua+275−275
@@ -2,15 +2,15 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{61}\u{62}\u{6c}\
22local function checkerror
33(msg,f, ...)
44local s,err = pcall(f,...)
5−assert((not (s and string.find(err,msg))))
5+assert(not s and string.find(err,msg))
66end
77local function check
88(t,na,nh)
9−if (not T) then
9+if not T then
1010return
1111end
1212local a,h = T.querytab(t)
13−if ((a ~= na) or (h ~= nh)) then
13+if a ~= na or h ~= nh then
1414print(na,nh,a,h)
1515assert(nil)
1616end
@@ -18,16 +18,16 @@ end
1818local a = {}
1919for i = 0x1, 0x64
2020do
21−a[(i .. "\u{2b}")]=true
21+a[i .. "\u{2b}"]=true
2222end
2323for i = 0x1, 0x64
2424do
25−a[(i .. "\u{2b}")]=undef
25+a[i .. "\u{2b}"]=undef
2626end
2727for i = 0x1, 0x64
2828do
2929a[i]=true
30−assert((# (a == i)))
30+assert(# a == i)
3131end
3232do
3333local a = {}
@@ -45,23 +45,23 @@ a.x=0x1
4545check(a,0x4,0x8)
4646for i = 0x1, 0x4
4747do
48−assert((a[i] == i))
48+assert(a[i] == i)
4949end
5050for i = 0x5, 0x5f
5151do
52−assert((a[i] == nil))
52+assert(a[i] == nil)
5353end
5454for i = 0x60, 0x64
5555do
56−assert((a[i] == i))
56+assert(a[i] == i)
5757end
58−assert((a.x == 0x1))
58+assert(a.x == 0x1)
5959end
6060local x = 0x0
6161for k,v in ipairs({0xa,0x14,0x1e,["\u{78}"] = 0xc})
6262do
63−x=(x + 0x1)
64−assert(((k == x) and (v == (x * 0xa))))
63+x=x + 0x1
64+assert(k == x and v == x * 0xa)
6565end
6666for _ in ipairs({["\u{78}"] = 0xc,["\u{79}"] = 0x18})
6767do
@@ -71,33 +71,33 @@ x=false
7171local i = 0x0
7272for k,v in ipairs({true,false,true,false})
7373do
74−i=(i + 0x1)
75−x=(not x)
76−assert((x == v))
74+i=i + 0x1
75+x=not x
76+assert(x == v)
7777end
78−assert((i == 0x4))
79−assert(((type(ipairs({})) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (ipairs({}) == ipairs({}))))
78+assert(i == 0x4)
79+assert(type(ipairs({})) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and ipairs({}) == ipairs({}))
8080do
8181local f = ipairs({})
8282local k,v = f({[math.mininteger] = 0xa},math.maxinteger)
83−assert(((k == math.mininteger) and (v == 0xa)))
83+assert(k == math.mininteger and v == 0xa)
8484k,v=f({[math.mininteger] = 0xa},k)
85−assert((k == nil))
85+assert(k == nil)
8686end
87−if (not T) then
87+if not T then
8888(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
8989else
9090local function mp2
9191(n)
92−local mp = (0x2 ^ math.ceil(math.log(n,0x2)))
93−assert(((n == 0x0) or (((mp / 0x2) < n) and (n <= mp))))
92+local mp = 0x2 ^ math.ceil(math.log(n,0x2))
93+assert(n == 0x0 or (mp / 0x2 < n and n <= mp))
9494return mp
9595end
9696do
9797local s = 0x0
9898for _ in pairs(math)
9999do
100−s=(s + 0x1)
100+s=s + 0x1
101101end
102102check(math,0x0,mp2(s))
103103end
@@ -107,20 +107,20 @@ do
107107local arr = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}"}
108108for i = 0x1, sa
109109do
110−arr[(0x1 + i)]="\u{31}\u{2c}"
110+arr[0x1 + i]="\u{31}\u{2c}"
111111end
112112for _,sh in ipairs(sizes)
113113do
114114for j = 0x1, sh
115115do
116−arr[((0x1 + sa) + j)]=string.format("\u{6b}\u{25}\u{78}\u{3d}\u{25}\u{64}\u{2c}",j,j)
116+arr[0x1 + sa + j]=string.format("\u{6b}\u{25}\u{78}\u{3d}\u{25}\u{64}\u{2c}",j,j)
117117end
118−arr[(((0x1 + sa) + sh) + 0x1)]="\u{7d}"
118+arr[0x1 + sa + sh + 0x1]="\u{7d}"
119119local prog = table.concat(arr)
120120local f = assert(load(prog))
121121collectgarbage("\u{73}\u{74}\u{6f}\u{70}")
122122f()
123−if ((sa == 0x0) or (sh == 0x0)) then
123+if sa == 0x0 or sh == 0x0 then
124124T.alloccount(0x2)
125125;
126126else
@@ -131,23 +131,23 @@ local t = f()
131131T.alloccount()
132132;
133133collectgarbage("\u{72}\u{65}\u{73}\u{74}\u{61}\u{72}\u{74}")
134−assert((# (t == sa)))
134+assert(# t == sa)
135135check(t,sa,mp2(sh))
136136end
137137end
138138local a = {}
139−for i = 0x1, sizes[(# sizes)]
139+for i = 0x1, sizes[# sizes]
140140do
141141a[i]=i
142142end
143143for k in ipairs(sizes)
144144do
145145local t = {table.unpack(a,0x1,k)}
146−assert((# (t == k)))
146+assert(# t == k)
147147check(t,k,0x0)
148148t={0x1,0x2,0x3,table.unpack(a,0x1,k)}
149−check(t,(k + 0x3),0x0)
150−assert((# (t == (k + 0x3))))
149+check(t,k + 0x3,0x0)
150+assert(# t == k + 0x3)
151151end
152152local lim = 0x82
153153local a = {}
@@ -175,14 +175,14 @@ a={}
175175for i = 0x1, lim
176176do
177177a[i]=0x1
178−assert((# (a == i)))
178+assert(# a == i)
179179check(a,mp2(i),0x0)
180180end
181181a={}
182182for i = 0x1, lim
183183do
184−a[("\u{61}" .. i)]=0x1
185−assert((# (a == 0x0)))
184+a["\u{61}" .. i]=0x1
185+assert(# a == 0x0)
186186check(a,0x0,mp2(i))
187187end
188188a={}
@@ -228,7 +228,7 @@ end
228228for i = 0x1, lim
229229do
230230local a = {}
231−for i = i, 0x1, (- 0x1)
231+for i = i, 0x1, - 0x1
232232do
233233a[i]=i
234234end
@@ -239,11 +239,11 @@ local function foo
239239(n, ...)
240240local arg = {...}
241241check(arg,n,0x0)
242−assert((select("\u{23}",...) == n))
243−arg[(n + 0x1)]=true
244−check(arg,mp2((n + 0x1)),0x0)
242+assert(select("\u{23}",...) == n)
243+arg[n + 0x1]=true
244+check(arg,mp2(n + 0x1),0x0)
245245arg.x=true
246−check(arg,mp2((n + 0x1)),0x1)
246+check(arg,mp2(n + 0x1),0x1)
247247end
248248local a = {}
249249for i = 0x1, lim
@@ -261,39 +261,39 @@ for i = 0x1, 0x40
261261do
262262a[i]=nil
263263end
264−assert((T.querytab(a) == 0x40))
264+assert(T.querytab(a) == 0x40)
265265a[0x20]=true
266266;
267267a[0x30]=true
268268;
269269a[0x33]=true
270−assert((# (a == 0x30)))
271−assert((select(0x4,T.querytab(a)) == 0x30))
270+assert(# a == 0x30)
271+assert(select(0x4,T.querytab(a)) == 0x30)
272272a[0x32]=true
273−assert((select(0x4,T.querytab(a)) == 0x32))
274−assert((# (a == 0x33)))
275−end
276−assert((# ({} == 0x0)))
277−assert((# ({nil} == 0x0)))
278−assert((# ({nil,nil} == 0x0)))
279−assert((# ({nil,nil,nil} == 0x0)))
280−assert((# ({nil,nil,nil,nil} == 0x0)))
281−assert((# ({0x1,0x2,0x3,nil,nil} == 0x3)))
273+assert(select(0x4,T.querytab(a)) == 0x32)
274+assert(# a == 0x33)
275+end
276+assert(# {} == 0x0)
277+assert(# {nil} == 0x0)
278+assert(# {nil,nil} == 0x0)
279+assert(# {nil,nil,nil} == 0x0)
280+assert(# {nil,nil,nil,nil} == 0x0)
281+assert(# {0x1,0x2,0x3,nil,nil} == 0x3)
282282print("\u{2b}")
283283local nofind = {}
284284a,b,c=0x1,0x2,0x3
285285a,b,c=nil
286−assert((next({}) == next({})))
286+assert(next({}) == next({}))
287287local function find
288288(name)
289289local n,v
290290while 0x1 do
291291n,v=next(_G,n)
292−if (not n) then
292+if not n then
293293return nofind
294294end
295−assert((_G[n] ~= undef))
296−if (n == name) then
295+assert(_G[n] ~= undef)
296+if n == name then
297297return v
298298end
299299end
@@ -302,21 +302,21 @@ local function find1
302302(name)
303303for n,v in pairs(_G)
304304do
305−if (n == name) then
305+if n == name then
306306return v
307307end
308308end
309309return nil
310310end
311−assert(((print == find("\u{70}\u{72}\u{69}\u{6e}\u{74}")) and (print == find1("\u{70}\u{72}\u{69}\u{6e}\u{74}"))))
312−assert((_G["\u{70}\u{72}\u{69}\u{6e}\u{74}"] == find("\u{70}\u{72}\u{69}\u{6e}\u{74}")))
313−assert((assert == find1("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}")))
314−assert((nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")))
315−assert((not find1("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")))
316−_G[("\u{72}\u{65}\u{74}" .. "\u{75}\u{72}\u{6e}")]=undef
317−assert((nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}")))
311+assert(print == find("\u{70}\u{72}\u{69}\u{6e}\u{74}") and print == find1("\u{70}\u{72}\u{69}\u{6e}\u{74}"))
312+assert(_G["\u{70}\u{72}\u{69}\u{6e}\u{74}"] == find("\u{70}\u{72}\u{69}\u{6e}\u{74}"))
313+assert(assert == find1("\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}"))
314+assert(nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
315+assert(not find1("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
316+_G["\u{72}\u{65}\u{74}" .. "\u{75}\u{72}\u{6e}"]=undef
317+assert(nofind == find("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}"))
318318_G["\u{78}\u{78}\u{78}"]=0x1
319−assert((xxx == find("\u{78}\u{78}\u{78}")))
319+assert(xxx == find("\u{78}\u{78}\u{78}"))
320320checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6b}\u{65}\u{79}",next,{0xa,0x14},0x3)
321321checkerror("\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}",pairs)
322322checkerror("\u{62}\u{61}\u{64}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}",ipairs)
@@ -324,17 +324,17 @@ print("\u{2b}")
324324a={}
325325for i = 0x0, 0x2710
326326do
327−if (math.fmod(i,0xa) ~= 0x0) then
328−a[("\u{78}" .. i)]=i
327+if math.fmod(i,0xa) ~= 0x0 then
328+a["\u{78}" .. i]=i
329329end
330330end
331331n={["\u{6e}"] = 0x0}
332332for i,v in pairs(a)
333333do
334−n.n=(n.n + 0x1)
335−assert(((i and v) and (a[i] == v)))
334+n.n=n.n + 0x1
335+assert(i and v and a[i] == v)
336336end
337−assert((n.n == 0x2328))
337+assert(n.n == 0x2328)
338338a=nil
339339do
340340local a = {}
@@ -344,7 +344,7 @@ a[n]=v
344344end
345345for n,v in pairs(a)
346346do
347−if (not ((package.loaded[n] and (type(v) ~= "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")) and (not string.find(n,"\u{5e}\u{5b}\u{25}\u{75}\u{5f}\u{5d}")))) then
347+if not package.loaded[n] and type(v) ~= "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and not string.find(n,"\u{5e}\u{5b}\u{25}\u{75}\u{5f}\u{5d}") then
348348_G[n]=undef
349349end
350350collectgarbage()
@@ -364,11 +364,11 @@ end
364364end
365365for k,v in pairs(b)
366366do
367−assert((a[k] == v))
367+assert(a[k] == v)
368368end
369369for k,v in pairs(a)
370370do
371−assert((b[k] == v))
371+assert(b[k] == v)
372372end
373373end
374374checknext({0x1,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
@@ -376,8 +376,8 @@ checknext({0x1,0x2,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
376376checknext({0x1,0x2,0x3,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
377377checknext({0x1,0x2,0x3,0x4,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
378378checknext({0x1,0x2,0x3,0x4,0x5,["\u{78}"] = 0x1,["\u{79}"] = 0x2,["\u{7a}"] = 0x3})
379−assert((# ({} == 0x0)))
380−assert((# ({[(- 0x1)] = 0x2} == 0x0)))
379+assert(# {} == 0x0)
380+assert(# {[- 0x1] = 0x2} == 0x0)
381381for i = 0x0, 0x28
382382do
383383local a = {}
@@ -385,28 +385,28 @@ for j = 0x1, i
385385do
386386a[j]=j
387387end
388−assert((# (a == i)))
388+assert(# a == i)
389389end
390390function table.maxn(t)
391391local max = 0x0
392392for k in pairs(t)
393393do
394−max=(((type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and math.max(max,k)) or max)
394+max=(type(k) == "\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}") and math.max(max,k) or max
395395end
396396return max
397397end
398−assert((table.maxn({}) == 0x0))
399−assert((table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true}) == 0x0))
400−assert((table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true,[24.5] = 0x3}) == 24.5))
401−assert((table.maxn({[0x3e8] = true}) == 0x3e8))
402−assert((table.maxn({[0xa] = true,[(0x64 * math.pi)] = print}) == (0x64 * math.pi)))
398+assert(table.maxn({}) == 0x0)
399+assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true}) == 0x0)
400+assert(table.maxn({["\u{31}\u{30}\u{30}\u{30}"] = true,[24.5] = 0x3}) == 24.5)
401+assert(table.maxn({[0x3e8] = true}) == 0x3e8)
402+assert(table.maxn({[0xa] = true,[0x64 * math.pi] = print}) == 0x64 * math.pi)
403403table.maxn=nil
404404a={}
405405for i = 0x0, 0x32
406406do
407−a[(0x2 ^ i)]=true
407+a[0x2 ^ i]=true
408408end
409−assert(a[(# a)])
409+assert(a[# a])
410410print("\u{2b}")
411411do
412412local a = {[0x1] = 0x1,[1.1] = 0x2,["\u{78}"] = 0x3,[string.rep("\u{78}",0x3e8)] = 0x4,[print] = 0x5,[checkerror] = 0x6,[coroutine.running()] = 0x7,[true] = 0x8,[io.stdin] = 0x9,[{}] = 0xa}
@@ -422,29 +422,29 @@ assert(b[v])
422422;
423423b[v]=undef
424424end
425−assert((next(b) == nil))
425+assert(next(b) == nil)
426426end
427427local t = {[{0x1}] = 0x1,[{0x2}] = 0x2,[string.rep("\u{78}\u{20}",0x4)] = 0x3,[100.3] = 0x4,[0x4] = 0x5}
428428local n = 0x0
429429for k,v in pairs(t)
430430do
431−n=(n + 0x1)
432−assert((t[k] == v))
431+n=n + 0x1
432+assert(t[k] == v)
433433t[k]=undef
434434collectgarbage()
435−assert((t[k] == undef))
435+assert(t[k] == undef)
436436end
437−assert((n == 0x5))
437+assert(n == 0x5)
438438do
439439print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{78}\u{20}\u{47}\u{43}\u{20}\u{6f}\u{66}\u{20}\u{64}\u{65}\u{6c}\u{65}\u{74}\u{65}\u{64}\u{20}\u{6b}\u{65}\u{79}\u{73}")
440440local co = coroutine.wrap(function (t)
441441for k,v in pairs(t)
442442do
443443local k1 = next(t)
444−assert((k == k1))
444+assert(k == k1)
445445t[k]=nil
446−local expected = ((((type(k) == "\u{74}\u{61}\u{62}\u{6c}\u{65}") and k[0x1]) or ((type(k) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and k())) or string.sub(k,0x1,0x1))
447−assert((expected == v))
446+local expected = (type(k) == "\u{74}\u{61}\u{62}\u{6c}\u{65}" and k[0x1] or type(k) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and k() or string.sub(k,0x1,0x1))
447+assert(expected == v)
448448coroutine.yield(v)
449449end
450450end)
@@ -461,78 +461,78 @@ end]=0xa
461461local count = 0x7
462462while co(t) do
463463collectgarbage("\u{63}\u{6f}\u{6c}\u{6c}\u{65}\u{63}\u{74}")
464−count=(count - 0x1)
464+count=count - 0x1
465465end
466−assert(((count == 0x0) and (next(t) == nil)))
466+assert(count == 0x0 and next(t) == nil)
467467end
468468local function test
469469(a)
470−assert((not pcall(table.insert,a,0x2,0x14)))
470+assert(not pcall(table.insert,a,0x2,0x14))
471471;
472472table.insert(a,0xa)
473473;
474474table.insert(a,0x2,0x14)
475475;
476−table.insert(a,0x1,(- 0x1))
476+table.insert(a,0x1,- 0x1)
477477;
478478table.insert(a,0x28)
479479;
480−table.insert(a,(# (a + 0x1)),0x32)
481−table.insert(a,0x2,(- 0x2))
482−assert((a[0x2] ~= undef))
483−assert((a["\u{32}"] == undef))
484−assert((not pcall(table.insert,a,0x0,0x14)))
485−;
486−assert((not pcall(table.insert,a,(# (a + 0x2)),0x14)))
487−;
488−assert((table.remove(a,0x1) == (- 0x1)))
489−assert((table.remove(a,0x1) == (- 0x2)))
490−assert((table.remove(a,0x1) == 0xa))
491−assert((table.remove(a,0x1) == 0x14))
492−assert((table.remove(a,0x1) == 0x28))
493−assert((table.remove(a,0x1) == 0x32))
494−assert((table.remove(a,0x1) == nil))
495−assert((table.remove(a) == nil))
496−assert((table.remove(a,(# a)) == nil))
497−end
498−a={["\u{6e}"] = 0x0,[(- 0x7)] = "\u{62}\u{61}\u{6e}"}
480+table.insert(a,# a + 0x1,0x32)
481+table.insert(a,0x2,- 0x2)
482+assert(a[0x2] ~= undef)
483+assert(a["\u{32}"] == undef)
484+assert(not pcall(table.insert,a,0x0,0x14))
485+;
486+assert(not pcall(table.insert,a,# a + 0x2,0x14))
487+;
488+assert(table.remove(a,0x1) == - 0x1)
489+assert(table.remove(a,0x1) == - 0x2)
490+assert(table.remove(a,0x1) == 0xa)
491+assert(table.remove(a,0x1) == 0x14)
492+assert(table.remove(a,0x1) == 0x28)
493+assert(table.remove(a,0x1) == 0x32)
494+assert(table.remove(a,0x1) == nil)
495+assert(table.remove(a) == nil)
496+assert(table.remove(a,# a) == nil)
497+end
498+a={["\u{6e}"] = 0x0,[- 0x7] = "\u{62}\u{61}\u{6e}"}
499499test(a)
500−assert(((a.n == 0x0) and (a[(- 0x7)] == "\u{62}\u{61}\u{6e}")))
501−a={[(- 0x7)] = "\u{62}\u{61}\u{6e}"}
500+assert(a.n == 0x0 and a[- 0x7] == "\u{62}\u{61}\u{6e}")
501+a={[- 0x7] = "\u{62}\u{61}\u{6e}"}
502502;
503503test(a)
504−assert(((a.n == nil) and (# ((a == 0x0) and (a[(- 0x7)] == "\u{62}\u{61}\u{6e}")))))
505−a={[(- 0x1)] = "\u{62}\u{61}\u{6e}"}
504+assert(a.n == nil and # a == 0x0 and a[- 0x7] == "\u{62}\u{61}\u{6e}")
505+a={[- 0x1] = "\u{62}\u{61}\u{6e}"}
506506test(a)
507−assert((# (((a == 0x0) and (table.remove(a) == nil)) and (a[(- 0x1)] == "\u{62}\u{61}\u{6e}"))))
507+assert(# a == 0x0 and table.remove(a) == nil and a[- 0x1] == "\u{62}\u{61}\u{6e}")
508508a={[0x0] = "\u{62}\u{61}\u{6e}"}
509−assert((# (((a == 0x0) and (table.remove(a) == "\u{62}\u{61}\u{6e}")) and (a[0x0] == undef))))
509+assert(# a == 0x0 and table.remove(a) == "\u{62}\u{61}\u{6e}" and a[0x0] == undef)
510510table.insert(a,0x1,0xa)
511511;
512512table.insert(a,0x1,0x14)
513513;
514−table.insert(a,0x1,(- 0x1))
515−assert((table.remove(a) == 0xa))
516−assert((table.remove(a) == 0x14))
517−assert((table.remove(a) == (- 0x1)))
518−assert((table.remove(a) == nil))
514+table.insert(a,0x1,- 0x1)
515+assert(table.remove(a) == 0xa)
516+assert(table.remove(a) == 0x14)
517+assert(table.remove(a) == - 0x1)
518+assert(table.remove(a) == nil)
519519a={"\u{63}","\u{64}"}
520520table.insert(a,0x3,"\u{61}")
521521table.insert(a,"\u{62}")
522−assert((table.remove(a,0x1) == "\u{63}"))
523−assert((table.remove(a,0x1) == "\u{64}"))
524−assert((table.remove(a,0x1) == "\u{61}"))
525−assert((table.remove(a,0x1) == "\u{62}"))
526−assert((table.remove(a,0x1) == nil))
527−assert((# ((a == 0x0) and (a.n == nil))))
522+assert(table.remove(a,0x1) == "\u{63}")
523+assert(table.remove(a,0x1) == "\u{64}")
524+assert(table.remove(a,0x1) == "\u{61}")
525+assert(table.remove(a,0x1) == "\u{62}")
526+assert(table.remove(a,0x1) == nil)
527+assert(# a == 0x0 and a.n == nil)
528528a={0xa,0x14,0x1e,0x28}
529−assert((table.remove(a,(# (a + 0x1))) == nil))
530−assert((not pcall(table.remove,a,0x0)))
531−assert((a[(# a)] == 0x28))
532−assert((table.remove(a,(# a)) == 0x28))
533−assert((a[(# a)] == 0x1e))
534−assert((table.remove(a,0x2) == 0x14))
535−assert(((a[(# a)] == 0x1e) and (# (a == 0x2))))
529+assert(table.remove(a,# a + 0x1) == nil)
530+assert(not pcall(table.remove,a,0x0))
531+assert(a[# a] == 0x28)
532+assert(table.remove(a,# a) == 0x28)
533+assert(a[# a] == 0x1e)
534+assert(table.remove(a,0x2) == 0x14)
535+assert(a[# a] == 0x1e and # a == 0x2)
536536do
537537local function test
538538(proxy,t)
@@ -540,44 +540,44 @@ for i = 0x1, 0xa
540540do
541541table.insert(proxy,0x1,i)
542542end
543−assert((# ((proxy == 0xa) and (# ((t == 0xa) and (proxy[0x1] ~= undef))))))
543+assert(# proxy == 0xa and # t == 0xa and proxy[0x1] ~= undef)
544544for i = 0x1, 0xa
545545do
546−assert((t[i] == (0xb - i)))
546+assert(t[i] == 0xb - i)
547547end
548548table.sort(proxy)
549549for i = 0x1, 0xa
550550do
551−assert(((t[i] == i) and (proxy[i] == i)))
551+assert(t[i] == i and proxy[i] == i)
552552end
553−assert((table.concat(proxy,"\u{2c}") == "\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{2c}\u{34}\u{2c}\u{35}\u{2c}\u{36}\u{2c}\u{37}\u{2c}\u{38}\u{2c}\u{39}\u{2c}\u{31}\u{30}"))
553+assert(table.concat(proxy,"\u{2c}") == "\u{31}\u{2c}\u{32}\u{2c}\u{33}\u{2c}\u{34}\u{2c}\u{35}\u{2c}\u{36}\u{2c}\u{37}\u{2c}\u{38}\u{2c}\u{39}\u{2c}\u{31}\u{30}")
554554for i = 0x1, 0x8
555555do
556−assert((table.remove(proxy,0x1) == i))
556+assert(table.remove(proxy,0x1) == i)
557557end
558−assert((# ((proxy == 0x2) and (# (t == 0x2)))))
558+assert(# proxy == 0x2 and # t == 0x2)
559559local a,b,c = table.unpack(proxy)
560−assert((((a == 0x9) and (b == 0xa)) and (c == nil)))
560+assert(a == 0x9 and b == 0xa and c == nil)
561561end
562562local t = {}
563563local proxy = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
564−return (# t)
564+return # t
565565end,["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = t,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = t})
566566test(proxy,t)
567567local count = 0x0
568568t=setmetatable({},{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k,v)
569−count=(count + 0x1)
569+count=count + 0x1
570570;
571571rawset(t,k,v)
572572end})
573573test(t,t)
574−assert((count == 0xa))
574+assert(count == 0xa)
575575t=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
576−return (k + 0x1)
576+return k + 0x1
577577end,["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function (_)
578578return 0x5
579579end})
580−assert((table.concat(t,"\u{3b}") == "\u{32}\u{3b}\u{33}\u{3b}\u{34}\u{3b}\u{35}\u{3b}\u{36}"))
580+assert(table.concat(t,"\u{3b}") == "\u{32}\u{3b}\u{33}\u{3b}\u{34}\u{3b}\u{35}\u{3b}\u{36}")
581581end
582582do
583583local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
@@ -585,9 +585,9 @@ return math.maxinteger
585585end})
586586table.insert(t,0x14)
587587local k,v = next(t)
588−assert(((k == math.mininteger) and (v == 0x14)))
588+assert(k == math.mininteger and v == 0x14)
589589end
590−if (not T) then
590+if not T then
591591(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{6c}\u{69}\u{62}\u{72}\u{61}\u{72}\u{79}\u{20}\u{6f}\u{6e}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
592592else
593593local debug = require("\u{64}\u{65}\u{62}\u{75}\u{67}")
@@ -606,13 +606,13 @@ mt.__newindex=tab
606606checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.insert,u,0x28)
607607checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.remove,u)
608608mt.__len=function ()
609−return (# tab)
609+return # tab
610610end
611611table.insert(u,0x28)
612−assert((# ((u == 0x4) and (# (((tab == 0x4) and (u[0x4] == 0x28)) and (tab[0x4] == 0x28))))))
613−assert((table.remove(u) == 0x28))
612+assert(# u == 0x4 and # tab == 0x4 and u[0x4] == 0x28 and tab[0x4] == 0x28)
613+assert(table.remove(u) == 0x28)
614614table.insert(u,0x1,0x32)
615−assert((# ((u == 0x4) and (# (((tab == 0x4) and (u[0x4] == 0x1e)) and (tab[0x1] == 0x32))))))
615+assert(# u == 0x4 and # tab == 0x4 and u[0x4] == 0x1e and tab[0x1] == 0x32)
616616mt.__newindex=nil
617617mt.__len=nil
618618local tab2 = {}
@@ -621,7 +621,7 @@ debug.setmetatable(u2,{["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\
621621tab2[k]=v
622622end})
623623table.move(u,0x1,0x4,0x1,u2)
624−assert((# (((tab2 == 0x4) and (tab2[0x1] == tab[0x1])) and (tab2[0x4] == tab[0x4]))))
624+assert(# tab2 == 0x4 and tab2[0x1] == tab[0x1] and tab2[0x4] == tab[0x4])
625625end
626626print("\u{2b}")
627627a={}
@@ -629,11 +629,11 @@ for i = 0x1, 0x3e8
629629do
630630a[i]=i
631631;
632−a[(i - 0x1)]=undef
632+a[i - 0x1]=undef
633633end
634−assert(((next(a,nil) == 0x3e8) and (next(a,0x3e8) == nil)))
635−assert((next({}) == nil))
636−assert((next({},nil) == nil))
634+assert(next(a,nil) == 0x3e8 and next(a,0x3e8) == nil)
635+assert(next({}) == nil)
636+assert(next({},nil) == nil)
637637for a,b in pairs({})
638638do
639639error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
@@ -642,7 +642,7 @@ for i = 0x1, 0x0
642642do
643643error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
644644end
645−for i = 0x0, 0x1, (- 0x1)
645+for i = 0x0, 0x1, - 0x1
646646do
647647error("\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{65}\u{72}\u{65}")
648648end
@@ -650,7 +650,7 @@ a=nil
650650;
651651for i = 0x1, 0x1
652652do
653−assert((not a))
653+assert(not a)
654654;
655655a=0x1
656656end
@@ -658,9 +658,9 @@ end
658658assert(a)
659659a=nil
660660;
661−for i = 0x1, 0x1, (- 0x1)
661+for i = 0x1, 0x1, - 0x1
662662do
663−assert((not a))
663+assert(not a)
664664;
665665a=0x1
666666end
@@ -673,98 +673,98 @@ a=0x0
673673;
674674for i = 0x1, 0x1, 0x1
675675do
676−a=(a + 0x1)
676+a=a + 0x1
677677end
678678;
679−assert((a == 0x1))
679+assert(a == 0x1)
680680a=0x0
681681;
682−for i = 0x2710, 1e4, (- 0x1)
682+for i = 0x2710, 1e4, - 0x1
683683do
684−a=(a + 0x1)
684+a=a + 0x1
685685end
686686;
687−assert((a == 0x1))
687+assert(a == 0x1)
688688a=0x0
689689;
690690for i = 0x1, 0.99999, 0x1
691691do
692−a=(a + 0x1)
692+a=a + 0x1
693693end
694694;
695−assert((a == 0x0))
695+assert(a == 0x0)
696696a=0x0
697697;
698−for i = 0x270f, 1e4, (- 0x1)
698+for i = 0x270f, 1e4, - 0x1
699699do
700−a=(a + 0x1)
700+a=a + 0x1
701701end
702702;
703−assert((a == 0x0))
703+assert(a == 0x0)
704704a=0x0
705705;
706−for i = 0x1, 0.99999, (- 0x1)
706+for i = 0x1, 0.99999, - 0x1
707707do
708−a=(a + 0x1)
708+a=a + 0x1
709709end
710710;
711−assert((a == 0x1))
711+assert(a == 0x1)
712712a=0x0
713713;
714714for i = 0x0, 0.999999999, 0.1
715715do
716−a=(a + 0x1)
716+a=a + 0x1
717717end
718718;
719−assert((a == 0xa))
719+assert(a == 0xa)
720720a=0x0
721721;
722722for i = 1.0, 0x1, 0x1
723723do
724−a=(a + 0x1)
724+a=a + 0x1
725725end
726726;
727−assert((a == 0x1))
727+assert(a == 0x1)
728728a=0x0
729729;
730−for i = (- 1.5), (- 1.5), 0x1
730+for i = - 1.5, - 1.5, 0x1
731731do
732−a=(a + 0x1)
732+a=a + 0x1
733733end
734734;
735−assert((a == 0x1))
735+assert(a == 0x1)
736736a=0x0
737737;
738−for i = 1e6, 1e6, (- 0x1)
738+for i = 1e6, 1e6, - 0x1
739739do
740−a=(a + 0x1)
740+a=a + 0x1
741741end
742742;
743−assert((a == 0x1))
743+assert(a == 0x1)
744744a=0x0
745745;
746746for i = 1.0, 0.99999, 0x1
747747do
748−a=(a + 0x1)
748+a=a + 0x1
749749end
750750;
751−assert((a == 0x0))
751+assert(a == 0x0)
752752a=0x0
753753;
754−for i = 0x1869f, 1e5, (- 1.0)
754+for i = 0x1869f, 1e5, - 1.0
755755do
756−a=(a + 0x1)
756+a=a + 0x1
757757end
758758;
759−assert((a == 0x0))
759+assert(a == 0x0)
760760a=0x0
761761;
762−for i = 1.0, 0.99999, (- 0x1)
762+for i = 1.0, 0.99999, - 0x1
763763do
764−a=(a + 0x1)
764+a=a + 0x1
765765end
766766;
767−assert((a == 0x1))
767+assert(a == 0x1)
768768end
769769do
770770local a
@@ -772,37 +772,37 @@ a=0x0
772772;
773773for i = 0x1, 0xa
774774do
775−a=(a + 0x1)
775+a=a + 0x1
776776;
777777i="\u{78}"
778778end
779779;
780−assert((a == 0xa))
780+assert(a == 0xa)
781781a=0x0
782782;
783−for i = 10.0, 0x1, (- 0x1)
783+for i = 10.0, 0x1, - 0x1
784784do
785−a=(a + 0x1)
785+a=a + 0x1
786786;
787787i="\u{78}"
788788end
789789;
790−assert((a == 0xa))
790+assert(a == 0xa)
791791end
792792a=0x0
793793;
794794for i = "\u{31}\u{30}", "\u{31}", "\u{2d}\u{32}"
795795do
796−a=(a + 0x1)
796+a=a + 0x1
797797end
798798;
799−assert((a == 0x5))
799+assert(a == 0x5)
800800do
801801local c
802802local function checkfloat
803803(i)
804−assert((math.type(i) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}"))
805−c=(c + 0x1)
804+assert(math.type(i) == "\u{66}\u{6c}\u{6f}\u{61}\u{74}")
805+c=c + 0x1
806806end
807807c=0x0
808808;
@@ -810,96 +810,96 @@ for i = 1.0, 0xa
810810do
811811checkfloat(i)
812812end
813−assert((c == 0xa))
813+assert(c == 0xa)
814814c=0x0
815815;
816−for i = (- 0x1), (- 0xa), (- 1.0)
816+for i = - 0x1, - 0xa, - 1.0
817817do
818818checkfloat(i)
819819end
820−assert((c == 0xa))
820+assert(c == 0xa)
821821local function checkint
822822(i)
823−assert((math.type(i) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}"))
824−c=(c + 0x1)
823+assert(math.type(i) == "\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}")
824+c=c + 0x1
825825end
826826local m = math.maxinteger
827827c=0x0
828828;
829−for i = m, (m - 0xa), (- 0x1)
829+for i = m, m - 0xa, - 0x1
830830do
831831checkint(i)
832832end
833−assert((c == 0xb))
833+assert(c == 0xb)
834834c=0x0
835835;
836836for i = 0x1, 10.9
837837do
838838checkint(i)
839839end
840−assert((c == 0xa))
840+assert(c == 0xa)
841841c=0x0
842842;
843−for i = 0xa, 1e-3, (- 0x1)
843+for i = 0xa, 1e-3, - 0x1
844844do
845845checkint(i)
846846end
847−assert((c == 0xa))
847+assert(c == 0xa)
848848c=0x0
849849;
850850for i = 0x1, "\u{31}\u{30}\u{2e}\u{38}"
851851do
852852checkint(i)
853853end
854−assert((c == 0xa))
854+assert(c == 0xa)
855855c=0x0
856856;
857−for i = 0x9, "\u{33}\u{2e}\u{34}", (- 0x1)
857+for i = 0x9, "\u{33}\u{2e}\u{34}", - 0x1
858858do
859859checkint(i)
860860end
861−assert((c == 0x6))
861+assert(c == 0x6)
862862c=0x0
863863;
864−for i = 0x0, "\u{20}\u{2d}\u{33}\u{2e}\u{34}\u{20}\u{20}", (- 0x1)
864+for i = 0x0, "\u{20}\u{2d}\u{33}\u{2e}\u{34}\u{20}\u{20}", - 0x1
865865do
866866checkint(i)
867867end
868−assert((c == 0x4))
868+assert(c == 0x4)
869869c=0x0
870870;
871−for i = 0x64, "\u{39}\u{36}\u{2e}\u{33}", (- 0x2)
871+for i = 0x64, "\u{39}\u{36}\u{2e}\u{33}", - 0x2
872872do
873873checkint(i)
874874end
875−assert((c == 0x2))
875+assert(c == 0x2)
876876c=0x0
877877;
878878for i = 0x1, math.huge
879879do
880−if (i > 0xa) then
880+if i > 0xa then
881881break
882882end
883883;
884884checkint(i)
885885end
886−assert((c == 0xa))
886+assert(c == 0xa)
887887c=0x0
888888;
889−for i = (- 0x1), (- math.huge), (- 0x1)
889+for i = - 0x1, - math.huge, - 0x1
890890do
891−if (i < (- 0xa)) then
891+if i < - 0xa then
892892break
893893end
894894;
895895checkint(i)
896896end
897−assert((c == 0xa))
898−for i = math.mininteger, (- 1e101)
897+assert(c == 0xa)
898+for i = math.mininteger, - 1e101
899899do
900900assert(false)
901901end
902−for i = math.maxinteger, 1e101, (- 0x1)
902+for i = math.maxinteger, 1e101, - 0x1
903903do
904904assert(false)
905905end
@@ -910,34 +910,34 @@ local function checkfor
910910local c = 0x0
911911for i = from, to, step
912912do
913−c=(c + 0x1)
914−assert((i == t[c]))
913+c=c + 0x1
914+assert(i == t[c])
915915end
916−assert((c == (# t)))
916+assert(c == # t)
917917end
918918local maxi = math.maxinteger
919919local mini = math.mininteger
920−checkfor(mini,maxi,maxi,{mini,(- 0x1),(maxi - 0x1)})
921−checkfor(mini,math.huge,maxi,{mini,(- 0x1),(maxi - 0x1)})
922−checkfor(maxi,mini,mini,{maxi,(- 0x1)})
923−checkfor(maxi,mini,(- maxi),{maxi,0x0,(- maxi)})
924−checkfor(maxi,(- math.huge),mini,{maxi,(- 0x1)})
920+checkfor(mini,maxi,maxi,{mini,- 0x1,maxi - 0x1})
921+checkfor(mini,math.huge,maxi,{mini,- 0x1,maxi - 0x1})
922+checkfor(maxi,mini,mini,{maxi,- 0x1})
923+checkfor(maxi,mini,- maxi,{maxi,0x0,- maxi})
924+checkfor(maxi,- math.huge,mini,{maxi,- 0x1})
925925checkfor(maxi,mini,0x1,{})
926−checkfor(mini,maxi,(- 0x1),{})
927−checkfor((maxi - 0x6),maxi,0x3,{(maxi - 0x6),(maxi - 0x3),maxi})
928−checkfor((mini + 0x4),mini,(- 0x2),{(mini + 0x4),(mini + 0x2),mini})
929−local step = (maxi // 0xa)
926+checkfor(mini,maxi,- 0x1,{})
927+checkfor(maxi - 0x6,maxi,0x3,{maxi - 0x6,maxi - 0x3,maxi})
928+checkfor(mini + 0x4,mini,- 0x2,{mini + 0x4,mini + 0x2,mini})
929+local step = maxi // 0xa
930930local c = mini
931931for i = mini, maxi, step
932932do
933−assert((i == c))
934−c=(c + step)
933+assert(i == c)
934+c=c + step
935935end
936936c=maxi
937−for i = maxi, mini, (- step)
937+for i = maxi, mini, - step
938938do
939−assert((i == c))
940−c=(c - step)
939+assert(i == c)
940+c=c - step
941941end
942942checkfor(maxi,maxi,maxi,{maxi})
943943checkfor(maxi,maxi,mini,{maxi})
@@ -951,13 +951,13 @@ do
951951end
952952end)
953953checkerror("\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{73}\u{74}\u{65}\u{70}\u{20}\u{69}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}",function ()
954−for i = 0x1, (- 0xa), 0x0
954+for i = 0x1, - 0xa, 0x0
955955do
956956
957957end
958958end)
959959checkerror("\u{27}\u{66}\u{6f}\u{72}\u{27}\u{20}\u{73}\u{74}\u{65}\u{70}\u{20}\u{69}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}",function ()
960−for i = 1.0, (- 0xa), 0.0
960+for i = 1.0, - 0xa, 0.0
961961do
962962
963963end
@@ -969,12 +969,12 @@ local t = {}
969969;
970970for i = 0x1, p
971971do
972−t[i]=(i * 0xa)
972+t[i]=i * 0xa
973973end
974974return function (_,n, ...)
975−assert((select("\u{23}",...) == 0x0))
976−if (n > 0x0) then
977−n=(n - 0x1)
975+assert(select("\u{23}",...) == 0x0)
976+if n > 0x0 then
977+n=n - 0x1
978978return n,table.unpack(t)
979979end
980980end,nil,n
@@ -982,27 +982,27 @@ end
982982local x = 0x0
983983for n,a,b,c,d in f(0x5,0x3)
984984do
985−x=(x + 0x1)
986−assert(((((a == 0xa) and (b == 0x14)) and (c == 0x1e)) and (d == nil)))
985+x=x + 0x1
986+assert(a == 0xa and b == 0x14 and c == 0x1e and d == nil)
987987end
988−assert((x == 0x5))
988+assert(x == 0x5)
989989a={}
990990do
991991local x,y,z = pairs(a)
992−assert((((type(x) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}") and (y == a)) and (z == nil)))
992+assert(type(x) == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}" and y == a and z == nil)
993993end
994994local function foo
995995(e,i)
996−assert((e == a))
997−if (i <= 0xa) then
998−return (i + 0x1),(i + 0x2)
996+assert(e == a)
997+if i <= 0xa then
998+return i + 0x1,i + 0x2
999999end
10001000end
10011001local function foo1
10021002(e,i)
1003−i=(i + 0x1)
1004−assert((e == a))
1005−if (i <= e.n) then
1003+i=i + 0x1
1004+assert(e == a)
1005+if i <= e.n then
10061006return i,a[i]
10071007end
10081008end
@@ -1012,44 +1012,44 @@ end})
10121012local i = 0x0
10131013for k,v in pairs(a)
10141014do
1015−i=(i + 0x1)
1016−assert(((k == i) and (v == (k + 0x1))))
1015+i=i + 0x1
1016+assert(k == i and v == k + 0x1)
10171017end
10181018a.n=0x5
10191019a[0x3]=0x1e
10201020a={["\u{6e}"] = 0xa}
10211021setmetatable(a,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,k)
1022−if (k <= t.n) then
1023−return (k * 0xa)
1022+if k <= t.n then
1023+return k * 0xa
10241024end
10251025end})
10261026i=0x0
10271027for k,v in ipairs(a)
10281028do
1029−i=(i + 0x1)
1030−assert(((k == i) and (v == (i * 0xa))))
1029+i=i + 0x1
1030+assert(k == i and v == i * 0xa)
10311031end
1032−assert((i == a.n))
1032+assert(i == a.n)
10331033do
10341034local t = setmetatable({0xa,0x14,0x1e},{["\u{5f}\u{5f}\u{70}\u{61}\u{69}\u{72}\u{73}"] = function (t)
10351035local inc = coroutine.yield()
10361036return function (t,i)
1037−if (i > 0x1) then
1038−return (i - inc),t[(i - inc)]
1037+if i > 0x1 then
1038+return i - inc,t[i - inc]
10391039else
10401040return nil
10411041end
1042−end,t,(# (t + 0x1))
1042+end,t,# t + 0x1
10431043end})
10441044local res = {}
10451045local co = coroutine.wrap(function ()
10461046for i,p in pairs(t)
10471047do
1048−res[(# (res + 0x1))]=p
1048+res[# res + 0x1]=p
10491049end
10501050end)
10511051co()
10521052co(0x1)
1053−assert(((((res[0x1] == 0x1e) and (res[0x2] == 0x14)) and (res[0x3] == 0xa)) and (# (res == 0x3))))
1053+assert(res[0x1] == 0x1e and res[0x2] == 0x14 and res[0x3] == 0xa and # res == 0x3)
10541054end
10551055print("\u{4f}\u{4b}")
desk/res/lua/cycled/pm.lua+193−193
@@ -2,7 +2,7 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{74}\u{74}\
22local function checkerror
33(msg,f, ...)
44local s,err = pcall(f,...)
5−assert((not (s and string.find(err,msg))))
5+assert(not s and string.find(err,msg))
66end
77local function f
88(s,p)
@@ -12,176 +12,176 @@ return string.sub(s,i,e)
1212end
1313end
1414local a,b = string.find("","")
15−assert(((a == 0x1) and (b == 0x0)))
15+assert(a == 0x1 and b == 0x0)
1616;
1717a,b=string.find("\u{61}\u{6c}\u{6f}","")
18−assert(((a == 0x1) and (b == 0x0)))
18+assert(a == 0x1 and b == 0x0)
1919a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}",0x1)
20−assert(((a == 0x1) and (b == 0x1)))
20+assert(a == 0x1 and b == 0x1)
2121a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}\u{0}\u{6f}",0x2)
22−assert(((a == 0x5) and (b == 0x7)))
22+assert(a == 0x5 and b == 0x7)
2323a,b=string.find("\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}\u{20}\u{61}\u{0}\u{6f}","\u{61}\u{0}\u{6f}",0x9)
24−assert(((a == 0x9) and (b == 0xb)))
24+assert(a == 0x9 and b == 0xb)
2525a,b=string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{0}\u{61}\u{62}",0x2)
2626;
27−assert(((a == 0x9) and (b == 0xb)))
27+assert(a == 0x9 and b == 0xb)
2828;
2929a,b=string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{62}")
30−assert(((a == 0xb) and (b == 0xb)))
31−assert((not string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{62}\u{0}")))
32−assert((not string.find("","\u{0}")))
33−assert((string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{31}\u{32}") == 0x4))
34−assert((not string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{5e}\u{31}\u{32}")))
35−assert((string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2a}\u{62}") == "\u{61}\u{61}\u{61}\u{62}"))
36−assert((string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2a}\u{61}") == "\u{61}\u{61}\u{61}"))
37−assert((string.match("\u{62}","\u{2e}\u{2a}\u{62}") == "\u{62}"))
38−assert((string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2b}\u{62}") == "\u{61}\u{61}\u{61}\u{62}"))
39−assert((string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2b}\u{61}") == "\u{61}\u{61}\u{61}"))
40−assert((not string.match("\u{62}","\u{2e}\u{2b}\u{62}")))
41−assert((string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{3f}\u{62}") == "\u{61}\u{62}"))
42−assert((string.match("\u{61}\u{61}\u{61}","\u{2e}\u{3f}\u{61}") == "\u{61}\u{61}"))
43−assert((string.match("\u{62}","\u{2e}\u{3f}\u{62}") == "\u{62}"))
44−assert((f("\u{61}\u{6c}\u{6f}\u{41}\u{4c}\u{4f}","\u{25}\u{6c}\u{2a}") == "\u{61}\u{6c}\u{6f}"))
45−assert((f("\u{61}\u{4c}\u{6f}\u{5f}\u{41}\u{4c}\u{4f}","\u{25}\u{61}\u{2a}") == "\u{61}\u{4c}\u{6f}"))
46−assert((f("\u{20}\u{20}\u{a}\u{d}\u{2a}\u{26}\u{a}\u{d}\u{20}\u{20}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{20}\u{a}\u{a}","\u{25}\u{67}\u{25}\u{67}\u{25}\u{67}\u{2b}") == "\u{78}\u{75}\u{78}\u{75}"))
30+assert(a == 0xb and b == 0xb)
31+assert(not string.find("\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{61}\u{0}\u{0}\u{61}\u{62}","\u{62}\u{0}"))
32+assert(not string.find("","\u{0}"))
33+assert(string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{31}\u{32}") == 0x4)
34+assert(not string.find("\u{61}\u{6c}\u{6f}\u{31}\u{32}\u{33}\u{61}\u{6c}\u{6f}","\u{5e}\u{31}\u{32}"))
35+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2a}\u{62}") == "\u{61}\u{61}\u{61}\u{62}")
36+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2a}\u{61}") == "\u{61}\u{61}\u{61}")
37+assert(string.match("\u{62}","\u{2e}\u{2a}\u{62}") == "\u{62}")
38+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{2b}\u{62}") == "\u{61}\u{61}\u{61}\u{62}")
39+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{2b}\u{61}") == "\u{61}\u{61}\u{61}")
40+assert(not string.match("\u{62}","\u{2e}\u{2b}\u{62}"))
41+assert(string.match("\u{61}\u{61}\u{61}\u{62}","\u{2e}\u{3f}\u{62}") == "\u{61}\u{62}")
42+assert(string.match("\u{61}\u{61}\u{61}","\u{2e}\u{3f}\u{61}") == "\u{61}\u{61}")
43+assert(string.match("\u{62}","\u{2e}\u{3f}\u{62}") == "\u{62}")
44+assert(f("\u{61}\u{6c}\u{6f}\u{41}\u{4c}\u{4f}","\u{25}\u{6c}\u{2a}") == "\u{61}\u{6c}\u{6f}")
45+assert(f("\u{61}\u{4c}\u{6f}\u{5f}\u{41}\u{4c}\u{4f}","\u{25}\u{61}\u{2a}") == "\u{61}\u{4c}\u{6f}")
46+assert(f("\u{20}\u{20}\u{a}\u{d}\u{2a}\u{26}\u{a}\u{d}\u{20}\u{20}\u{20}\u{78}\u{75}\u{78}\u{75}\u{20}\u{20}\u{a}\u{a}","\u{25}\u{67}\u{25}\u{67}\u{25}\u{67}\u{2b}") == "\u{78}\u{75}\u{78}\u{75}")
4747local function PU
4848(p)
49−p=string.gsub(p,("\u{28}" .. (utf8.charpattern .. "\u{29}\u{25}\u{3f}")),function (c)
49+p=string.gsub(p,"\u{28}" .. utf8.charpattern .. "\u{29}\u{25}\u{3f}",function (c)
5050return string.gsub(c,"\u{2e}","\u{25}\u{30}\u{3f}")
5151end)
5252p=string.gsub(p,"\u{25}\u{2e}",utf8.charpattern)
5353return p
5454end
55−assert((f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2a}") == "\u{61}\u{61}\u{61}"))
55+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2a}") == "\u{61}\u{61}\u{61}")
5656;
57−assert((f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2a}\u{24}") == "\u{61}\u{61}\u{61}"))
57+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2a}\u{24}") == "\u{61}\u{61}\u{61}")
5858;
59−assert((f("\u{61}\u{61}\u{61}","\u{62}\u{2a}") == ""))
59+assert(f("\u{61}\u{61}\u{61}","\u{62}\u{2a}") == "")
6060;
61−assert((f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{61}"))
62−assert((f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{62}\u{61}"))
63−assert((f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2b}") == "\u{61}\u{61}\u{61}"))
64−assert((f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2b}\u{24}") == "\u{61}\u{61}\u{61}"))
65−assert((not f("\u{61}\u{61}\u{61}","\u{62}\u{2b}")))
66−assert((not f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2b}\u{61}")))
67−assert((f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2b}\u{61}") == "\u{61}\u{62}\u{61}"))
68−assert((f("\u{61}\u{24}\u{61}","\u{2e}\u{24}") == "\u{61}"))
69−assert((f("\u{61}\u{24}\u{61}","\u{2e}\u{25}\u{24}") == "\u{61}\u{24}"))
70−assert((f("\u{61}\u{24}\u{61}","\u{2e}\u{24}\u{2e}") == "\u{61}\u{24}\u{61}"))
71−assert((not f("\u{61}\u{24}\u{61}","\u{24}\u{24}")))
72−assert((not f("\u{61}\u{24}\u{62}","\u{61}\u{24}")))
73−assert((f("\u{61}\u{24}\u{61}","\u{24}") == ""))
74−assert((f("","\u{62}\u{2a}") == ""))
75−assert((not f("\u{61}\u{61}\u{61}","\u{62}\u{62}\u{2a}")))
76−assert((f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2d}") == ""))
77−assert((f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2d}\u{24}") == "\u{61}\u{61}\u{61}"))
78−assert((f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2a}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}"))
79−assert((f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2d}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}"))
80−assert((f("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{6f}","\u{2e}\u{6f}\u{24}") == "\u{78}\u{6f}"))
81−assert((f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{25}\u{53}\u{2a}") == "\u{69}\u{73}\u{74}\u{6f}"))
82−assert((f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}"))
83−assert((f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{5b}\u{61}\u{2d}\u{7a}\u{5d}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}"))
84−assert((f("\u{75}\u{6d}\u{20}\u{63}\u{61}\u{72}\u{61}\u{63}\u{74}\u{65}\u{72}\u{20}\u{3f}\u{20}\u{65}\u{78}\u{74}\u{72}\u{61}","\u{5b}\u{5e}\u{25}\u{73}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{3f}"))
85−assert((f("","\u{61}\u{3f}") == ""))
86−assert((f("\u{c3}\u{a1}",PU("\u{c3}\u{a1}\u{3f}")) == "\u{c3}\u{a1}"))
87−assert((f("\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == "\u{c3}\u{a1}\u{62}\u{6c}"))
88−assert((f("\u{20}\u{20}\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == ""))
89−assert((f("\u{61}\u{61}","\u{5e}\u{61}\u{61}\u{3f}\u{61}\u{3f}\u{61}") == "\u{61}\u{61}"))
90−assert((f("\u{5d}\u{5d}\u{5d}\u{c3}\u{a1}\u{62}","\u{5b}\u{5e}\u{5d}\u{5d}\u{2b}") == "\u{c3}\u{a1}\u{62}"))
91−assert((f("\u{30}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{78}\u{2a}") == "\u{30}\u{61}"))
92−assert((f("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{43}\u{2b}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"))
61+assert(f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{61}")
62+assert(f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2a}\u{61}") == "\u{61}\u{62}\u{61}")
63+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2b}") == "\u{61}\u{61}\u{61}")
64+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2b}\u{24}") == "\u{61}\u{61}\u{61}")
65+assert(not f("\u{61}\u{61}\u{61}","\u{62}\u{2b}"))
66+assert(not f("\u{61}\u{61}\u{61}","\u{61}\u{62}\u{2b}\u{61}"))
67+assert(f("\u{61}\u{62}\u{61}","\u{61}\u{62}\u{2b}\u{61}") == "\u{61}\u{62}\u{61}")
68+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{24}") == "\u{61}")
69+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{25}\u{24}") == "\u{61}\u{24}")
70+assert(f("\u{61}\u{24}\u{61}","\u{2e}\u{24}\u{2e}") == "\u{61}\u{24}\u{61}")
71+assert(not f("\u{61}\u{24}\u{61}","\u{24}\u{24}"))
72+assert(not f("\u{61}\u{24}\u{62}","\u{61}\u{24}"))
73+assert(f("\u{61}\u{24}\u{61}","\u{24}") == "")
74+assert(f("","\u{62}\u{2a}") == "")
75+assert(not f("\u{61}\u{61}\u{61}","\u{62}\u{62}\u{2a}"))
76+assert(f("\u{61}\u{61}\u{61}\u{62}","\u{61}\u{2d}") == "")
77+assert(f("\u{61}\u{61}\u{61}","\u{5e}\u{2e}\u{2d}\u{24}") == "\u{61}\u{61}\u{61}")
78+assert(f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2a}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}")
79+assert(f("\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}\u{61}\u{61}\u{62}\u{61}","\u{62}\u{2e}\u{2d}\u{62}") == "\u{62}\u{61}\u{61}\u{61}\u{62}")
80+assert(f("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{6f}","\u{2e}\u{6f}\u{24}") == "\u{78}\u{6f}")
81+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{25}\u{53}\u{2a}") == "\u{69}\u{73}\u{74}\u{6f}")
82+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{25}\u{53}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}")
83+assert(f("\u{20}\u{a}\u{20}\u{69}\u{73}\u{74}\u{6f}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}","\u{5b}\u{61}\u{2d}\u{7a}\u{5d}\u{2a}\u{24}") == "\u{61}\u{73}\u{73}\u{69}\u{6d}")
84+assert(f("\u{75}\u{6d}\u{20}\u{63}\u{61}\u{72}\u{61}\u{63}\u{74}\u{65}\u{72}\u{20}\u{3f}\u{20}\u{65}\u{78}\u{74}\u{72}\u{61}","\u{5b}\u{5e}\u{25}\u{73}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{3f}")
85+assert(f("","\u{61}\u{3f}") == "")
86+assert(f("\u{c3}\u{a1}",PU("\u{c3}\u{a1}\u{3f}")) == "\u{c3}\u{a1}")
87+assert(f("\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == "\u{c3}\u{a1}\u{62}\u{6c}")
88+assert(f("\u{20}\u{20}\u{c3}\u{a1}\u{62}\u{6c}",PU("\u{c3}\u{a1}\u{3f}\u{62}\u{3f}\u{6c}\u{3f}")) == "")
89+assert(f("\u{61}\u{61}","\u{5e}\u{61}\u{61}\u{3f}\u{61}\u{3f}\u{61}") == "\u{61}\u{61}")
90+assert(f("\u{5d}\u{5d}\u{5d}\u{c3}\u{a1}\u{62}","\u{5b}\u{5e}\u{5d}\u{5d}\u{2b}") == "\u{c3}\u{a1}\u{62}")
91+assert(f("\u{30}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{78}\u{2a}") == "\u{30}\u{61}")
92+assert(f("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{43}\u{2b}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
9393print("\u{2b}")
9494local function f1
9595(s,p)
9696p=string.gsub(p,"\u{25}\u{25}\u{28}\u{5b}\u{30}\u{2d}\u{39}\u{5d}\u{29}",function (s)
97−return ("\u{25}" .. (tonumber(s) + 0x1))
97+return "\u{25}" .. (tonumber(s) + 0x1)
9898end)
9999p=string.gsub(p,"\u{5e}\u{28}\u{5e}\u{3f}\u{29}","\u{25}\u{31}\u{28}\u{29}",0x1)
100100p=string.gsub(p,"\u{28}\u{24}\u{3f}\u{29}\u{24}","\u{28}\u{29}\u{25}\u{31}",0x1)
101101local t = {string.match(s,p)}
102−return string.sub(s,t[0x1],(t[(# t)] - 0x1))
102+return string.sub(s,t[0x1],t[# t] - 0x1)
103103end
104−assert((f1("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{78}\u{20}\u{31}\u{32}\u{33}\u{20}\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}","\u{28}\u{2e}\u{2e}\u{2a}\u{29}\u{20}\u{25}\u{31}") == "\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}"))
105−assert((f1("\u{61}\u{78}\u{7a}\u{31}\u{32}\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}\u{34}","\u{28}\u{2e}\u{2b}\u{29}\u{3d}\u{28}\u{2e}\u{2a}\u{29}\u{3d}\u{25}\u{32}\u{20}\u{25}\u{31}") == "\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}"))
106−assert((f1("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{3d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}") == "\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}"))
107−assert((not string.match("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{5b}\u{3d}\u{5d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}")))
104+assert(f1("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{78}\u{20}\u{31}\u{32}\u{33}\u{20}\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}","\u{28}\u{2e}\u{2e}\u{2a}\u{29}\u{20}\u{25}\u{31}") == "\u{62}\u{0}\u{6f}\u{20}\u{62}\u{0}\u{6f}")
105+assert(f1("\u{61}\u{78}\u{7a}\u{31}\u{32}\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}\u{34}","\u{28}\u{2e}\u{2b}\u{29}\u{3d}\u{28}\u{2e}\u{2a}\u{29}\u{3d}\u{25}\u{32}\u{20}\u{25}\u{31}") == "\u{33}\u{3d}\u{20}\u{34}\u{3d}\u{20}\u{34}\u{20}\u{33}")
106+assert(f1("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{3d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}") == "\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}")
107+assert(not string.match("\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}\u{3d}","\u{5e}\u{28}\u{5b}\u{3d}\u{5d}\u{2a}\u{29}\u{3d}\u{25}\u{31}\u{24}"))
108108local function range
109109(i,j)
110−if (i <= j) then
111−return i,range((i + 0x1),j)
110+if i <= j then
111+return i,range(i + 0x1,j)
112112end
113113end
114−local abc = (string.char(range(0x0,0x7f)) .. string.char(range(0x80,0xff)))
114+local abc = string.char(range(0x0,0x7f)) .. string.char(range(0x80,0xff))
115115;
116−assert((string.len(abc) == 0x100))
116+assert(string.len(abc) == 0x100)
117117local function strset
118118(p)
119119local res = {["\u{73}"] = ""}
120120string.gsub(abc,p,function (c)
121−res.s=(res.s .. c)
121+res.s=res.s .. c
122122end)
123123return res.s
124124end
125125;
126−assert((string.len(strset("\u{5b}\u{c8}\u{2d}\u{d2}\u{5d}")) == 0xb))
127−assert((strset("\u{5b}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}\u{6a}\u{6b}\u{6c}\u{6d}\u{6e}\u{6f}\u{70}\u{71}\u{72}\u{73}\u{74}\u{75}\u{76}\u{77}\u{78}\u{79}\u{7a}"))
128−assert((strset("\u{5b}\u{61}\u{2d}\u{7a}\u{25}\u{64}\u{5d}") == strset("\u{5b}\u{25}\u{64}\u{61}\u{2d}\u{75}\u{75}\u{2d}\u{7a}\u{5d}")))
129−assert((strset("\u{5b}\u{61}\u{2d}\u{5d}") == "\u{2d}\u{61}"))
130−assert((strset("\u{5b}\u{5e}\u{25}\u{57}\u{5d}") == strset("\u{5b}\u{25}\u{77}\u{5d}")))
131−assert((strset("\u{5b}\u{5d}\u{25}\u{25}\u{5d}") == "\u{25}\u{5d}"))
132−assert((strset("\u{5b}\u{61}\u{25}\u{2d}\u{7a}\u{5d}") == "\u{2d}\u{61}\u{7a}"))
133−assert((strset("\u{5b}\u{25}\u{5e}\u{25}\u{5b}\u{25}\u{2d}\u{61}\u{25}\u{5d}\u{25}\u{2d}\u{62}\u{5d}") == "\u{2d}\u{5b}\u{5d}\u{5e}\u{61}\u{62}"))
134−assert((strset("\u{25}\u{5a}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{5d}")))
135−assert((strset("\u{2e}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{25}\u{7a}\u{5d}")))
126+assert(string.len(strset("\u{5b}\u{c8}\u{2d}\u{d2}\u{5d}")) == 0xb)
127+assert(strset("\u{5b}\u{61}\u{2d}\u{7a}\u{5d}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}\u{6a}\u{6b}\u{6c}\u{6d}\u{6e}\u{6f}\u{70}\u{71}\u{72}\u{73}\u{74}\u{75}\u{76}\u{77}\u{78}\u{79}\u{7a}")
128+assert(strset("\u{5b}\u{61}\u{2d}\u{7a}\u{25}\u{64}\u{5d}") == strset("\u{5b}\u{25}\u{64}\u{61}\u{2d}\u{75}\u{75}\u{2d}\u{7a}\u{5d}"))
129+assert(strset("\u{5b}\u{61}\u{2d}\u{5d}") == "\u{2d}\u{61}")
130+assert(strset("\u{5b}\u{5e}\u{25}\u{57}\u{5d}") == strset("\u{5b}\u{25}\u{77}\u{5d}"))
131+assert(strset("\u{5b}\u{5d}\u{25}\u{25}\u{5d}") == "\u{25}\u{5d}")
132+assert(strset("\u{5b}\u{61}\u{25}\u{2d}\u{7a}\u{5d}") == "\u{2d}\u{61}\u{7a}")
133+assert(strset("\u{5b}\u{25}\u{5e}\u{25}\u{5b}\u{25}\u{2d}\u{61}\u{25}\u{5d}\u{25}\u{2d}\u{62}\u{5d}") == "\u{2d}\u{5b}\u{5d}\u{5e}\u{61}\u{62}")
134+assert(strset("\u{25}\u{5a}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{5d}"))
135+assert(strset("\u{2e}") == strset("\u{5b}\u{1}\u{2d}\u{ff}\u{25}\u{7a}\u{5d}"))
136136print("\u{2b}")
137137;
138−assert((string.match("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{79}\u{7a}\u{4b}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{4b}") == "\u{78}\u{79}\u{7a}"))
139−assert((string.match("\u{32}\u{35}\u{34}\u{20}\u{4b}","\u{28}\u{25}\u{64}\u{2a}\u{29}\u{4b}") == ""))
140−assert((string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{24}") == ""))
141−assert((not string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{24}")))
142−assert((string.find("\u{28}\u{c3}\u{a1}\u{6c}\u{6f}\u{29}","\u{25}\u{28}\u{c3}\u{a1}") == 0x1))
138+assert(string.match("\u{61}\u{6c}\u{6f}\u{20}\u{78}\u{79}\u{7a}\u{4b}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{4b}") == "\u{78}\u{79}\u{7a}")
139+assert(string.match("\u{32}\u{35}\u{34}\u{20}\u{4b}","\u{28}\u{25}\u{64}\u{2a}\u{29}\u{4b}") == "")
140+assert(string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{24}") == "")
141+assert(not string.match("\u{61}\u{6c}\u{6f}\u{20}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{24}"))
142+assert(string.find("\u{28}\u{c3}\u{a1}\u{6c}\u{6f}\u{29}","\u{25}\u{28}\u{c3}\u{a1}") == 0x1)
143143local a,b,c,d,e = string.match("\u{c3}\u{a2}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}",PU("\u{5e}\u{28}\u{28}\u{28}\u{2e}\u{29}\u{2e}\u{29}\u{2e}\u{20}\u{28}\u{25}\u{77}\u{2a}\u{29}\u{29}\u{24}"))
144−assert((((((a == "\u{c3}\u{a2}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}") and (b == "\u{c3}\u{a2}\u{6c}")) and (c == "\u{c3}\u{a2}")) and (d == "\u{61}\u{6c}\u{6f}")) and (e == nil)))
144+assert(a == "\u{c3}\u{a2}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}" and b == "\u{c3}\u{a2}\u{6c}" and c == "\u{c3}\u{a2}" and d == "\u{61}\u{6c}\u{6f}" and e == nil)
145145a,b,c,d=string.match("\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{28}\u{2e}\u{2b}\u{28}\u{2e}\u{3f}\u{29}\u{28}\u{29}\u{29}")
146−assert(((((a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}") and (b == "")) and (c == 0xb)) and (d == nil)))
146+assert(a == "\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}" and b == "" and c == 0xb and d == nil)
147147print("\u{2b}")
148−assert((string.gsub("\u{c3}\u{bc}\u{6c}\u{6f}\u{20}\u{c3}\u{bc}\u{6c}\u{6f}","\u{c3}\u{bc}","\u{78}") == "\u{78}\u{6c}\u{6f}\u{20}\u{78}\u{6c}\u{6f}"))
149−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}\u{20}\u{20}","\u{20}\u{2b}\u{24}","") == "\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}"))
150−assert((string.gsub("\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}","\u{5e}\u{25}\u{73}\u{2a}\u{28}\u{2e}\u{2d}\u{29}\u{25}\u{73}\u{2a}\u{24}","\u{25}\u{31}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"))
151−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{a}\u{20}\u{31}\u{32}\u{33}\u{a}\u{20}","\u{25}\u{73}\u{2b}","\u{20}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{31}\u{32}\u{33}\u{20}"))
148+assert(string.gsub("\u{c3}\u{bc}\u{6c}\u{6f}\u{20}\u{c3}\u{bc}\u{6c}\u{6f}","\u{c3}\u{bc}","\u{78}") == "\u{78}\u{6c}\u{6f}\u{20}\u{78}\u{6c}\u{6f}")
149+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}\u{20}\u{20}","\u{20}\u{2b}\u{24}","") == "\u{61}\u{6c}\u{6f}\u{20}\u{c3}\u{ba}\u{6c}\u{6f}")
150+assert(string.gsub("\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}","\u{5e}\u{25}\u{73}\u{2a}\u{28}\u{2e}\u{2d}\u{29}\u{25}\u{73}\u{2a}\u{24}","\u{25}\u{31}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
151+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{a}\u{20}\u{31}\u{32}\u{33}\u{a}\u{20}","\u{25}\u{73}\u{2b}","\u{20}") == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{31}\u{32}\u{33}\u{20}")
152152local t = "\u{61}\u{62}\u{c3}\u{a7}\u{20}\u{64}"
153153a,b=string.gsub(t,PU("\u{28}\u{2e}\u{29}"),"\u{25}\u{31}\u{40}")
154−assert(((a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{40}\u{20}\u{40}\u{64}\u{40}") and (b == 0x5)))
154+assert(a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{40}\u{20}\u{40}\u{64}\u{40}" and b == 0x5)
155155a,b=string.gsub("\u{61}\u{62}\u{c3}\u{a7}\u{64}",PU("\u{28}\u{2e}\u{29}"),"\u{25}\u{30}\u{40}",0x2)
156−assert(((a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{64}") and (b == 0x2)))
157−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{5b}\u{61}\u{6c}\u{5d}","\u{25}\u{31}") == "\u{31}\u{32}\u{6f}\u{20}\u{35}\u{36}\u{6f}"))
158−assert((string.gsub("\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{28}\u{25}\u{70}\u{29}\u{28}\u{25}\u{77}\u{2b}\u{29}","\u{25}\u{33}\u{25}\u{32}\u{25}\u{31}\u{2d}\u{25}\u{30}") == "\u{78}\u{79}\u{7a}\u{3d}\u{61}\u{62}\u{63}\u{2d}\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}"))
159−assert((string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}","\u{25}\u{31}\u{25}\u{30}") == "\u{61}\u{61}\u{62}\u{62}\u{63}\u{63}"))
160−assert((string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}\u{2b}","\u{25}\u{30}\u{25}\u{31}") == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}"))
161−assert((string.gsub("\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}","\u{24}","\u{0}\u{c3}\u{b3}\u{c3}\u{ba}") == "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{0}\u{c3}\u{b3}\u{c3}\u{ba}"))
162−assert((string.gsub("","\u{5e}","\u{72}") == "\u{72}"))
163−assert((string.gsub("","\u{24}","\u{72}") == "\u{72}"))
156+assert(a == "\u{61}\u{40}\u{62}\u{40}\u{c3}\u{a7}\u{64}" and b == 0x2)
157+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{5b}\u{61}\u{6c}\u{5d}","\u{25}\u{31}") == "\u{31}\u{32}\u{6f}\u{20}\u{35}\u{36}\u{6f}")
158+assert(string.gsub("\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}","\u{28}\u{25}\u{77}\u{2a}\u{29}\u{28}\u{25}\u{70}\u{29}\u{28}\u{25}\u{77}\u{2b}\u{29}","\u{25}\u{33}\u{25}\u{32}\u{25}\u{31}\u{2d}\u{25}\u{30}") == "\u{78}\u{79}\u{7a}\u{3d}\u{61}\u{62}\u{63}\u{2d}\u{61}\u{62}\u{63}\u{3d}\u{78}\u{79}\u{7a}")
159+assert(string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}","\u{25}\u{31}\u{25}\u{30}") == "\u{61}\u{61}\u{62}\u{62}\u{63}\u{63}")
160+assert(string.gsub("\u{61}\u{62}\u{63}","\u{25}\u{77}\u{2b}","\u{25}\u{30}\u{25}\u{31}") == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}")
161+assert(string.gsub("\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}","\u{24}","\u{0}\u{c3}\u{b3}\u{c3}\u{ba}") == "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{0}\u{c3}\u{b3}\u{c3}\u{ba}")
162+assert(string.gsub("","\u{5e}","\u{72}") == "\u{72}")
163+assert(string.gsub("","\u{24}","\u{72}") == "\u{72}")
164164print("\u{2b}")
165165do
166−assert((string.gsub("\u{61}\u{20}\u{62}\u{20}\u{63}\u{64}","\u{20}\u{2a}","\u{2d}") == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}"))
166+assert(string.gsub("\u{61}\u{20}\u{62}\u{20}\u{63}\u{64}","\u{20}\u{2a}","\u{2d}") == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}")
167167local res = ""
168168local sub = "\u{61}\u{20}\u{20}\u{a}\u{62}\u{63}\u{9}\u{9}\u{64}"
169169local i = 0x1
170170for p,e in string.gmatch(sub,"\u{28}\u{29}\u{25}\u{73}\u{2a}\u{28}\u{29}")
171171do
172−res=(res .. (string.sub(sub,i,(p - 0x1)) .. "\u{2d}"))
172+res=res .. string.sub(sub,i,p - 0x1) .. "\u{2d}"
173173i=e
174174end
175−assert((res == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}"))
175+assert(res == "\u{2d}\u{61}\u{2d}\u{62}\u{2d}\u{63}\u{2d}\u{64}\u{2d}")
176176end
177−assert((string.gsub("\u{75}\u{6d}\u{20}\u{28}\u{64}\u{6f}\u{69}\u{73}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{71}\u{75}\u{61}\u{74}\u{72}\u{6f}\u{29}","\u{28}\u{25}\u{28}\u{25}\u{77}\u{2b}\u{25}\u{29}\u{29}",string.upper) == "\u{75}\u{6d}\u{20}\u{28}\u{44}\u{4f}\u{49}\u{53}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{51}\u{55}\u{41}\u{54}\u{52}\u{4f}\u{29}"))
177+assert(string.gsub("\u{75}\u{6d}\u{20}\u{28}\u{64}\u{6f}\u{69}\u{73}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{71}\u{75}\u{61}\u{74}\u{72}\u{6f}\u{29}","\u{28}\u{25}\u{28}\u{25}\u{77}\u{2b}\u{25}\u{29}\u{29}",string.upper) == "\u{75}\u{6d}\u{20}\u{28}\u{44}\u{4f}\u{49}\u{53}\u{29}\u{20}\u{74}\u{72}\u{65}\u{73}\u{20}\u{28}\u{51}\u{55}\u{41}\u{54}\u{52}\u{4f}\u{29}")
178178do
179179local function setglobal
180180(n,v)
181181rawset(_G,n,v)
182182end
183183string.gsub("\u{61}\u{3d}\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}\u{2c}\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}\u{3d}\u{61}","\u{28}\u{25}\u{77}\u{2b}\u{29}\u{3d}\u{28}\u{25}\u{77}\u{25}\u{77}\u{2a}\u{29}",setglobal)
184−assert(((_G.a == "\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}") and (_G.roberto == "\u{61}")))
184+assert(_G.a == "\u{72}\u{6f}\u{62}\u{65}\u{72}\u{74}\u{6f}" and _G.roberto == "\u{61}")
185185_G.a=nil
186186;
187187_G.roberto=nil
@@ -189,106 +189,106 @@ end
189189function f(a,b)
190190return string.gsub(a,"\u{2e}",b)
191191end
192−assert((string.gsub("\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{7c}\u{74}\u{65}\u{73}\u{74}\u{65}\u{7c}\u{62}\u{7c}\u{20}\u{c3}\u{a9}\u{20}\u{7c}\u{62}\u{65}\u{6c}\u{65}\u{7a}\u{61}\u{7c}\u{61}\u{6c}\u{7c}","\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}",f) == "\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{62}\u{62}\u{62}\u{62}\u{62}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}"))
192+assert(string.gsub("\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{7c}\u{74}\u{65}\u{73}\u{74}\u{65}\u{7c}\u{62}\u{7c}\u{20}\u{c3}\u{a9}\u{20}\u{7c}\u{62}\u{65}\u{6c}\u{65}\u{7a}\u{61}\u{7c}\u{61}\u{6c}\u{7c}","\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}\u{28}\u{5b}\u{5e}\u{7c}\u{5d}\u{2a}\u{29}\u{7c}",f) == "\u{74}\u{72}\u{6f}\u{63}\u{61}\u{72}\u{20}\u{74}\u{75}\u{64}\u{6f}\u{20}\u{65}\u{6d}\u{20}\u{62}\u{62}\u{62}\u{62}\u{62}\u{20}\u{c3}\u{a9}\u{20}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}\u{61}\u{6c}")
193193local function dostring
194194(s)
195−return (load(s,"")() or "")
195+return load(s,"")() or ""
196196end
197−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{24}\u{61}\u{3d}\u{27}\u{78}\u{27}\u{24}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{24}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{24}","\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2a}\u{29}\u{25}\u{24}",dostring) == "\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{78}"))
197+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{24}\u{61}\u{3d}\u{27}\u{78}\u{27}\u{24}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{24}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{24}","\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2a}\u{29}\u{25}\u{24}",dostring) == "\u{61}\u{6c}\u{6f}\u{20}\u{20}\u{6e}\u{6f}\u{76}\u{61}\u{6d}\u{65}\u{6e}\u{74}\u{65}\u{20}\u{78}")
198198local x = string.gsub("\u{24}\u{78}\u{3d}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{67}\u{73}\u{75}\u{62}\u{28}\u{27}\u{61}\u{6c}\u{6f}\u{27}\u{2c}\u{20}\u{27}\u{2e}\u{27}\u{2c}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{2e}\u{75}\u{70}\u{70}\u{65}\u{72}\u{29}\u{24}\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}\u{20}\u{76}\u{61}\u{69}\u{20}\u{70}\u{61}\u{72}\u{61}\u{20}\u{24}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{78}\u{24}","\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2a}\u{29}\u{25}\u{24}",dostring)
199−assert((x == "\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}\u{20}\u{76}\u{61}\u{69}\u{20}\u{70}\u{61}\u{72}\u{61}\u{20}\u{41}\u{4c}\u{4f}"))
199+assert(x == "\u{20}\u{61}\u{73}\u{73}\u{69}\u{6d}\u{20}\u{76}\u{61}\u{69}\u{20}\u{70}\u{61}\u{72}\u{61}\u{20}\u{41}\u{4c}\u{4f}")
200200_G.a,_G.x=nil
201201local t = {}
202202local s = "\u{61}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{6a}\u{6f}\u{73}\u{65}\u{20}\u{20}\u{6a}\u{6f}\u{61}\u{6f}"
203203local r = string.gsub(s,"\u{28}\u{29}\u{28}\u{25}\u{77}\u{2b}\u{29}\u{28}\u{29}",function (a,w,b)
204−assert((string.len(w) == (b - a)))
204+assert(string.len(w) == b - a)
205205;
206−t[a]=(b - a)
206+t[a]=b - a
207207;
208208end)
209−assert((((((s == r) and (t[0x1] == 0x1)) and (t[0x3] == 0x3)) and (t[0x7] == 0x4)) and (t[0xd] == 0x4)))
209+assert(s == r and t[0x1] == 0x1 and t[0x3] == 0x3 and t[0x7] == 0x4 and t[0xd] == 0x4)
210210local function isbalanced
211211(s)
212−return (not string.find(string.gsub(s,"\u{25}\u{62}\u{28}\u{29}",""),"\u{5b}\u{28}\u{29}\u{5d}"))
212+return not string.find(string.gsub(s,"\u{25}\u{62}\u{28}\u{29}",""),"\u{5b}\u{28}\u{29}\u{5d}")
213213end
214214assert(isbalanced("\u{28}\u{39}\u{20}\u{28}\u{28}\u{38}\u{29}\u{29}\u{28}\u{0}\u{29}\u{20}\u{37}\u{29}\u{20}\u{0}\u{0}\u{20}\u{61}\u{20}\u{62}\u{20}\u{28}\u{29}\u{28}\u{63}\u{29}\u{28}\u{29}\u{20}\u{61}"))
215−assert((not isbalanced("\u{28}\u{39}\u{20}\u{28}\u{28}\u{38}\u{29}\u{20}\u{37}\u{29}\u{20}\u{61}\u{20}\u{62}\u{20}\u{28}\u{0}\u{20}\u{63}\u{29}\u{20}\u{61}")))
216−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{27}\u{6f}\u{69}\u{27}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{62}\u{27}\u{27}","\u{22}") == "\u{61}\u{6c}\u{6f}\u{20}\u{22}\u{20}\u{61}\u{6c}\u{6f}"))
215+assert(not isbalanced("\u{28}\u{39}\u{20}\u{28}\u{28}\u{38}\u{29}\u{20}\u{37}\u{29}\u{20}\u{61}\u{20}\u{62}\u{20}\u{28}\u{0}\u{20}\u{63}\u{29}\u{20}\u{61}"))
216+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{27}\u{6f}\u{69}\u{27}\u{20}\u{61}\u{6c}\u{6f}","\u{25}\u{62}\u{27}\u{27}","\u{22}") == "\u{61}\u{6c}\u{6f}\u{20}\u{22}\u{20}\u{61}\u{6c}\u{6f}")
217217local t = {"\u{61}\u{70}\u{70}\u{6c}\u{65}","\u{6f}\u{72}\u{61}\u{6e}\u{67}\u{65}","\u{6c}\u{69}\u{6d}\u{65}",["\u{6e}"] = 0x0}
218−assert((string.gsub("\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}","\u{78}",function ()
219−t.n=(t.n + 0x1)
218+assert(string.gsub("\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{78}","\u{78}",function ()
219+t.n=t.n + 0x1
220220;
221221return t[t.n]
222−end) == "\u{61}\u{70}\u{70}\u{6c}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6f}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6d}\u{65}"))
222+end) == "\u{61}\u{70}\u{70}\u{6c}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6f}\u{72}\u{61}\u{6e}\u{67}\u{65}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6c}\u{69}\u{6d}\u{65}")
223223t={["\u{6e}"] = 0x0}
224224string.gsub("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{25}\u{77}\u{2a}",function (w)
225−t.n=(t.n + 0x1)
225+t.n=t.n + 0x1
226226;
227227t[t.n]=w
228228end)
229−assert(((((t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")) and (t.n == 0x3)))
229+assert(t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == "\u{77}\u{6f}\u{72}\u{64}" and t.n == 0x3)
230230t={["\u{6e}"] = 0x0}
231−assert((string.gsub("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{2b}",function (w)
232−t.n=(t.n + 0x1)
231+assert(string.gsub("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{2b}",function (w)
232+t.n=t.n + 0x1
233233;
234234t[t.n]=w
235−end,0x2) == "\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}"))
236−assert((((t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == undef)))
235+end,0x2) == "\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}")
236+assert(t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == undef)
237237checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{72}\u{65}\u{70}\u{6c}\u{61}\u{63}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{25}\u{28}\u{61}\u{20}\u{74}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{29}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}",{["\u{61}"] = {}})
238238checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{32}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}","\u{25}\u{32}")
239239checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{30}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{28}\u{25}\u{30}\u{29}","\u{61}")
240240checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}\u{25}\u{31}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{28}\u{25}\u{31}\u{29}","\u{61}")
241241checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{75}\u{73}\u{65}\u{20}\u{6f}\u{66}\u{20}\u{27}\u{25}\u{25}\u{27}",string.gsub,"\u{61}\u{6c}\u{6f}","\u{2e}","\u{25}\u{78}")
242−if (not _soft) then
242+if not _soft then
243243print("\u{62}\u{69}\u{67}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
244244local a = string.rep("\u{61}",0x493e0)
245245assert(string.find(a,"\u{5e}\u{61}\u{2a}\u{2e}\u{3f}\u{24}"))
246−assert((not string.find(a,"\u{5e}\u{61}\u{2a}\u{2e}\u{3f}\u{62}\u{24}")))
246+assert(not string.find(a,"\u{5e}\u{61}\u{2a}\u{2e}\u{3f}\u{62}\u{24}"))
247247assert(string.find(a,"\u{5e}\u{61}\u{2d}\u{2e}\u{3f}\u{24}"))
248−a=(string.rep("\u{61}",0x2710) .. string.rep("\u{62}",0x2710))
249−assert((not pcall(string.gsub,a,"\u{62}")))
248+a=string.rep("\u{61}",0x2710) .. string.rep("\u{62}",0x2710)
249+assert(not pcall(string.gsub,a,"\u{62}"))
250250end
251251local function rev
252252(s)
253253return string.gsub(s,"\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{2b}\u{29}",function (c,s1)
254−return (rev(s1) .. c)
254+return rev(s1) .. c
255255end)
256256end
257257local x = "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}"
258−assert((rev(rev(x)) == x))
259−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{2e}",{}) == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}"))
260−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = ""}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}"))
261−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}\u{2e}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = "\u{4b}"}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}"))
262−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{3f}\u{29}\u{29}",{["\u{61}\u{6c}"] = "\u{41}\u{41}",["\u{6f}"] = false}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}"))
263−assert((string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{2e}",{"\u{78}","\u{79}\u{79}","\u{7a}\u{7a}\u{7a}"}) == "\u{78}\u{79}\u{79}\u{7a}\u{7a}\u{7a}\u{20}\u{61}\u{6c}\u{6f}"))
258+assert(rev(rev(x)) == x)
259+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{2e}",{}) == "\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}")
260+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = ""}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
261+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{2e}\u{29}\u{2e}",{["\u{61}"] = "\u{41}\u{41}",["\u{6c}"] = "\u{4b}"}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
262+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{28}\u{2e}\u{29}\u{28}\u{2e}\u{3f}\u{29}\u{29}",{["\u{61}\u{6c}"] = "\u{41}\u{41}",["\u{6f}"] = false}) == "\u{41}\u{41}\u{6f}\u{20}\u{41}\u{41}\u{6f}")
263+assert(string.gsub("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}","\u{28}\u{29}\u{2e}",{"\u{78}","\u{79}\u{79}","\u{7a}\u{7a}\u{7a}"}) == "\u{78}\u{79}\u{79}\u{7a}\u{7a}\u{7a}\u{20}\u{61}\u{6c}\u{6f}")
264264t={}
265265;
266266setmetatable(t,{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (t,s)
267267return string.upper(s)
268268end})
269−assert((string.gsub("\u{61}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{62}\u{20}\u{68}\u{69}","\u{25}\u{77}\u{25}\u{77}\u{2b}",t) == "\u{61}\u{20}\u{41}\u{4c}\u{4f}\u{20}\u{62}\u{20}\u{48}\u{49}"))
269+assert(string.gsub("\u{61}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{62}\u{20}\u{68}\u{69}","\u{25}\u{77}\u{25}\u{77}\u{2b}",t) == "\u{61}\u{20}\u{41}\u{4c}\u{4f}\u{20}\u{62}\u{20}\u{48}\u{49}")
270270local a = 0x0
271271for i in string.gmatch("\u{61}\u{62}\u{63}\u{64}\u{65}","\u{28}\u{29}")
272272do
273−assert((i == (a + 0x1)))
273+assert(i == a + 0x1)
274274;
275275a=i
276276end
277−assert((a == 0x6))
277+assert(a == 0x6)
278278t={["\u{6e}"] = 0x0}
279279for w in string.gmatch("\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}\u{20}\u{77}\u{6f}\u{72}\u{64}","\u{25}\u{77}\u{2b}")
280280do
281−t.n=(t.n + 0x1)
281+t.n=t.n + 0x1
282282;
283283t[t.n]=w
284284end
285−assert((((t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}") and (t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}")) and (t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")))
285+assert(t[0x1] == "\u{66}\u{69}\u{72}\u{73}\u{74}" and t[0x2] == "\u{73}\u{65}\u{63}\u{6f}\u{6e}\u{64}" and t[0x3] == "\u{77}\u{6f}\u{72}\u{64}")
286286t={0x3,0x6,0x9}
287287for i in string.gmatch("\u{78}\u{75}\u{78}\u{78}\u{20}\u{75}\u{75}\u{20}\u{70}\u{70}\u{61}\u{72}\u{20}\u{72}","\u{28}\u{29}\u{28}\u{2e}\u{29}\u{25}\u{32}")
288288do
289−assert((i == table.remove(t,0x1)))
289+assert(i == table.remove(t,0x1))
290290end
291−assert((# (t == 0x0)))
291+assert(# t == 0x0)
292292t={}
293293for i,j in string.gmatch("\u{31}\u{33}\u{20}\u{31}\u{34}\u{20}\u{31}\u{30}\u{20}\u{3d}\u{20}\u{31}\u{31}\u{2c}\u{20}\u{31}\u{35}\u{3d}\u{20}\u{31}\u{36}\u{2c}\u{20}\u{32}\u{32}\u{3d}\u{32}\u{33}","\u{28}\u{25}\u{64}\u{2b}\u{29}\u{25}\u{73}\u{2a}\u{3d}\u{25}\u{73}\u{2a}\u{28}\u{25}\u{64}\u{2b}\u{29}")
294294do
@@ -297,65 +297,65 @@ end
297297a=0x0
298298for k,v in pairs(t)
299299do
300−assert(((k + 0x1) == (v + 0x0)))
300+assert(k + 0x1 == v + 0x0)
301301;
302−a=(a + 0x1)
302+a=a + 0x1
303303end
304−assert((a == 0x3))
304+assert(a == 0x3)
305305do
306306local s = 0x0
307307for k in string.gmatch("\u{31}\u{30}\u{20}\u{32}\u{30}\u{20}\u{33}\u{30}","\u{25}\u{64}\u{2b}",0x3)
308308do
309−s=(s + tonumber(k))
309+s=s + tonumber(k)
310310end
311−assert((s == 0x32))
311+assert(s == 0x32)
312312s=0x0
313−for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{64}\u{2b}",(- 0x4))
313+for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{64}\u{2b}",- 0x4)
314314do
315−s=(s + tonumber(k))
315+s=s + tonumber(k)
316316end
317−assert((s == 0x20))
317+assert(s == 0x20)
318318s=0x0
319319for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{77}\u{2a}",0x9)
320320do
321−s=(s + 0x1)
321+s=s + 0x1
322322end
323−assert((s == 0x1))
323+assert(s == 0x1)
324324s=0x0
325325for k in string.gmatch("\u{31}\u{31}\u{20}\u{32}\u{31}\u{20}\u{33}\u{31}","\u{25}\u{77}\u{2a}",0xa)
326326do
327−s=(s + 0x1)
327+s=s + 0x1
328328end
329−assert((s == 0x0))
329+assert(s == 0x0)
330330end
331−assert((string.gsub("\u{61}\u{61}\u{61}\u{20}\u{61}\u{61}\u{20}\u{61}\u{20}\u{61}\u{61}\u{61}\u{20}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{77}\u{5d}\u{61}","\u{78}") == "\u{78}\u{61}\u{61}\u{20}\u{78}\u{61}\u{20}\u{78}\u{20}\u{78}\u{61}\u{61}\u{20}\u{78}"))
332−assert((string.gsub("\u{5b}\u{5b}\u{5d}\u{5d}\u{20}\u{5b}\u{5d}\u{5b}\u{5d}\u{20}\u{5b}\u{5b}\u{5b}\u{5b}","\u{25}\u{66}\u{5b}\u{5b}\u{5d}\u{2e}","\u{78}") == "\u{78}\u{5b}\u{5d}\u{5d}\u{20}\u{78}\u{5d}\u{78}\u{5d}\u{20}\u{78}\u{5b}\u{5b}\u{5b}"))
333−assert((string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{64}\u{65}\u{33}","\u{25}\u{66}\u{5b}\u{25}\u{64}\u{5d}","\u{2e}") == "\u{2e}\u{30}\u{31}\u{61}\u{62}\u{63}\u{2e}\u{34}\u{35}\u{64}\u{65}\u{2e}\u{33}"))
334−assert((string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{78}","\u{25}\u{66}\u{5b}\u{25}\u{44}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{30}\u{31}\u{2e}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{2e}"))
335−assert((string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{1}\u{2d}\u{ff}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{2e}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}"))
336−assert((string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{5e}\u{1}\u{2d}\u{ff}\u{5d}","\u{2e}") == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{2e}"))
337−assert((string.find("\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{5d}") == 0x1))
338−assert((string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{7a}\u{5d}") == 0x1))
339−assert((string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{5d}") == 0x2))
340−assert((string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{25}\u{7a}\u{5d}") == 0x3))
341−assert((string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{7a}\u{5d}") == 0x4))
342−assert((not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{6c}\u{25}\u{7a}\u{5d}")))
343−assert((not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{25}\u{7a}\u{5d}")))
331+assert(string.gsub("\u{61}\u{61}\u{61}\u{20}\u{61}\u{61}\u{20}\u{61}\u{20}\u{61}\u{61}\u{61}\u{20}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{77}\u{5d}\u{61}","\u{78}") == "\u{78}\u{61}\u{61}\u{20}\u{78}\u{61}\u{20}\u{78}\u{20}\u{78}\u{61}\u{61}\u{20}\u{78}")
332+assert(string.gsub("\u{5b}\u{5b}\u{5d}\u{5d}\u{20}\u{5b}\u{5d}\u{5b}\u{5d}\u{20}\u{5b}\u{5b}\u{5b}\u{5b}","\u{25}\u{66}\u{5b}\u{5b}\u{5d}\u{2e}","\u{78}") == "\u{78}\u{5b}\u{5d}\u{5d}\u{20}\u{78}\u{5d}\u{78}\u{5d}\u{20}\u{78}\u{5b}\u{5b}\u{5b}")
333+assert(string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{64}\u{65}\u{33}","\u{25}\u{66}\u{5b}\u{25}\u{64}\u{5d}","\u{2e}") == "\u{2e}\u{30}\u{31}\u{61}\u{62}\u{63}\u{2e}\u{34}\u{35}\u{64}\u{65}\u{2e}\u{33}")
334+assert(string.gsub("\u{30}\u{31}\u{61}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{78}","\u{25}\u{66}\u{5b}\u{25}\u{44}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{30}\u{31}\u{2e}\u{62}\u{63}\u{34}\u{35}\u{20}\u{64}\u{65}\u{33}\u{2e}")
335+assert(string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{1}\u{2d}\u{ff}\u{5d}\u{25}\u{77}","\u{2e}") == "\u{2e}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}")
336+assert(string.gsub("\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}","\u{25}\u{66}\u{5b}\u{5e}\u{1}\u{2d}\u{ff}\u{5d}","\u{2e}") == "\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{2e}")
337+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{5d}") == 0x1)
338+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{7a}\u{5d}") == 0x1)
339+assert(string.find("\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{5d}") == 0x2)
340+assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{61}\u{25}\u{7a}\u{5d}") == 0x3)
341+assert(string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{7a}\u{5d}") == 0x4)
342+assert(not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{25}\u{6c}\u{25}\u{7a}\u{5d}"))
343+assert(not string.find("\u{61}\u{62}\u{61}","\u{25}\u{66}\u{5b}\u{5e}\u{25}\u{6c}\u{25}\u{7a}\u{5d}"))
344344local i,e = string.find("\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6c}\u{6f}","\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{73}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}")
345−assert(((i == 0x2) and (e == 0x5)))
345+assert(i == 0x2 and e == 0x5)
346346local k = string.match("\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6c}\u{6f}","\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{28}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{73}\u{5d}\u{2e}\u{2d}\u{25}\u{66}\u{5b}\u{25}\u{53}\u{5d}\u{29}")
347−assert((k == "\u{61}\u{6c}\u{6f}\u{20}"))
347+assert(k == "\u{61}\u{6c}\u{6f}\u{20}")
348348local a = {0x1,0x5,0x9,0xe,0x11}
349349for k in string.gmatch("\u{61}\u{6c}\u{6f}\u{20}\u{61}\u{6c}\u{6f}\u{20}\u{74}\u{68}\u{30}\u{32}\u{20}\u{69}\u{73}\u{20}\u{31}\u{68}\u{61}\u{74}","\u{28}\u{29}\u{25}\u{66}\u{5b}\u{25}\u{77}\u{25}\u{64}\u{5d}")
350350do
351−assert((table.remove(a,0x1) == k))
351+assert(table.remove(a,0x1) == k)
352352end
353−assert((# (a == 0x0)))
353+assert(# a == 0x0)
354354local function malform
355355(p,m)
356−m=(m or "\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}")
356+m=m or "\u{6d}\u{61}\u{6c}\u{66}\u{6f}\u{72}\u{6d}\u{65}\u{64}"
357357local r,msg = pcall(string.find,"\u{61}",p)
358−assert((not (r and string.find(msg,m))))
358+assert(not r and string.find(msg,m))
359359end
360360malform("\u{28}\u{2e}","\u{75}\u{6e}\u{66}\u{69}\u{6e}\u{69}\u{73}\u{68}\u{65}\u{64}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}")
361361malform("\u{2e}\u{29}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{70}\u{61}\u{74}\u{74}\u{65}\u{72}\u{6e}\u{20}\u{63}\u{61}\u{70}\u{74}\u{75}\u{72}\u{65}")
@@ -368,37 +368,37 @@ malform("\u{25}\u{62}")
368368malform("\u{25}\u{62}\u{61}")
369369malform("\u{25}")
370370malform("\u{25}\u{66}","\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}")
371−assert((string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{2}\u{5d}\u{2b}") == "\u{0}\u{1}\u{2}"))
372−assert((string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{0}\u{5d}\u{2b}") == "\u{0}"))
373−assert((string.find("\u{62}\u{24}\u{61}","\u{24}\u{0}\u{3f}") == 0x2))
374−assert((string.find("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}","\u{25}\u{0}") == 0x4))
375−assert((string.match("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}\u{67}","\u{25}\u{62}\u{0}\u{1}") == "\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}"))
376−assert((string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{2b}") == "\u{0}\u{0}\u{0}"))
377−assert((string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{25}\u{0}\u{3f}") == "\u{0}\u{0}"))
378−assert((string.find("\u{61}\u{62}\u{63}\u{0}\u{0}","\u{0}\u{2e}") == 0x4))
379−assert((string.find("\u{61}\u{62}\u{63}\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{62}\u{63}","\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{2e}") == 0x4))
371+assert(string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{2}\u{5d}\u{2b}") == "\u{0}\u{1}\u{2}")
372+assert(string.match("\u{61}\u{62}\u{0}\u{1}\u{2}\u{63}","\u{5b}\u{0}\u{2d}\u{0}\u{5d}\u{2b}") == "\u{0}")
373+assert(string.find("\u{62}\u{24}\u{61}","\u{24}\u{0}\u{3f}") == 0x2)
374+assert(string.find("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}","\u{25}\u{0}") == 0x4)
375+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}\u{67}","\u{25}\u{62}\u{0}\u{1}") == "\u{0}\u{65}\u{66}\u{67}\u{0}\u{1}\u{65}\u{1}")
376+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{2b}") == "\u{0}\u{0}\u{0}")
377+assert(string.match("\u{61}\u{62}\u{63}\u{0}\u{0}\u{0}","\u{25}\u{0}\u{25}\u{0}\u{3f}") == "\u{0}\u{0}")
378+assert(string.find("\u{61}\u{62}\u{63}\u{0}\u{0}","\u{0}\u{2e}") == 0x4)
379+assert(string.find("\u{61}\u{62}\u{63}\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{62}\u{63}","\u{78}\u{0}\u{0}\u{61}\u{62}\u{63}\u{0}\u{61}\u{2e}") == 0x4)
380380do
381381local s = string.rep("\u{61}",0x64)
382382local r = string.gsub(s,"\u{62}","\u{63}")
383−assert((string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r)))
383+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
384384r=string.gsub(s,"\u{2e}",{["\u{78}"] = "\u{79}"})
385−assert((string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r)))
385+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
386386local count = 0x0
387387r=string.gsub(s,"\u{2e}",function (x)
388−assert((x == "\u{61}"))
389−count=(count + 0x1)
388+assert(x == "\u{61}")
389+count=count + 0x1
390390return nil
391391end)
392392r=string.gsub(r,"\u{2e}",{["\u{62}"] = "\u{78}"})
393−assert((count == 0x64))
394−assert((string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r)))
393+assert(count == 0x64)
394+assert(string.format("\u{25}\u{70}",s) == string.format("\u{25}\u{70}",r))
395395count=0x0
396396r=string.gsub(s,"\u{2e}",function (x)
397−assert((x == "\u{61}"))
398−count=(count + 0x1)
397+assert(x == "\u{61}")
398+count=count + 0x1
399399return x
400400end)
401−assert((count == 0x64))
402−assert(((r == s) and (string.format("\u{25}\u{70}",s) ~= string.format("\u{25}\u{70}",r))))
401+assert(count == 0x64)
402+assert(r == s and string.format("\u{25}\u{70}",s) ~= string.format("\u{25}\u{70}",r))
403403end
404404print("\u{4f}\u{4b}")
desk/res/lua/cycled/sort.lua+76−76
@@ -6,100 +6,100 @@ local minI = math.mininteger
66local function checkerror
77(msg,f, ...)
88local s,err = pcall(f,...)
9−assert((not (s and string.find(err,msg))))
9+assert(not s and string.find(err,msg))
1010end
1111checkerror("\u{77}\u{72}\u{6f}\u{6e}\u{67}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{6f}\u{66}\u{20}\u{61}\u{72}\u{67}\u{75}\u{6d}\u{65}\u{6e}\u{74}\u{73}",table.insert,{},0x2,0x3,0x4)
1212local x,y,z,a,n
1313a={}
1414;
15−local lim = ((_soft and 0xc8) or 0x7d0)
15+local lim = _soft and 0xc8 or 0x7d0
1616for i = 0x1, lim
1717do
1818a[i]=i
1919end
20−assert(((select(lim,unpack(a)) == lim) and (select("\u{23}",unpack(a)) == lim)))
20+assert(select(lim,unpack(a)) == lim and select("\u{23}",unpack(a)) == lim)
2121x=unpack(a)
22−assert((x == 0x1))
22+assert(x == 0x1)
2323x={unpack(a)}
24−assert((# (((x == lim) and (x[0x1] == 0x1)) and (x[lim] == lim))))
25−x={unpack(a,(lim - 0x2))}
26−assert((# (((x == 0x3) and (x[0x1] == (lim - 0x2))) and (x[0x3] == lim))))
24+assert(# x == lim and x[0x1] == 0x1 and x[lim] == lim)
25+x={unpack(a,lim - 0x2)}
26+assert(# x == 0x3 and x[0x1] == lim - 0x2 and x[0x3] == lim)
2727x={unpack(a,0xa,0x6)}
28−assert((next(x) == nil))
28+assert(next(x) == nil)
2929x={unpack(a,0xb,0xa)}
30−assert((next(x) == nil))
30+assert(next(x) == nil)
3131x,y=unpack(a,0xa,0xa)
32−assert(((x == 0xa) and (y == nil)))
32+assert(x == 0xa and y == nil)
3333x,y,z=unpack(a,0xa,0xb)
34−assert((((x == 0xa) and (y == 0xb)) and (z == nil)))
34+assert(x == 0xa and y == 0xb and z == nil)
3535a,x=unpack({0x1})
36−assert(((a == 0x1) and (x == nil)))
36+assert(a == 0x1 and x == nil)
3737a,x=unpack({0x1,0x2},0x1,0x1)
38−assert(((a == 0x1) and (x == nil)))
38+assert(a == 0x1 and x == nil)
3939do
40−local maxi = ((0x1 << 0x1f) - 0x1)
41−local mini = (- (0x1 << 0x1f))
40+local maxi = (0x1 << 0x1f) - 0x1
41+local mini = - (0x1 << 0x1f)
4242checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0x0,maxi)
4343checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0x1,maxi)
4444checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0x0,maxI)
4545checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},0x1,maxI)
4646checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},mini,maxi)
47−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},(- maxi),maxi)
47+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},- maxi,maxi)
4848checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}\u{20}\u{72}\u{65}\u{73}\u{75}\u{6c}\u{74}\u{73}",unpack,{},minI,maxI)
4949unpack({},maxi,0x0)
5050unpack({},maxi,0x1)
5151unpack({},maxI,minI)
52−pcall(unpack,{},0x1,(maxi + 0x1))
52+pcall(unpack,{},0x1,maxi + 0x1)
5353local a,b = unpack({[maxi] = 0x14},maxi,maxi)
54−assert(((a == 0x14) and (b == nil)))
55−a,b=unpack({[maxi] = 0x14},(maxi - 0x1),maxi)
56−assert(((a == nil) and (b == 0x14)))
57−local t = {[(maxI - 0x1)] = 0xc,[maxI] = 0x17}
58−a,b=unpack(t,(maxI - 0x1),maxI)
54+assert(a == 0x14 and b == nil)
55+a,b=unpack({[maxi] = 0x14},maxi - 0x1,maxi)
56+assert(a == nil and b == 0x14)
57+local t = {[maxI - 0x1] = 0xc,[maxI] = 0x17}
58+a,b=unpack(t,maxI - 0x1,maxI)
5959;
60−assert(((a == 0xc) and (b == 0x17)))
60+assert(a == 0xc and b == 0x17)
6161a,b=unpack(t,maxI,maxI)
6262;
63−assert(((a == 0x17) and (b == nil)))
64−a,b=unpack(t,maxI,(maxI - 0x1))
63+assert(a == 0x17 and b == nil)
64+a,b=unpack(t,maxI,maxI - 0x1)
6565;
66−assert(((a == nil) and (b == nil)))
67−t={[minI] = 12.3,[(minI + 0x1)] = 23.5}
68−a,b=unpack(t,minI,(minI + 0x1))
66+assert(a == nil and b == nil)
67+t={[minI] = 12.3,[minI + 0x1] = 23.5}
68+a,b=unpack(t,minI,minI + 0x1)
6969;
70−assert(((a == 12.3) and (b == 23.5)))
70+assert(a == 12.3 and b == 23.5)
7171a,b=unpack(t,minI,minI)
7272;
73−assert(((a == 12.3) and (b == nil)))
74−a,b=unpack(t,(minI + 0x1),minI)
73+assert(a == 12.3 and b == nil)
74+a,b=unpack(t,minI + 0x1,minI)
7575;
76−assert(((a == nil) and (b == nil)))
76+assert(a == nil and b == nil)
7777end
7878do
7979local t = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
8080return "\u{61}\u{62}\u{63}"
8181end})
82−assert((# (t == "\u{61}\u{62}\u{63}")))
82+assert(# t == "\u{61}\u{62}\u{63}")
8383checkerror("\u{6f}\u{62}\u{6a}\u{65}\u{63}\u{74}\u{20}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{6e}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",table.insert,t,0x1)
8484end
8585print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}")
8686a=table.pack()
87−assert(((a[0x1] == undef) and (a.n == 0x0)))
87+assert(a[0x1] == undef and a.n == 0x0)
8888a=table.pack(table)
89−assert(((a[0x1] == table) and (a.n == 0x1)))
89+assert(a[0x1] == table and a.n == 0x1)
9090a=table.pack(nil,nil,nil,nil)
91−assert(((a[0x1] == nil) and (a.n == 0x4)))
91+assert(a[0x1] == nil and a.n == 0x4)
9292do
9393checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.move,0x1,0x2,0x3,0x4)
9494local function eqT
9595(a,b)
9696for k,v in pairs(a)
9797do
98−assert((b[k] == v))
98+assert(b[k] == v)
9999end
100100for k,v in pairs(b)
101101do
102−assert((a[k] == v))
102+assert(a[k] == v)
103103end
104104end
105105local a = table.move({0xa,0x14,0x1e},0x1,0x3,0x2)
@@ -112,17 +112,17 @@ eqT(a,{0xa,0xa,0x14,0x1e,0x28})
112112a=table.move({0xa,0x14,0x1e},0x2,0x3,0x1)
113113eqT(a,{0x14,0x1e,0x1e})
114114a={}
115−assert((table.move({0xa,0x14,0x1e},0x1,0x3,0x1,a) == a))
115+assert(table.move({0xa,0x14,0x1e},0x1,0x3,0x1,a) == a)
116116eqT(a,{0xa,0x14,0x1e})
117117a={}
118−assert((table.move({0xa,0x14,0x1e},0x1,0x0,0x3,a) == a))
118+assert(table.move({0xa,0x14,0x1e},0x1,0x0,0x3,a) == a)
119119eqT(a,{})
120120a=table.move({0xa,0x14,0x1e},0x1,0xa,0x1)
121121eqT(a,{0xa,0x14,0x1e})
122−a=table.move({[(maxI - 0x2)] = 0x1,[(maxI - 0x1)] = 0x2,[maxI] = 0x3},(maxI - 0x2),maxI,(- 0xa),{})
123−eqT(a,{[(- 0xa)] = 0x1,[(- 0x9)] = 0x2,[(- 0x8)] = 0x3})
124−a=table.move({[minI] = 0x1,[(minI + 0x1)] = 0x2,[(minI + 0x2)] = 0x3},minI,(minI + 0x2),(- 0xa),{})
125−eqT(a,{[(- 0xa)] = 0x1,[(- 0x9)] = 0x2,[(- 0x8)] = 0x3})
122+a=table.move({[maxI - 0x2] = 0x1,[maxI - 0x1] = 0x2,[maxI] = 0x3},maxI - 0x2,maxI,- 0xa,{})
123+eqT(a,{[- 0xa] = 0x1,[- 0x9] = 0x2,[- 0x8] = 0x3})
124+a=table.move({[minI] = 0x1,[minI + 0x1] = 0x2,[minI + 0x2] = 0x3},minI,minI + 0x2,- 0xa,{})
125+eqT(a,{[- 0xa] = 0x1,[- 0x9] = 0x2,[- 0x8] = 0x3})
126126a=table.move({0x2d},0x1,0x1,maxI)
127127eqT(a,{0x2d,[maxI] = 0x2d})
128128a=table.move({[maxI] = 0x64},maxI,maxI,minI)
@@ -130,7 +130,7 @@ eqT(a,{[minI] = 0x64,[maxI] = 0x64})
130130a=table.move({[minI] = 0x64},minI,minI,maxI)
131131eqT(a,{[minI] = 0x64,[maxI] = 0x64})
132132a=setmetatable({},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = function (_,k)
133−return (k * 0xa)
133+return k * 0xa
134134end,["\u{5f}\u{5f}\u{6e}\u{65}\u{77}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error})
135135local b = table.move(a,0x1,0xa,0x3,{})
136136eqT(a,{})
@@ -139,9 +139,9 @@ b=setmetatable({""},{["\u{5f}\u{5f}\u{69}\u{6e}\u{64}\u{65}\u{78}"] = error,["\u
139139t[0x1]=string.format("\u{25}\u{73}\u{28}\u{25}\u{64}\u{2c}\u{25}\u{64}\u{29}",t[0x1],k,v)
140140end})
141141table.move(a,0xa,0xd,0x3,b)
142−assert((b[0x1] == "\u{28}\u{33}\u{2c}\u{31}\u{30}\u{30}\u{29}\u{28}\u{34}\u{2c}\u{31}\u{31}\u{30}\u{29}\u{28}\u{35}\u{2c}\u{31}\u{32}\u{30}\u{29}\u{28}\u{36}\u{2c}\u{31}\u{33}\u{30}\u{29}"))
142+assert(b[0x1] == "\u{28}\u{33}\u{2c}\u{31}\u{30}\u{30}\u{29}\u{28}\u{34}\u{2c}\u{31}\u{31}\u{30}\u{29}\u{28}\u{35}\u{2c}\u{31}\u{32}\u{30}\u{29}\u{28}\u{36}\u{2c}\u{31}\u{33}\u{30}\u{29}")
143143local stat,msg = pcall(table.move,b,0xa,0xd,0x3,b)
144−assert((not (stat and (msg == b))))
144+assert(not stat and msg == b)
145145end
146146do
147147local function checkmove
@@ -155,27 +155,27 @@ pos2=k
155155error()
156156end})
157157local st,msg = pcall(table.move,a,f,e,t)
158−assert((not (st and (not ((msg and (pos1 == x)) and (pos2 == y))))))
158+assert(not st and not msg and pos1 == x and pos2 == y)
159159end
160160checkmove(0x1,maxI,0x0,0x1,0x0)
161−checkmove(0x0,(maxI - 0x1),0x1,(maxI - 0x1),maxI)
162−checkmove(minI,(- 0x2),(- 0x5),(- 0x2),(maxI - 0x6))
163−checkmove((minI + 0x1),(- 0x1),(- 0x2),(- 0x1),(maxI - 0x3))
164−checkmove(minI,(- 0x2),0x0,minI,0x0)
165−checkmove((minI + 0x1),(- 0x1),0x1,(minI + 0x1),0x1)
161+checkmove(0x0,maxI - 0x1,0x1,maxI - 0x1,maxI)
162+checkmove(minI,- 0x2,- 0x5,- 0x2,maxI - 0x6)
163+checkmove(minI + 0x1,- 0x1,- 0x2,- 0x1,maxI - 0x3)
164+checkmove(minI,- 0x2,0x0,minI,0x0)
165+checkmove(minI + 0x1,- 0x1,0x1,minI + 0x1,0x1)
166166end
167167checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},0x0,maxI,0x1)
168−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},(- 0x1),(maxI - 0x1),0x1)
169−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,(- 0x1),0x1)
168+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},- 0x1,maxI - 0x1,0x1)
169+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,- 0x1,0x1)
170170checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6d}\u{61}\u{6e}\u{79}",table.move,{},minI,maxI,0x1)
171171checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,maxI,0x2)
172172checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},0x1,0x2,maxI)
173−checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},minI,(- 0x2),0x2)
173+checkerror("\u{77}\u{72}\u{61}\u{70}\u{20}\u{61}\u{72}\u{6f}\u{75}\u{6e}\u{64}",table.move,{},minI,- 0x2,0x2)
174174print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{6f}\u{72}\u{74}")
175175local a = setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
176−return (- 0x1)
176+return - 0x1
177177end})
178−assert((# (a == (- 0x1))))
178+assert(# a == - 0x1)
179179table.sort(a,error)
180180a=setmetatable({},{["\u{5f}\u{5f}\u{6c}\u{65}\u{6e}"] = function ()
181181return maxI
@@ -185,7 +185,7 @@ local function check
185185(t)
186186local function f
187187(a,b)
188−assert((a and b))
188+assert(a and b)
189189;
190190return true
191191end
@@ -195,13 +195,13 @@ check({0x1,0x2,0x3,0x4})
195195check({0x1,0x2,0x3,0x4,0x5})
196196check({0x1,0x2,0x3,0x4,0x5,0x6})
197197function check(a,f)
198−f=(f or function (x,y)
199−return (x < y)
200−end)
198+f=f or function (x,y)
199+return x < y
200+end
201201;
202−for n = (# a), 0x2, (- 0x1)
202+for n = # a, 0x2, - 0x1
203203do
204−assert((not f(a[n],a[(n - 0x1)])))
204+assert(not f(a[n],a[n - 0x1]))
205205end
206206end
207207a={"\u{4a}\u{61}\u{6e}","\u{46}\u{65}\u{62}","\u{4d}\u{61}\u{72}","\u{41}\u{70}\u{72}","\u{4d}\u{61}\u{79}","\u{4a}\u{75}\u{6e}","\u{4a}\u{75}\u{6c}","\u{41}\u{75}\u{67}","\u{53}\u{65}\u{70}","\u{4f}\u{63}\u{74}","\u{4e}\u{6f}\u{76}","\u{44}\u{65}\u{63}"}
@@ -209,8 +209,8 @@ table.sort(a)
209209check(a)
210210local function perm
211211(s,n)
212−n=(n or (# s))
213−if (n == 0x1) then
212+n=n or # s
213+if n == 0x1 then
214214local t = {unpack(s)}
215215table.sort(t)
216216check(t)
@@ -218,7 +218,7 @@ else
218218for i = 0x1, n
219219do
220220s[i],s[n]=s[n],s[i]
221−perm(s,(n - 0x1))
221+perm(s,n - 0x1)
222222s[i],s[n]=s[n],s[i]
223223end
224224end
@@ -237,8 +237,8 @@ local function timesort
237237(a,n,func,msg,pre)
238238local x = os.clock()
239239table.sort(a,func)
240−x=((os.clock() - x) * 0x3e8)
241−pre=(pre or "")
240+x=(os.clock() - x) * 0x3e8
241+pre=pre or ""
242242print(string.format("\u{25}\u{73}\u{73}\u{6f}\u{72}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{20}\u{25}\u{73}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{20}\u{6d}\u{73}\u{65}\u{63}\u{2e}",pre,n,msg,x))
243243check(a,func)
244244end
@@ -262,14 +262,14 @@ local x = os.clock()
262262;
263263local i = 0x0
264264table.sort(a,function (x,y)
265−i=(i + 0x1)
265+i=i + 0x1
266266;
267−return (y < x)
267+return y < x
268268end)
269−x=((os.clock() - x) * 0x3e8)
269+x=(os.clock() - x) * 0x3e8
270270print(string.format("\u{49}\u{6e}\u{76}\u{65}\u{72}\u{74}\u{2d}\u{73}\u{6f}\u{72}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6f}\u{74}\u{68}\u{65}\u{72}\u{20}\u{25}\u{64}\u{20}\u{65}\u{6c}\u{65}\u{6d}\u{65}\u{6e}\u{74}\u{73}\u{20}\u{69}\u{6e}\u{20}\u{25}\u{2e}\u{32}\u{66}\u{20}\u{6d}\u{73}\u{65}\u{63}\u{2e}\u{2c}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{25}\u{69}\u{20}\u{63}\u{6f}\u{6d}\u{70}\u{61}\u{72}\u{69}\u{73}\u{6f}\u{6e}\u{73}",limit,x,i))
271271check(a,function (x,y)
272−return (y < x)
272+return y < x
273273end)
274274table.sort({})
275275for i = 0x1, limit
@@ -281,7 +281,7 @@ return nil
281281end,"\u{65}\u{71}\u{75}\u{61}\u{6c}")
282282for i,v in pairs(a)
283283do
284−assert((v == false))
284+assert(v == false)
285285end
286286AA={"\u{e1}\u{6c}\u{6f}","\u{0}\u{66}\u{69}\u{72}\u{73}\u{74}\u{20}\u{3a}\u{2d}\u{29}","\u{61}\u{6c}\u{6f}","\u{74}\u{68}\u{65}\u{6e}\u{20}\u{74}\u{68}\u{69}\u{73}\u{20}\u{6f}\u{6e}\u{65}","\u{34}\u{35}","\u{61}\u{6e}\u{64}\u{20}\u{61}\u{20}\u{6e}\u{65}\u{77}"}
287287table.sort(AA)
@@ -289,11 +289,11 @@ check(AA)
289289table.sort(AA,function (x,y)
290290load(string.format("\u{41}\u{41}\u{5b}\u{25}\u{71}\u{5d}\u{20}\u{3d}\u{20}\u{27}\u{27}",x),"")()
291291collectgarbage()
292−return (x < y)
292+return x < y
293293end)
294294_G.AA=nil
295295local tt = {["\u{5f}\u{5f}\u{6c}\u{74}"] = function (a,b)
296−return (a.val < b.val)
296+return a.val < b.val
297297end}
298298a={}
299299for i = 0x1, 0xa
desk/res/lua/cycled/strings.lua+265−265
@@ -4,187 +4,187 @@ local mini <const> = math.mininteger
44local function checkerror
55(msg,f, ...)
66local s,err = pcall(f,...)
7−assert((not (s and string.find(err,msg))))
8−end
9−assert(("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{31}"))
10−assert(("" < "\u{61}"))
11−assert(("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}\u{62}"))
12−assert(("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{0}" > "\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}"))
13−assert(("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}"))
14−assert(("\u{61}\u{6c}\u{6f}\u{0}" > "\u{61}\u{6c}\u{6f}"))
15−assert(("\u{0}" < "\u{1}"))
16−assert(("\u{0}\u{0}" < "\u{0}\u{1}"))
17−assert(("\u{1}\u{0}\u{61}\u{0}\u{61}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}"))
18−assert((not ("\u{1}\u{0}\u{61}\u{0}\u{62}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}")))
19−assert(("\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}\u{0}"))
20−assert((not ("\u{0}\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}")))
21−assert(("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}\u{0}"))
22−assert((not ("\u{0}\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}")))
23−assert(("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}"))
24−assert(("\u{0}\u{0}\u{0}" >= "\u{0}\u{0}\u{0}"))
25−assert((not ("\u{0}\u{0}\u{62}" < "\u{0}\u{0}\u{61}\u{0}")))
26−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x2,0x4) == "\u{32}\u{33}\u{34}"))
27−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7) == "\u{37}\u{38}\u{39}"))
28−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x6) == ""))
29−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x7) == "\u{37}"))
30−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x0,0x0) == ""))
31−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0xa),0xa) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
32−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x1,0x9) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
33−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0xa),(- 0x14)) == ""))
34−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0x1)) == "\u{39}"))
35−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0x4)) == "\u{36}\u{37}\u{38}\u{39}"))
36−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",(- 0x6),(- 0x4)) == "\u{34}\u{35}\u{36}"))
37−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,(- 0x4)) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}"))
38−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,maxi) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"))
39−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,mini) == ""))
40−assert((string.sub("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x3,0x5) == "\u{32}\u{33}\u{34}"))
41−assert((("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"):sub(0x8) == "\u{37}\u{38}\u{39}"))
42−assert((string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}") == 0x3))
7+assert(not s and string.find(err,msg))
8+end
9+assert("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{31}")
10+assert("" < "\u{61}")
11+assert("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}\u{62}")
12+assert("\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{0}" > "\u{61}\u{6c}\u{6f}\u{0}\u{61}\u{6c}\u{6f}\u{0}")
13+assert("\u{61}\u{6c}\u{6f}" < "\u{61}\u{6c}\u{6f}\u{0}")
14+assert("\u{61}\u{6c}\u{6f}\u{0}" > "\u{61}\u{6c}\u{6f}")
15+assert("\u{0}" < "\u{1}")
16+assert("\u{0}\u{0}" < "\u{0}\u{1}")
17+assert("\u{1}\u{0}\u{61}\u{0}\u{61}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}")
18+assert(not ("\u{1}\u{0}\u{61}\u{0}\u{62}" <= "\u{1}\u{0}\u{61}\u{0}\u{61}"))
19+assert("\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}\u{0}")
20+assert(not ("\u{0}\u{0}\u{0}\u{0}" < "\u{0}\u{0}\u{0}"))
21+assert("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}\u{0}")
22+assert(not ("\u{0}\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}"))
23+assert("\u{0}\u{0}\u{0}" <= "\u{0}\u{0}\u{0}")
24+assert("\u{0}\u{0}\u{0}" >= "\u{0}\u{0}\u{0}")
25+assert(not ("\u{0}\u{0}\u{62}" < "\u{0}\u{0}\u{61}\u{0}"))
26+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x2,0x4) == "\u{32}\u{33}\u{34}")
27+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7) == "\u{37}\u{38}\u{39}")
28+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x6) == "")
29+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x7,0x7) == "\u{37}")
30+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x0,0x0) == "")
31+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0xa,0xa) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
32+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x1,0x9) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
33+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0xa,- 0x14) == "")
34+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0x1) == "\u{39}")
35+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0x4) == "\u{36}\u{37}\u{38}\u{39}")
36+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",- 0x6,- 0x4) == "\u{34}\u{35}\u{36}")
37+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,- 0x4) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}")
38+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,maxi) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}")
39+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",mini,mini) == "")
40+assert(string.sub("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",0x3,0x5) == "\u{32}\u{33}\u{34}")
41+assert(("\u{0}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}"):sub(0x8) == "\u{37}\u{38}\u{39}")
42+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}") == 0x3)
4343local a,b = string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}")
44−assert((string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",a,b) == "\u{33}\u{34}\u{35}"))
45−assert((string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",0x3) == 0x3))
46−assert((string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",0x4) == 0xd))
47−assert((not string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{36}",0x4)))
48−assert((string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{2e}\u{34}\u{35}",(- 0x9)) == 0xd))
49−assert((not string.find("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}","\u{0}",0x5,0x1)))
50−assert((string.find("","") == 0x1))
51−assert((string.find("","",0x1) == 0x1))
52−assert((not string.find("","",0x2)))
53−assert((not string.find("","\u{61}\u{61}\u{61}",0x1)))
54−assert((("\u{61}\u{6c}\u{6f}\u{28}\u{2e}\u{29}\u{61}\u{6c}\u{6f}"):find("\u{28}\u{2e}\u{29}",0x1,0x1) == 0x4))
55−assert((string.len("") == 0x0))
56−assert((string.len("\u{0}\u{0}\u{0}") == 0x3))
57−assert((string.len("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") == 0xa))
58−assert((# ("" == 0x0)))
59−assert((# ("\u{0}\u{0}\u{0}" == 0x3)))
60−assert((# ("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}" == 0xa)))
61−assert((string.byte("\u{61}") == 0x61))
62−assert((string.byte("\u{e4}") > 0x7f))
63−assert((string.byte(string.char(0xff)) == 0xff))
64−assert((string.byte(string.char(0x0)) == 0x0))
65−assert((string.byte("\u{0}") == 0x0))
66−assert((string.byte("\u{0}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{78}",(- 0x1)) == string.byte("\u{78}")))
67−assert((string.byte("\u{62}\u{61}",0x2) == 0x61))
68−assert((string.byte("\u{a}\u{a}",0x2,(- 0x1)) == 0xa))
69−assert((string.byte("\u{a}\u{a}",0x2,0x2) == 0xa))
70−assert((string.byte("") == nil))
71−assert((string.byte("\u{68}\u{69}",(- 0x3)) == nil))
72−assert((string.byte("\u{68}\u{69}",0x3) == nil))
73−assert((string.byte("\u{68}\u{69}",0x9,0xa) == nil))
74−assert((string.byte("\u{68}\u{69}",0x2,0x1) == nil))
75−assert((string.char() == ""))
76−assert((string.char(0x0,0xff,0x0) == "\u{0}\u{ff}\u{0}"))
77−assert((string.char(0x0,string.byte("\u{e4}"),0x0) == "\u{0}\u{e4}\u{0}"))
78−assert((string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,(- 0x1))) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}"))
79−assert((string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,0x0)) == ""))
80−assert((string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",(- 0xa),0x64)) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}"))
44+assert(string.sub("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}",a,b) == "\u{33}\u{34}\u{35}")
45+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",0x3) == 0x3)
46+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{35}",0x4) == 0xd)
47+assert(not string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{33}\u{34}\u{36}",0x4))
48+assert(string.find("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}","\u{2e}\u{34}\u{35}",- 0x9) == 0xd)
49+assert(not string.find("\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}","\u{0}",0x5,0x1))
50+assert(string.find("","") == 0x1)
51+assert(string.find("","",0x1) == 0x1)
52+assert(not string.find("","",0x2))
53+assert(not string.find("","\u{61}\u{61}\u{61}",0x1))
54+assert(("\u{61}\u{6c}\u{6f}\u{28}\u{2e}\u{29}\u{61}\u{6c}\u{6f}"):find("\u{28}\u{2e}\u{29}",0x1,0x1) == 0x4)
55+assert(string.len("") == 0x0)
56+assert(string.len("\u{0}\u{0}\u{0}") == 0x3)
57+assert(string.len("\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}") == 0xa)
58+assert(# "" == 0x0)
59+assert(# "\u{0}\u{0}\u{0}" == 0x3)
60+assert(# "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}" == 0xa)
61+assert(string.byte("\u{61}") == 0x61)
62+assert(string.byte("\u{e4}") > 0x7f)
63+assert(string.byte(string.char(0xff)) == 0xff)
64+assert(string.byte(string.char(0x0)) == 0x0)
65+assert(string.byte("\u{0}") == 0x0)
66+assert(string.byte("\u{0}\u{0}\u{61}\u{6c}\u{6f}\u{0}\u{78}",- 0x1) == string.byte("\u{78}"))
67+assert(string.byte("\u{62}\u{61}",0x2) == 0x61)
68+assert(string.byte("\u{a}\u{a}",0x2,- 0x1) == 0xa)
69+assert(string.byte("\u{a}\u{a}",0x2,0x2) == 0xa)
70+assert(string.byte("") == nil)
71+assert(string.byte("\u{68}\u{69}",- 0x3) == nil)
72+assert(string.byte("\u{68}\u{69}",0x3) == nil)
73+assert(string.byte("\u{68}\u{69}",0x9,0xa) == nil)
74+assert(string.byte("\u{68}\u{69}",0x2,0x1) == nil)
75+assert(string.char() == "")
76+assert(string.char(0x0,0xff,0x0) == "\u{0}\u{ff}\u{0}")
77+assert(string.char(0x0,string.byte("\u{e4}"),0x0) == "\u{0}\u{e4}\u{0}")
78+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,- 0x1)) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}")
79+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",0x1,0x0)) == "")
80+assert(string.char(string.byte("\u{e4}\u{6c}\u{0}\u{f3}\u{75}",- 0xa,0x64)) == "\u{e4}\u{6c}\u{0}\u{f3}\u{75}")
8181checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,0x100)
82−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,(- 0x1))
82+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,- 0x1)
8383checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,math.maxinteger)
8484checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",string.char,math.mininteger)
85−assert((string.upper("\u{61}\u{62}\u{0}\u{63}") == "\u{41}\u{42}\u{0}\u{43}"))
86−assert((string.lower("\u{0}\u{41}\u{42}\u{43}\u{63}\u{25}\u{24}") == "\u{0}\u{61}\u{62}\u{63}\u{63}\u{25}\u{24}"))
87−assert((string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0) == ""))
88−assert((string.rep("\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}",0x2) == "\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}"))
89−assert((string.rep("",0xa) == ""))
90−if (string.packsize("\u{69}") == 0x4) then
85+assert(string.upper("\u{61}\u{62}\u{0}\u{63}") == "\u{41}\u{42}\u{0}\u{43}")
86+assert(string.lower("\u{0}\u{41}\u{42}\u{43}\u{63}\u{25}\u{24}") == "\u{0}\u{61}\u{62}\u{63}\u{63}\u{25}\u{24}")
87+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0) == "")
88+assert(string.rep("\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}",0x2) == "\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}\u{74}\u{e9}\u{73}\u{0}\u{74}\u{ea}")
89+assert(string.rep("",0xa) == "")
90+if string.packsize("\u{69}") == 0x4 then
9191checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}\u{61}",(0x1 << 0x1e))
9292checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",string.rep,"\u{61}",(0x1 << 0x1e),"\u{2c}")
9393end
94−assert((string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0,"\u{78}\u{75}\u{78}\u{75}") == ""))
95−assert((string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{74}\u{65}\u{73}\u{74}\u{65}"))
96−assert((string.rep("\u{1}\u{0}\u{1}",0x2,"\u{0}\u{0}") == "\u{1}\u{0}\u{1}\u{0}\u{0}\u{1}\u{0}\u{1}"))
97−assert((string.rep("",0xa,"\u{2e}") == string.rep("\u{2e}",0x9)))
98−assert((not pcall(string.rep,"\u{61}\u{61}",((maxi // 0x2) + 0xa))))
99−assert((not pcall(string.rep,"",((maxi // 0x2) + 0xa),"\u{61}\u{61}")))
100−assert((string.reverse("") == ""))
101−assert((string.reverse("\u{0}\u{1}\u{2}\u{3}") == "\u{3}\u{2}\u{1}\u{0}"))
102−assert((string.reverse("\u{0}\u{31}\u{32}\u{33}\u{34}") == "\u{34}\u{33}\u{32}\u{31}\u{0}"))
94+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x0,"\u{78}\u{75}\u{78}\u{75}") == "")
95+assert(string.rep("\u{74}\u{65}\u{73}\u{74}\u{65}",0x1,"\u{78}\u{75}\u{78}\u{75}") == "\u{74}\u{65}\u{73}\u{74}\u{65}")
96+assert(string.rep("\u{1}\u{0}\u{1}",0x2,"\u{0}\u{0}") == "\u{1}\u{0}\u{1}\u{0}\u{0}\u{1}\u{0}\u{1}")
97+assert(string.rep("",0xa,"\u{2e}") == string.rep("\u{2e}",0x9))
98+assert(not pcall(string.rep,"\u{61}\u{61}",maxi // 0x2 + 0xa))
99+assert(not pcall(string.rep,"",maxi // 0x2 + 0xa,"\u{61}\u{61}"))
100+assert(string.reverse("") == "")
101+assert(string.reverse("\u{0}\u{1}\u{2}\u{3}") == "\u{3}\u{2}\u{1}\u{0}")
102+assert(string.reverse("\u{0}\u{31}\u{32}\u{33}\u{34}") == "\u{34}\u{33}\u{32}\u{31}\u{0}")
103103for i = 0x0, 0x1e
104104do
105−assert((string.len(string.rep("\u{61}",i)) == i))
105+assert(string.len(string.rep("\u{61}",i)) == i)
106106end
107−assert((type(tostring(nil)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
108−assert((type(tostring(0xc)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"))
107+assert(type(tostring(nil)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
108+assert(type(tostring(0xc)) == "\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}")
109109assert(string.find(tostring({}),"\u{74}\u{61}\u{62}\u{6c}\u{65}\u{3a}"))
110110assert(string.find(tostring(print),"\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{3a}"))
111−assert((# (tostring("\u{0}") == 0x1)))
112−assert((tostring(true) == "\u{74}\u{72}\u{75}\u{65}"))
113−assert((tostring(false) == "\u{66}\u{61}\u{6c}\u{73}\u{65}"))
114−assert((tostring((- 0x4b3)) == "\u{2d}\u{31}\u{32}\u{30}\u{33}"))
115−assert((tostring(1203.125) == "\u{31}\u{32}\u{30}\u{33}\u{2e}\u{31}\u{32}\u{35}"))
116−assert((tostring((- 0.5)) == "\u{2d}\u{30}\u{2e}\u{35}"))
117−assert((tostring((- 0x7fff)) == "\u{2d}\u{33}\u{32}\u{37}\u{36}\u{37}"))
111+assert(# tostring("\u{0}") == 0x1)
112+assert(tostring(true) == "\u{74}\u{72}\u{75}\u{65}")
113+assert(tostring(false) == "\u{66}\u{61}\u{6c}\u{73}\u{65}")
114+assert(tostring(- 0x4b3) == "\u{2d}\u{31}\u{32}\u{30}\u{33}")
115+assert(tostring(1203.125) == "\u{31}\u{32}\u{30}\u{33}\u{2e}\u{31}\u{32}\u{35}")
116+assert(tostring(- 0.5) == "\u{2d}\u{30}\u{2e}\u{35}")
117+assert(tostring(- 0x7fff) == "\u{2d}\u{33}\u{32}\u{37}\u{36}\u{37}")
118118if math.tointeger(0x7fffffff) then
119−assert((tostring((- 0x7fffffff)) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}"))
119+assert(tostring(- 0x7fffffff) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}")
120120end
121121if math.tointeger(0x4000000000000000) then
122−assert((tostring(0x4000000000000000) == "\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}"))
123−assert((tostring((- 0x4000000000000000)) == "\u{2d}\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}"))
122+assert(tostring(0x4000000000000000) == "\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}")
123+assert(tostring(- 0x4000000000000000) == "\u{2d}\u{34}\u{36}\u{31}\u{31}\u{36}\u{38}\u{36}\u{30}\u{31}\u{38}\u{34}\u{32}\u{37}\u{33}\u{38}\u{37}\u{39}\u{30}\u{34}")
124124end
125−if (tostring(0.0) == "\u{30}\u{2e}\u{30}") then
126−assert(((("" .. 0xc) == "\u{31}\u{32}") and ((12.0 .. "") == "\u{31}\u{32}\u{2e}\u{30}")))
127−assert((tostring((- (0x4b3 + 0.0))) == "\u{2d}\u{31}\u{32}\u{30}\u{33}\u{2e}\u{30}"))
125+if tostring(0.0) == "\u{30}\u{2e}\u{30}" then
126+assert("" .. 0xc == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}\u{2e}\u{30}")
127+assert(tostring(- 0x4b3 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}\u{2e}\u{30}")
128128else
129−assert((tostring(0.0) == "\u{30}"))
130−assert(((("" .. 0xc) == "\u{31}\u{32}") and ((12.0 .. "") == "\u{31}\u{32}")))
131−assert((tostring((- (0x4b3 + 0.0))) == "\u{2d}\u{31}\u{32}\u{30}\u{33}"))
129+assert(tostring(0.0) == "\u{30}")
130+assert("" .. 0xc == "\u{31}\u{32}" and 12.0 .. "" == "\u{31}\u{32}")
131+assert(tostring(- 0x4b3 + 0.0) == "\u{2d}\u{31}\u{32}\u{30}\u{33}")
132132end
133133do
134134local null = "\u{28}\u{6e}\u{75}\u{6c}\u{6c}\u{29}"
135−assert((string.format("\u{25}\u{70}",0x4) == null))
136−assert((string.format("\u{25}\u{70}",true) == null))
137−assert((string.format("\u{25}\u{70}",nil) == null))
138−assert((string.format("\u{25}\u{70}",{}) ~= null))
139−assert((string.format("\u{25}\u{70}",print) ~= null))
140−assert((string.format("\u{25}\u{70}",coroutine.running()) ~= null))
141−assert((string.format("\u{25}\u{70}",io.stdin) ~= null))
142−assert((string.format("\u{25}\u{70}",io.stdin) == string.format("\u{25}\u{70}",io.stdin)))
143−assert((string.format("\u{25}\u{70}",print) == string.format("\u{25}\u{70}",print)))
144−assert((string.format("\u{25}\u{70}",print) ~= string.format("\u{25}\u{70}",assert)))
145−assert((# (string.format("\u{25}\u{39}\u{30}\u{70}",{}) == 0x5a)))
146−assert((# (string.format("\u{25}\u{2d}\u{36}\u{30}\u{70}",{}) == 0x3c)))
147−assert((string.format("\u{25}\u{31}\u{30}\u{70}",false) == (string.rep("\u{20}",(0xa - (# null))) .. null)))
148−assert((string.format("\u{25}\u{2d}\u{31}\u{32}\u{70}",1.5) == (null .. string.rep("\u{20}",(0xc - (# null))))))
135+assert(string.format("\u{25}\u{70}",0x4) == null)
136+assert(string.format("\u{25}\u{70}",true) == null)
137+assert(string.format("\u{25}\u{70}",nil) == null)
138+assert(string.format("\u{25}\u{70}",{}) ~= null)
139+assert(string.format("\u{25}\u{70}",print) ~= null)
140+assert(string.format("\u{25}\u{70}",coroutine.running()) ~= null)
141+assert(string.format("\u{25}\u{70}",io.stdin) ~= null)
142+assert(string.format("\u{25}\u{70}",io.stdin) == string.format("\u{25}\u{70}",io.stdin))
143+assert(string.format("\u{25}\u{70}",print) == string.format("\u{25}\u{70}",print))
144+assert(string.format("\u{25}\u{70}",print) ~= string.format("\u{25}\u{70}",assert))
145+assert(# string.format("\u{25}\u{39}\u{30}\u{70}",{}) == 0x5a)
146+assert(# string.format("\u{25}\u{2d}\u{36}\u{30}\u{70}",{}) == 0x3c)
147+assert(string.format("\u{25}\u{31}\u{30}\u{70}",false) == string.rep("\u{20}",0xa - # null) .. null)
148+assert(string.format("\u{25}\u{2d}\u{31}\u{32}\u{70}",1.5) == null .. string.rep("\u{20}",0xc - # null))
149149do
150150local t1 = {}
151151;
152152local t2 = {}
153−assert((string.format("\u{25}\u{70}",t1) ~= string.format("\u{25}\u{70}",t2)))
153+assert(string.format("\u{25}\u{70}",t1) ~= string.format("\u{25}\u{70}",t2))
154154end
155155do
156156local s1 = string.rep("\u{61}",0xa)
157157local s2 = string.rep("\u{61}\u{61}",0x5)
158−assert((string.format("\u{25}\u{70}",s1) == string.format("\u{25}\u{70}",s2)))
158+assert(string.format("\u{25}\u{70}",s1) == string.format("\u{25}\u{70}",s2))
159159end
160160do
161161local s1 = string.rep("\u{61}",0x12c)
162162;
163163local s2 = string.rep("\u{61}",0x12c)
164−assert((string.format("\u{25}\u{70}",s1) ~= string.format("\u{25}\u{70}",s2)))
164+assert(string.format("\u{25}\u{70}",s1) ~= string.format("\u{25}\u{70}",s2))
165165end
166166end
167167local x = "\u{22}\u{ed}\u{6c}\u{6f}\u{22}\u{a}\u{5c}"
168−assert((string.format("\u{25}\u{71}\u{25}\u{73}",x,x) == "\u{22}\u{5c}\u{22}\u{ed}\u{6c}\u{6f}\u{5c}\u{22}\u{5c}\u{a}\u{5c}\u{5c}\u{22}\u{22}\u{ed}\u{6c}\u{6f}\u{22}\u{a}\u{5c}"))
169−assert((string.format("\u{25}\u{71}","\u{0}") == "\u{22}\u{5c}\u{30}\u{22}"))
170−assert((load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x))
168+assert(string.format("\u{25}\u{71}\u{25}\u{73}",x,x) == "\u{22}\u{5c}\u{22}\u{ed}\u{6c}\u{6f}\u{5c}\u{22}\u{5c}\u{a}\u{5c}\u{5c}\u{22}\u{22}\u{ed}\u{6c}\u{6f}\u{22}\u{a}\u{5c}")
169+assert(string.format("\u{25}\u{71}","\u{0}") == "\u{22}\u{5c}\u{30}\u{22}")
170+assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x)
171171x="\u{0}\u{1}\u{2}\u{33}\u{5}\u{0}\u{39}"
172−assert((load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x))
173−assert((string.format("\u{0}\u{25}\u{63}\u{0}\u{25}\u{63}\u{25}\u{78}\u{0}",string.byte("\u{e4}"),string.byte("\u{62}"),0x8c) == "\u{0}\u{e4}\u{0}\u{62}\u{38}\u{63}\u{0}"))
174−assert((string.format("") == ""))
175−assert(((string.format("\u{25}\u{63}",0x22) .. (string.format("\u{25}\u{63}",0x30) .. (string.format("\u{25}\u{63}",0x5a) .. string.format("\u{25}\u{63}",0x64)))) == string.format("\u{25}\u{31}\u{63}\u{25}\u{2d}\u{63}\u{25}\u{2d}\u{31}\u{63}\u{25}\u{63}",0x22,0x30,0x5a,0x64)))
176−assert((string.format("\u{25}\u{73}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{25}\u{73}","\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}","\u{62}\u{65}") == "\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{62}\u{65}"))
177−assert((string.format("\u{25}\u{25}\u{25}\u{64}\u{20}\u{25}\u{30}\u{31}\u{30}\u{64}",0xa,0x17) == "\u{25}\u{31}\u{30}\u{20}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}"))
178−assert((tonumber(string.format("\u{25}\u{66}",10.3)) == 10.3))
179−assert((string.format("\u{22}\u{25}\u{2d}\u{35}\u{30}\u{73}\u{22}","\u{61}") == ("\u{22}\u{61}" .. (string.rep("\u{20}",0x31) .. "\u{22}"))))
180−assert((string.format("\u{2d}\u{25}\u{2e}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}",string.rep("\u{25}",0x7d0)) == ("\u{2d}" .. (string.rep("\u{25}",0x14) .. "\u{2e}\u{32}\u{30}\u{73}"))))
181−assert((string.format("\u{22}\u{2d}\u{25}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}\u{22}",string.rep("\u{25}",0x7d0)) == string.format("\u{25}\u{71}",("\u{2d}" .. (string.rep("\u{25}",0x7d0) .. "\u{2e}\u{32}\u{30}\u{73}")))))
172+assert(load(string.format("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{25}\u{71}",x))() == x)
173+assert(string.format("\u{0}\u{25}\u{63}\u{0}\u{25}\u{63}\u{25}\u{78}\u{0}",string.byte("\u{e4}"),string.byte("\u{62}"),0x8c) == "\u{0}\u{e4}\u{0}\u{62}\u{38}\u{63}\u{0}")
174+assert(string.format("") == "")
175+assert(string.format("\u{25}\u{63}",0x22) .. string.format("\u{25}\u{63}",0x30) .. string.format("\u{25}\u{63}",0x5a) .. string.format("\u{25}\u{63}",0x64) == string.format("\u{25}\u{31}\u{63}\u{25}\u{2d}\u{63}\u{25}\u{2d}\u{31}\u{63}\u{25}\u{63}",0x22,0x30,0x5a,0x64))
176+assert(string.format("\u{25}\u{73}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{25}\u{73}","\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}","\u{62}\u{65}") == "\u{6e}\u{6f}\u{74}\u{20}\u{62}\u{65}\u{0}\u{20}\u{69}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{0}\u{62}\u{65}")
177+assert(string.format("\u{25}\u{25}\u{25}\u{64}\u{20}\u{25}\u{30}\u{31}\u{30}\u{64}",0xa,0x17) == "\u{25}\u{31}\u{30}\u{20}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{32}\u{33}")
178+assert(tonumber(string.format("\u{25}\u{66}",10.3)) == 10.3)
179+assert(string.format("\u{22}\u{25}\u{2d}\u{35}\u{30}\u{73}\u{22}","\u{61}") == "\u{22}\u{61}" .. string.rep("\u{20}",0x31) .. "\u{22}")
180+assert(string.format("\u{2d}\u{25}\u{2e}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}",string.rep("\u{25}",0x7d0)) == "\u{2d}" .. string.rep("\u{25}",0x14) .. "\u{2e}\u{32}\u{30}\u{73}")
181+assert(string.format("\u{22}\u{2d}\u{25}\u{32}\u{30}\u{73}\u{2e}\u{32}\u{30}\u{73}\u{22}",string.rep("\u{25}",0x7d0)) == string.format("\u{25}\u{71}","\u{2d}" .. string.rep("\u{25}",0x7d0) .. "\u{2e}\u{32}\u{30}\u{73}"))
182182do
183183local function checkQ
184184(v)
185185local s = string.format("\u{25}\u{71}",v)
186−local nv = load(("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s))()
187−assert(((v == nv) and (math.type(v) == math.type(nv))))
186+local nv = load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}" .. s)()
187+assert(v == nv and math.type(v) == math.type(nv))
188188end
189189checkQ("\u{0}\u{0}\u{1}\u{ff}\u{234}")
190190checkQ(math.maxinteger)
@@ -195,71 +195,71 @@ checkQ(true)
195195checkQ(nil)
196196checkQ(false)
197197checkQ(math.huge)
198−checkQ((- math.huge))
199−assert((string.format("\u{25}\u{71}",(0x0 / 0x0)) == "\u{28}\u{30}\u{2f}\u{30}\u{29}"))
198+checkQ(- math.huge)
199+assert(string.format("\u{25}\u{71}",0x0 / 0x0) == "\u{28}\u{30}\u{2f}\u{30}\u{29}")
200200checkerror("\u{6e}\u{6f}\u{20}\u{6c}\u{69}\u{74}\u{65}\u{72}\u{61}\u{6c}",string.format,"\u{25}\u{71}",{})
201201end
202−assert((string.format("\u{0}\u{25}\u{73}\u{0}","\u{0}\u{0}\u{1}") == "\u{0}\u{0}\u{0}\u{1}\u{0}"))
202+assert(string.format("\u{0}\u{25}\u{73}\u{0}","\u{0}\u{0}\u{1}") == "\u{0}\u{0}\u{0}\u{1}\u{0}")
203203checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{61}\u{69}\u{6e}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}\u{73}",string.format,"\u{25}\u{31}\u{30}\u{73}","\u{0}")
204−assert((string.format("\u{25}\u{73}\u{20}\u{25}\u{73}",nil,true) == "\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{72}\u{75}\u{65}"))
205−assert((string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{34}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{73}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}"))
206−assert((string.format("\u{25}\u{2e}\u{33}\u{73}\u{20}\u{25}\u{2e}\u{33}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{20}\u{74}\u{72}\u{75}"))
204+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{73}",nil,true) == "\u{6e}\u{69}\u{6c}\u{20}\u{74}\u{72}\u{75}\u{65}")
205+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{34}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{73}\u{65}\u{20}\u{74}\u{72}\u{75}\u{65}")
206+assert(string.format("\u{25}\u{2e}\u{33}\u{73}\u{20}\u{25}\u{2e}\u{33}\u{73}",false,true) == "\u{66}\u{61}\u{6c}\u{20}\u{74}\u{72}\u{75}")
207207local m = setmetatable({},{["\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}"] = function ()
208208return "\u{68}\u{65}\u{6c}\u{6c}\u{6f}"
209209end,["\u{5f}\u{5f}\u{6e}\u{61}\u{6d}\u{65}"] = "\u{68}\u{69}"})
210−assert((string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{31}\u{30}\u{73}",m,m) == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{68}\u{65}\u{6c}\u{6c}\u{6f}"))
210+assert(string.format("\u{25}\u{73}\u{20}\u{25}\u{2e}\u{31}\u{30}\u{73}",m,m) == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{68}\u{65}\u{6c}\u{6c}\u{6f}")
211211getmetatable(m).__tostring=nil
212−assert((string.format("\u{25}\u{2e}\u{34}\u{73}",m) == "\u{68}\u{69}\u{3a}\u{20}"))
212+assert(string.format("\u{25}\u{2e}\u{34}\u{73}",m) == "\u{68}\u{69}\u{3a}\u{20}")
213213getmetatable(m).__tostring=function ()
214214return {}
215215end
216216checkerror("\u{27}\u{5f}\u{5f}\u{74}\u{6f}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{6d}\u{75}\u{73}\u{74}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",tostring,m)
217−assert((string.format("\u{25}\u{78}",0.0) == "\u{30}"))
218−assert((string.format("\u{25}\u{30}\u{32}\u{78}",0.0) == "\u{30}\u{30}"))
219−assert((string.format("\u{25}\u{30}\u{38}\u{58}",0xffffffff) == "\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}"))
220−assert((string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",0x7b0d) == "\u{2b}\u{30}\u{30}\u{33}\u{31}\u{35}\u{30}\u{31}"))
221−assert((string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",(- 0x78cf)) == "\u{2d}\u{30}\u{30}\u{33}\u{30}\u{39}\u{32}\u{37}"))
217+assert(string.format("\u{25}\u{78}",0.0) == "\u{30}")
218+assert(string.format("\u{25}\u{30}\u{32}\u{78}",0.0) == "\u{30}\u{30}")
219+assert(string.format("\u{25}\u{30}\u{38}\u{58}",0xffffffff) == "\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}\u{46}")
220+assert(string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",0x7b0d) == "\u{2b}\u{30}\u{30}\u{33}\u{31}\u{35}\u{30}\u{31}")
221+assert(string.format("\u{25}\u{2b}\u{30}\u{38}\u{64}",- 0x78cf) == "\u{2d}\u{30}\u{30}\u{33}\u{30}\u{39}\u{32}\u{37}")
222222do
223223local i = 0x1
224224local j = 0x2710
225−while ((i + 0x1) < j) do
226−local m = ((i + j) // 0x2)
227−if ((0xa ^ m) < math.huge) then
225+while i + 0x1 < j do
226+local m = (i + j) // 0x2
227+if 0xa ^ m < math.huge then
228228i=m
229229else
230230j=m
231231end
232232end
233−assert((((0xa ^ i) < math.huge) and ((0xa ^ j) == math.huge)))
234−local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",(- (0xa ^ i)))
235−assert((string.len(s) >= (i + 0x65)))
236−assert((tonumber(s) == (- (0xa ^ i))))
237−assert(((0xa ^ 0x26) < math.huge))
238−local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",(- (0xa ^ 0x26)))
239−assert((string.len(s) >= (0x26 + 0x65)))
240−assert((tonumber(s) == (- (0xa ^ 0x26))))
233+assert(0xa ^ i < math.huge and 0xa ^ j == math.huge)
234+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (0xa ^ i))
235+assert(string.len(s) >= i + 0x65)
236+assert(tonumber(s) == - (0xa ^ i))
237+assert(0xa ^ 0x26 < math.huge)
238+local s = string.format("\u{25}\u{2e}\u{39}\u{39}\u{66}",- (0xa ^ 0x26))
239+assert(string.len(s) >= 0x26 + 0x65)
240+assert(tonumber(s) == - (0xa ^ 0x26))
241241end
242242do
243−local max,min = 0x7fffffff,(- 0x80000000)
244−assert((string.sub(string.format("\u{25}\u{38}\u{78}",(- 0x1)),(- 0x8)) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}"))
245−assert((string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}"))
246−assert((string.sub(string.format("\u{25}\u{78}",min),(- 0x8)) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}"))
247−assert((string.format("\u{25}\u{64}",max) == "\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}"))
248−assert((string.format("\u{25}\u{64}",min) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{38}"))
249−assert((string.format("\u{25}\u{75}",0xffffffff) == "\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{35}"))
250−assert((string.format("\u{25}\u{6f}",0xabcd) == "\u{31}\u{32}\u{35}\u{37}\u{31}\u{35}"))
251−max,min=0x7fffffffffffffff,(- 0x8000000000000000)
252−if (max > (2.0 ^ 0x35)) then
253−assert((string.format("\u{25}\u{78}",(((0x2 ^ 0x34) | 0x0) - 0x1)) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}"))
254−assert((string.format("\u{30}\u{78}\u{25}\u{38}\u{58}",0x8f000003) == "\u{30}\u{78}\u{38}\u{46}\u{30}\u{30}\u{30}\u{30}\u{30}\u{33}"))
255−assert((string.format("\u{25}\u{64}",(0x2 ^ 0x35)) == "\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}"))
256−assert((string.format("\u{25}\u{69}",(- (0x2 ^ 0x35))) == "\u{2d}\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}"))
257−assert((string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}"))
258−assert((string.format("\u{25}\u{78}",min) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}"))
259−assert((string.format("\u{25}\u{64}",max) == "\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{37}"))
260−assert((string.format("\u{25}\u{64}",min) == "\u{2d}\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{38}"))
261−assert((string.format("\u{25}\u{75}",(~ (- (0x1 << 0x40)))) == "\u{31}\u{38}\u{34}\u{34}\u{36}\u{37}\u{34}\u{34}\u{30}\u{37}\u{33}\u{37}\u{30}\u{39}\u{35}\u{35}\u{31}\u{36}\u{31}\u{35}"))
262−assert((tostring(0x11f71fb04cb) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}"))
243+local max,min = 0x7fffffff,- 0x80000000
244+assert(string.sub(string.format("\u{25}\u{38}\u{78}",- 0x1),- 0x8) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
245+assert(string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
246+assert(string.sub(string.format("\u{25}\u{78}",min),- 0x8) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}")
247+assert(string.format("\u{25}\u{64}",max) == "\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{37}")
248+assert(string.format("\u{25}\u{64}",min) == "\u{2d}\u{32}\u{31}\u{34}\u{37}\u{34}\u{38}\u{33}\u{36}\u{34}\u{38}")
249+assert(string.format("\u{25}\u{75}",0xffffffff) == "\u{34}\u{32}\u{39}\u{34}\u{39}\u{36}\u{37}\u{32}\u{39}\u{35}")
250+assert(string.format("\u{25}\u{6f}",0xabcd) == "\u{31}\u{32}\u{35}\u{37}\u{31}\u{35}")
251+max,min=0x7fffffffffffffff,- 0x8000000000000000
252+if max > 2.0 ^ 0x35 then
253+assert(string.format("\u{25}\u{78}",(0x2 ^ 0x34 | 0x0) - 0x1) == "\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
254+assert(string.format("\u{30}\u{78}\u{25}\u{38}\u{58}",0x8f000003) == "\u{30}\u{78}\u{38}\u{46}\u{30}\u{30}\u{30}\u{30}\u{30}\u{33}")
255+assert(string.format("\u{25}\u{64}",0x2 ^ 0x35) == "\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}")
256+assert(string.format("\u{25}\u{69}",- 0x2 ^ 0x35) == "\u{2d}\u{39}\u{30}\u{30}\u{37}\u{31}\u{39}\u{39}\u{32}\u{35}\u{34}\u{37}\u{34}\u{30}\u{39}\u{39}\u{32}")
257+assert(string.format("\u{25}\u{78}",max) == "\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}")
258+assert(string.format("\u{25}\u{78}",min) == "\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}")
259+assert(string.format("\u{25}\u{64}",max) == "\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{37}")
260+assert(string.format("\u{25}\u{64}",min) == "\u{2d}\u{39}\u{32}\u{32}\u{33}\u{33}\u{37}\u{32}\u{30}\u{33}\u{36}\u{38}\u{35}\u{34}\u{37}\u{37}\u{35}\u{38}\u{30}\u{38}")
261+assert(string.format("\u{25}\u{75}",~ (- 0x1 << 0x40)) == "\u{31}\u{38}\u{34}\u{34}\u{36}\u{37}\u{34}\u{34}\u{30}\u{37}\u{33}\u{37}\u{30}\u{39}\u{35}\u{35}\u{31}\u{36}\u{31}\u{35}")
262+assert(tostring(0x11f71fb04cb) == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{38}\u{39}\u{30}\u{31}\u{32}\u{33}")
263263end
264264end
265265do
@@ -268,54 +268,54 @@ local function matchhexa
268268(n)
269269local s = string.format("\u{25}\u{61}",n)
270270assert(string.find(s,"\u{5e}\u{25}\u{2d}\u{3f}\u{30}\u{78}\u{5b}\u{31}\u{2d}\u{39}\u{61}\u{2d}\u{66}\u{5d}\u{25}\u{2e}\u{3f}\u{5b}\u{30}\u{2d}\u{39}\u{61}\u{2d}\u{66}\u{5d}\u{2a}\u{70}\u{5b}\u{2d}\u{2b}\u{5d}\u{3f}\u{25}\u{64}\u{2b}\u{24}"))
271−assert((tonumber(s) == n))
271+assert(tonumber(s) == n)
272272s=string.format("\u{25}\u{41}",n)
273273assert(string.find(s,"\u{5e}\u{25}\u{2d}\u{3f}\u{30}\u{58}\u{5b}\u{31}\u{2d}\u{39}\u{41}\u{2d}\u{46}\u{5d}\u{25}\u{2e}\u{3f}\u{5b}\u{30}\u{2d}\u{39}\u{41}\u{2d}\u{46}\u{5d}\u{2a}\u{50}\u{5b}\u{2d}\u{2b}\u{5d}\u{3f}\u{25}\u{64}\u{2b}\u{24}"))
274−assert((tonumber(s) == n))
274+assert(tonumber(s) == n)
275275end
276−for _,n in ipairs({0.1,(- 0.1),(0x1 / 0x3),(- (0x1 / 0x3)),1e30,(- 1e30),(- (0x2d / 0xf7)),0x1,(- 0x1),0x2,(- 0x2),3e-20,(- 3e-20)})
276+for _,n in ipairs({0.1,- 0.1,0x1 / 0x3,- 0x1 / 0x3,1e30,- 1e30,- 0x2d / 0xf7,0x1,- 0x1,0x2,- 0x2,3e-20,- 3e-20})
277277do
278278matchhexa(n)
279279end
280280assert(string.find(string.format("\u{25}\u{41}",0.0),"\u{5e}\u{30}\u{58}\u{30}\u{25}\u{2e}\u{3f}\u{30}\u{2a}\u{50}\u{25}\u{2b}\u{3f}\u{30}\u{24}"))
281−assert(string.find(string.format("\u{25}\u{61}",(- 0.0)),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}\u{25}\u{2e}\u{3f}\u{30}\u{2a}\u{70}\u{25}\u{2b}\u{3f}\u{30}\u{24}"))
282−if (not _port) then
283−assert(string.find(string.format("\u{25}\u{61}",(0x1 / 0x0)),"\u{5e}\u{69}\u{6e}\u{66}"))
284−assert(string.find(string.format("\u{25}\u{41}",(- (0x1 / 0x0))),"\u{5e}\u{25}\u{2d}\u{49}\u{4e}\u{46}"))
285−assert(string.find(string.format("\u{25}\u{61}",(0x0 / 0x0)),"\u{5e}\u{25}\u{2d}\u{3f}\u{6e}\u{61}\u{6e}"))
286−assert(string.find(string.format("\u{25}\u{61}",(- 0.0)),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}"))
287−end
288−if (not pcall(string.format,"\u{25}\u{2e}\u{33}\u{61}",0x0)) then
281+assert(string.find(string.format("\u{25}\u{61}",- 0.0),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}\u{25}\u{2e}\u{3f}\u{30}\u{2a}\u{70}\u{25}\u{2b}\u{3f}\u{30}\u{24}"))
282+if not _port then
283+assert(string.find(string.format("\u{25}\u{61}",0x1 / 0x0),"\u{5e}\u{69}\u{6e}\u{66}"))
284+assert(string.find(string.format("\u{25}\u{41}",- 0x1 / 0x0),"\u{5e}\u{25}\u{2d}\u{49}\u{4e}\u{46}"))
285+assert(string.find(string.format("\u{25}\u{61}",0x0 / 0x0),"\u{5e}\u{25}\u{2d}\u{3f}\u{6e}\u{61}\u{6e}"))
286+assert(string.find(string.format("\u{25}\u{61}",- 0.0),"\u{5e}\u{25}\u{2d}\u{30}\u{78}\u{30}"))
287+end
288+if not pcall(string.format,"\u{25}\u{2e}\u{33}\u{61}",0x0) then
289289(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{6d}\u{6f}\u{64}\u{69}\u{66}\u{69}\u{65}\u{72}\u{73}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{20}\u{27}\u{25}\u{61}\u{27}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{76}\u{61}\u{69}\u{6c}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
290290else
291291assert(string.find(string.format("\u{25}\u{2b}\u{2e}\u{32}\u{41}",0xc),"\u{5e}\u{25}\u{2b}\u{30}\u{58}\u{25}\u{78}\u{25}\u{2e}\u{25}\u{78}\u{30}\u{50}\u{25}\u{2b}\u{3f}\u{25}\u{64}\u{24}"))
292−assert(string.find(string.format("\u{25}\u{2e}\u{34}\u{41}",(- 0xc)),"\u{5e}\u{25}\u{2d}\u{30}\u{58}\u{25}\u{78}\u{25}\u{2e}\u{25}\u{78}\u{30}\u{30}\u{30}\u{50}\u{25}\u{2b}\u{3f}\u{25}\u{64}\u{24}"))
293−end
294−end
295−assert((string.format("\u{25}\u{23}\u{31}\u{32}\u{6f}",0xa) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{31}\u{32}"))
296−assert((string.format("\u{25}\u{23}\u{31}\u{30}\u{78}",0x64) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{78}\u{36}\u{34}"))
297−assert((string.format("\u{25}\u{23}\u{2d}\u{31}\u{37}\u{58}",0x64) == "\u{30}\u{58}\u{36}\u{34}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}"))
298−assert((string.format("\u{25}\u{30}\u{31}\u{33}\u{69}",(- 0x64)) == "\u{2d}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}"))
299−assert((string.format("\u{25}\u{32}\u{2e}\u{35}\u{64}",(- 0x64)) == "\u{2d}\u{30}\u{30}\u{31}\u{30}\u{30}"))
300−assert((string.format("\u{25}\u{2e}\u{75}",0x0) == ""))
301−assert((string.format("\u{25}\u{2b}\u{23}\u{30}\u{31}\u{34}\u{2e}\u{30}\u{66}",0x64) == "\u{2b}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}\u{2e}"))
302−assert((string.format("\u{25}\u{2d}\u{31}\u{36}\u{63}",0x61) == "\u{61}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}"))
303−assert((string.format("\u{25}\u{2b}\u{2e}\u{33}\u{47}",1.5) == "\u{2b}\u{31}\u{2e}\u{35}"))
304−assert((string.format("\u{25}\u{2e}\u{30}\u{73}","\u{61}\u{6c}\u{6f}") == ""))
305−assert((string.format("\u{25}\u{2e}\u{73}","\u{61}\u{6c}\u{6f}") == ""))
292+assert(string.find(string.format("\u{25}\u{2e}\u{34}\u{41}",- 0xc),"\u{5e}\u{25}\u{2d}\u{30}\u{58}\u{25}\u{78}\u{25}\u{2e}\u{25}\u{78}\u{30}\u{30}\u{30}\u{50}\u{25}\u{2b}\u{3f}\u{25}\u{64}\u{24}"))
293+end
294+end
295+assert(string.format("\u{25}\u{23}\u{31}\u{32}\u{6f}",0xa) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{31}\u{32}")
296+assert(string.format("\u{25}\u{23}\u{31}\u{30}\u{78}",0x64) == "\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{30}\u{78}\u{36}\u{34}")
297+assert(string.format("\u{25}\u{23}\u{2d}\u{31}\u{37}\u{58}",0x64) == "\u{30}\u{58}\u{36}\u{34}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}")
298+assert(string.format("\u{25}\u{30}\u{31}\u{33}\u{69}",- 0x64) == "\u{2d}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}")
299+assert(string.format("\u{25}\u{32}\u{2e}\u{35}\u{64}",- 0x64) == "\u{2d}\u{30}\u{30}\u{31}\u{30}\u{30}")
300+assert(string.format("\u{25}\u{2e}\u{75}",0x0) == "")
301+assert(string.format("\u{25}\u{2b}\u{23}\u{30}\u{31}\u{34}\u{2e}\u{30}\u{66}",0x64) == "\u{2b}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{31}\u{30}\u{30}\u{2e}")
302+assert(string.format("\u{25}\u{2d}\u{31}\u{36}\u{63}",0x61) == "\u{61}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}\u{20}")
303+assert(string.format("\u{25}\u{2b}\u{2e}\u{33}\u{47}",1.5) == "\u{2b}\u{31}\u{2e}\u{35}")
304+assert(string.format("\u{25}\u{2e}\u{30}\u{73}","\u{61}\u{6c}\u{6f}") == "")
305+assert(string.format("\u{25}\u{2e}\u{73}","\u{61}\u{6c}\u{6f}") == "")
306306assert(string.match(string.format("\u{25}\u{20}\u{31}\u{2e}\u{30}\u{45}",0x64),"\u{5e}\u{20}\u{31}\u{45}\u{25}\u{2b}\u{30}\u{2b}\u{32}\u{24}"))
307−assert(string.match(string.format("\u{25}\u{20}\u{2e}\u{31}\u{67}",(0x2 ^ 0xa)),"\u{5e}\u{20}\u{31}\u{65}\u{25}\u{2b}\u{30}\u{2b}\u{33}\u{24}"))
307+assert(string.match(string.format("\u{25}\u{20}\u{2e}\u{31}\u{67}",0x2 ^ 0xa),"\u{5e}\u{20}\u{31}\u{65}\u{25}\u{2b}\u{30}\u{2b}\u{33}\u{24}"))
308308local function check
309309(fmt,msg)
310310checkerror(msg,string.format,fmt,0xa)
311311end
312312local aux = string.rep("\u{30}",0x258)
313313check("\u{25}\u{31}\u{30}\u{30}\u{2e}\u{33}\u{64}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
314−check(("\u{25}\u{31}" .. (aux .. "\u{2e}\u{33}\u{64}")),"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
314+check("\u{25}\u{31}" .. aux .. "\u{2e}\u{33}\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
315315check("\u{25}\u{31}\u{2e}\u{31}\u{30}\u{30}\u{64}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
316−check(("\u{25}\u{31}\u{30}\u{2e}\u{31}" .. (aux .. "\u{30}\u{30}\u{34}\u{64}")),"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
316+check("\u{25}\u{31}\u{30}\u{2e}\u{31}" .. aux .. "\u{30}\u{30}\u{34}\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
317317check("\u{25}\u{74}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
318−check(("\u{25}" .. (aux .. "\u{64}")),"\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
318+check("\u{25}" .. aux .. "\u{64}","\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{6f}\u{6e}\u{67}")
319319check("\u{25}\u{64}\u{20}\u{25}\u{64}","\u{6e}\u{6f}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}")
320320check("\u{25}\u{30}\u{31}\u{30}\u{63}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
321321check("\u{25}\u{2e}\u{31}\u{30}\u{63}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
@@ -325,42 +325,42 @@ check("\u{25}\u{33}\u{2e}\u{31}\u{70}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{6
325325check("\u{25}\u{30}\u{2e}\u{73}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
326326check("\u{25}\u{31}\u{30}\u{71}","\u{63}\u{61}\u{6e}\u{6e}\u{6f}\u{74}\u{20}\u{68}\u{61}\u{76}\u{65}\u{20}\u{6d}\u{6f}\u{64}\u{69}\u{66}\u{69}\u{65}\u{72}\u{73}")
327327check("\u{25}\u{46}","\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{63}\u{6f}\u{6e}\u{76}\u{65}\u{72}\u{73}\u{69}\u{6f}\u{6e}")
328−assert((load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{2d}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{45}\u{4f}\u{4c}")() == 0x1))
328+assert(load("\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{a}\u{2d}\u{2d}\u{63}\u{6f}\u{6d}\u{6d}\u{65}\u{6e}\u{74}\u{20}\u{77}\u{69}\u{74}\u{68}\u{6f}\u{75}\u{74}\u{20}\u{65}\u{6e}\u{64}\u{69}\u{6e}\u{67}\u{20}\u{45}\u{4f}\u{4c}")() == 0x1)
329329checkerror("\u{74}\u{61}\u{62}\u{6c}\u{65}\u{20}\u{65}\u{78}\u{70}\u{65}\u{63}\u{74}\u{65}\u{64}",table.concat,0x3)
330−checkerror(("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}" .. maxi),table.concat,{},"\u{20}",maxi,maxi)
331−checkerror(("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}" .. mini),table.concat,{},"\u{20}",mini,mini)
332−assert((table.concat({}) == ""))
333−assert((table.concat({},"\u{78}") == ""))
334−assert((table.concat({"\u{0}","\u{0}\u{1}","\u{0}\u{1}\u{2}"},"\u{2e}\u{0}\u{2e}") == "\u{0}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2}"))
330+checkerror("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}" .. maxi,table.concat,{},"\u{20}",maxi,maxi)
331+checkerror("\u{61}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{20}\u{25}" .. mini,table.concat,{},"\u{20}",mini,mini)
332+assert(table.concat({}) == "")
333+assert(table.concat({},"\u{78}") == "")
334+assert(table.concat({"\u{0}","\u{0}\u{1}","\u{0}\u{1}\u{2}"},"\u{2e}\u{0}\u{2e}") == "\u{0}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2e}\u{0}\u{2e}\u{0}\u{1}\u{2}")
335335local a = {}
336336;
337337for i = 0x1, 0x12c
338338do
339339a[i]="\u{78}\u{75}\u{78}\u{75}"
340340end
341−assert(((table.concat(a,"\u{31}\u{32}\u{33}") .. "\u{31}\u{32}\u{33}") == string.rep("\u{78}\u{75}\u{78}\u{75}\u{31}\u{32}\u{33}",0x12c)))
342−assert((table.concat(a,"\u{62}",0x14,0x14) == "\u{78}\u{75}\u{78}\u{75}"))
343−assert((table.concat(a,"",0x14,0x15) == "\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}"))
344−assert((table.concat(a,"\u{78}",0x16,0x15) == ""))
345−assert((table.concat(a,"\u{33}",0x12b) == "\u{78}\u{75}\u{78}\u{75}\u{33}\u{78}\u{75}\u{78}\u{75}"))
346−assert((table.concat({},"\u{78}",maxi,(maxi - 0x1)) == ""))
347−assert((table.concat({},"\u{78}",(mini + 0x1),mini) == ""))
348−assert((table.concat({},"\u{78}",maxi,mini) == ""))
349−assert((table.concat({[maxi] = "\u{61}\u{6c}\u{6f}"},"\u{78}",maxi,maxi) == "\u{61}\u{6c}\u{6f}"))
350−assert((table.concat({[maxi] = "\u{61}\u{6c}\u{6f}",[(maxi - 0x1)] = "\u{79}"},"\u{2d}",(maxi - 0x1),maxi) == "\u{79}\u{2d}\u{61}\u{6c}\u{6f}"))
351−assert((not pcall(table.concat,{"\u{61}","\u{62}",{}})))
341+assert(table.concat(a,"\u{31}\u{32}\u{33}") .. "\u{31}\u{32}\u{33}" == string.rep("\u{78}\u{75}\u{78}\u{75}\u{31}\u{32}\u{33}",0x12c))
342+assert(table.concat(a,"\u{62}",0x14,0x14) == "\u{78}\u{75}\u{78}\u{75}")
343+assert(table.concat(a,"",0x14,0x15) == "\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}\u{78}\u{75}")
344+assert(table.concat(a,"\u{78}",0x16,0x15) == "")
345+assert(table.concat(a,"\u{33}",0x12b) == "\u{78}\u{75}\u{78}\u{75}\u{33}\u{78}\u{75}\u{78}\u{75}")
346+assert(table.concat({},"\u{78}",maxi,maxi - 0x1) == "")
347+assert(table.concat({},"\u{78}",mini + 0x1,mini) == "")
348+assert(table.concat({},"\u{78}",maxi,mini) == "")
349+assert(table.concat({[maxi] = "\u{61}\u{6c}\u{6f}"},"\u{78}",maxi,maxi) == "\u{61}\u{6c}\u{6f}")
350+assert(table.concat({[maxi] = "\u{61}\u{6c}\u{6f}",[maxi - 0x1] = "\u{79}"},"\u{2d}",maxi - 0x1,maxi) == "\u{79}\u{2d}\u{61}\u{6c}\u{6f}")
351+assert(not pcall(table.concat,{"\u{61}","\u{62}",{}}))
352352a={"\u{61}","\u{62}","\u{63}"}
353−assert((table.concat(a,"\u{2c}",0x1,0x0) == ""))
354−assert((table.concat(a,"\u{2c}",0x1,0x1) == "\u{61}"))
355−assert((table.concat(a,"\u{2c}",0x1,0x2) == "\u{61}\u{2c}\u{62}"))
356−assert((table.concat(a,"\u{2c}",0x2) == "\u{62}\u{2c}\u{63}"))
357−assert((table.concat(a,"\u{2c}",0x3) == "\u{63}"))
358−assert((table.concat(a,"\u{2c}",0x4) == ""))
359−if (not _port) then
353+assert(table.concat(a,"\u{2c}",0x1,0x0) == "")
354+assert(table.concat(a,"\u{2c}",0x1,0x1) == "\u{61}")
355+assert(table.concat(a,"\u{2c}",0x1,0x2) == "\u{61}\u{2c}\u{62}")
356+assert(table.concat(a,"\u{2c}",0x2) == "\u{62}\u{2c}\u{63}")
357+assert(table.concat(a,"\u{2c}",0x3) == "\u{63}")
358+assert(table.concat(a,"\u{2c}",0x4) == "")
359+if not _port then
360360local locales = {"\u{70}\u{74}\u{62}","\u{70}\u{74}\u{5f}\u{42}\u{52}\u{2e}\u{69}\u{73}\u{6f}\u{38}\u{38}\u{35}\u{39}\u{31}","\u{49}\u{53}\u{4f}\u{2d}\u{38}\u{38}\u{35}\u{39}\u{2d}\u{31}"}
361361local function trylocale
362362(w)
363−for i = 0x1, (# locales)
363+for i = 0x1, # locales
364364do
365365if os.setlocale(locales[i],w) then
366366print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{65}\u{20}\u{73}\u{65}\u{74}\u{20}\u{74}\u{6f}\u{20}\u{27}\u{25}\u{73}\u{27}",w,locales[i]))
@@ -371,52 +371,52 @@ print(string.format("\u{27}\u{25}\u{73}\u{27}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c
371371return false
372372end
373373if trylocale("\u{63}\u{6f}\u{6c}\u{6c}\u{61}\u{74}\u{65}") then
374−assert((("\u{61}\u{6c}\u{6f}" < "\u{e1}\u{6c}\u{6f}") and ("\u{e1}\u{6c}\u{6f}" < "\u{61}\u{6d}\u{6f}")))
374+assert("\u{61}\u{6c}\u{6f}" < "\u{e1}\u{6c}\u{6f}" and "\u{e1}\u{6c}\u{6f}" < "\u{61}\u{6d}\u{6f}")
375375end
376376if trylocale("\u{63}\u{74}\u{79}\u{70}\u{65}") then
377−assert((string.gsub("\u{e1}\u{e9}\u{ed}\u{f3}\u{fa}","\u{25}\u{61}","\u{78}") == "\u{78}\u{78}\u{78}\u{78}\u{78}"))
378−assert((string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{6c}","\u{78}") == "\u{78}\u{c1}\u{78}\u{c9}"))
379−assert((string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{75}","\u{78}") == "\u{e1}\u{78}\u{e9}\u{78}"))
380−assert((string.upper("\u{e1}\u{c1}\u{e9}\u{7b}\u{78}\u{75}\u{78}\u{75}\u{7d}\u{e7}\u{e3}\u{6f}") == "\u{c1}\u{c1}\u{c9}\u{7b}\u{58}\u{55}\u{58}\u{55}\u{7d}\u{c7}\u{c3}\u{4f}"))
377+assert(string.gsub("\u{e1}\u{e9}\u{ed}\u{f3}\u{fa}","\u{25}\u{61}","\u{78}") == "\u{78}\u{78}\u{78}\u{78}\u{78}")
378+assert(string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{6c}","\u{78}") == "\u{78}\u{c1}\u{78}\u{c9}")
379+assert(string.gsub("\u{e1}\u{c1}\u{e9}\u{c9}","\u{25}\u{75}","\u{78}") == "\u{e1}\u{78}\u{e9}\u{78}")
380+assert(string.upper("\u{e1}\u{c1}\u{e9}\u{7b}\u{78}\u{75}\u{78}\u{75}\u{7d}\u{e7}\u{e3}\u{6f}") == "\u{c1}\u{c1}\u{c9}\u{7b}\u{58}\u{55}\u{58}\u{55}\u{7d}\u{c7}\u{c3}\u{4f}")
381381end
382382os.setlocale("\u{43}")
383−assert((os.setlocale() == "\u{43}"))
384−assert((os.setlocale(nil,"\u{6e}\u{75}\u{6d}\u{65}\u{72}\u{69}\u{63}") == "\u{43}"))
383+assert(os.setlocale() == "\u{43}")
384+assert(os.setlocale(nil,"\u{6e}\u{75}\u{6d}\u{65}\u{72}\u{69}\u{63}") == "\u{43}")
385385end
386386do
387387local f = string.gmatch("\u{31}\u{20}\u{32}\u{20}\u{33}\u{20}\u{34}\u{20}\u{35}","\u{25}\u{64}\u{2b}")
388−assert((f() == "\u{31}"))
388+assert(f() == "\u{31}")
389389local co = coroutine.wrap(f)
390−assert((co() == "\u{32}"))
390+assert(co() == "\u{32}")
391391end
392−if (T == nil) then
392+if T == nil then
393393(Message or print)("\u{a}\u{20}\u{3e}\u{3e}\u{3e}\u{20}\u{74}\u{65}\u{73}\u{74}\u{43}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{61}\u{63}\u{74}\u{69}\u{76}\u{65}\u{3a}\u{20}\u{73}\u{6b}\u{69}\u{70}\u{70}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}\u{20}\u{74}\u{65}\u{73}\u{74}\u{73}\u{20}\u{3c}\u{3c}\u{3c}\u{a}")
394394else
395395print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{27}\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{27}")
396396local blen = 0xc8
397397local function callpfs
398398(op,fmt,n)
399−local x = {T.testC(("\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" .. (op .. "\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}")),fmt,n)}
400−assert((# (x == 0x4)))
399+local x = {T.testC("\u{70}\u{75}\u{73}\u{68}\u{66}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}" .. op .. "\u{3b}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{2a}",fmt,n)}
400+assert(# x == 0x4)
401401return x[0x4]
402402end
403403local function testpfs
404404(op,fmt,n)
405−assert((callpfs(op,fmt,n) == string.format(fmt,n)))
405+assert(callpfs(op,fmt,n) == string.format(fmt,n))
406406end
407407testpfs("\u{49}","",0x0)
408−testpfs("\u{49}",string.rep("\u{61}",(blen - 0x1)),0x0)
408+testpfs("\u{49}",string.rep("\u{61}",blen - 0x1),0x0)
409409testpfs("\u{49}",string.rep("\u{61}",blen),0x0)
410−testpfs("\u{49}",string.rep("\u{61}",(blen + 0x1)),0x0)
411−local str = (string.rep("\u{61}\u{62}",blen) .. ("\u{25}\u{64}" .. string.rep("\u{64}",(blen / 0x2))))
412−testpfs("\u{49}",str,(0x2 ^ 0xe))
413−testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
414−str=("\u{25}\u{64}" .. string.rep("\u{63}\u{64}",blen))
415−testpfs("\u{49}",str,(0x2 ^ 0xe))
416−testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
417−str=(string.rep("\u{63}",(blen - 0x2)) .. "\u{25}\u{64}")
418−testpfs("\u{49}",str,(0x2 ^ 0xe))
419−testpfs("\u{49}",str,(- (0x2 ^ 0xf)))
410+testpfs("\u{49}",string.rep("\u{61}",blen + 0x1),0x0)
411+local str = string.rep("\u{61}\u{62}",blen) .. "\u{25}\u{64}" .. string.rep("\u{64}",blen / 0x2)
412+testpfs("\u{49}",str,0x2 ^ 0xe)
413+testpfs("\u{49}",str,- 0x2 ^ 0xf)
414+str="\u{25}\u{64}" .. string.rep("\u{63}\u{64}",blen)
415+testpfs("\u{49}",str,0x2 ^ 0xe)
416+testpfs("\u{49}",str,- 0x2 ^ 0xf)
417+str=string.rep("\u{63}",blen - 0x2) .. "\u{25}\u{64}"
418+testpfs("\u{49}",str,0x2 ^ 0xe)
419+testpfs("\u{49}",str,- 0x2 ^ 0xf)
420420for l = 0xc, 0xe
421421do
422422local str1 = string.rep("\u{61}",l)
@@ -424,7 +424,7 @@ for i = 0x0, 0x1f4, 0xd
424424do
425425for j = 0x0, 0x1f4, 0xd
426426do
427−str=(string.rep("\u{61}",i) .. ("\u{25}\u{73}" .. string.rep("\u{64}",j)))
427+str=string.rep("\u{61}",i) .. "\u{25}\u{73}" .. string.rep("\u{64}",j)
428428testpfs("\u{53}",str,str1)
429429testpfs("\u{53}",str,str)
430430end
@@ -433,9 +433,9 @@ end
433433str="\u{61}\u{62}\u{63}\u{20}\u{25}\u{63}\u{20}\u{64}\u{65}\u{66}"
434434testpfs("\u{49}",str,string.byte("\u{41}"))
435435testpfs("\u{49}",str,0xff)
436−str=(string.rep("\u{61}",(blen - 0x1)) .. ("\u{25}\u{70}" .. string.rep("\u{63}\u{64}",blen)))
436+str=string.rep("\u{61}",blen - 0x1) .. "\u{25}\u{70}" .. string.rep("\u{63}\u{64}",blen)
437437testpfs("\u{50}",str,{})
438−str=(string.rep("\u{25}\u{25}",(0x3 * blen)) .. ("\u{25}\u{70}" .. string.rep("\u{25}\u{25}",(0x2 * blen))))
438+str=string.rep("\u{25}\u{25}",0x3 * blen) .. "\u{25}\u{70}" .. string.rep("\u{25}\u{25}",0x2 * blen)
439439testpfs("\u{50}",str,{})
440440end
441441print("\u{4f}\u{4b}")
desk/res/lua/cycled/tpack.lua+133−133
@@ -13,84 +13,84 @@ local sizedouble = packsize("\u{64}")
1313local sizenumber = packsize("\u{6e}")
1414local little = (pack("\u{69}\u{32}",0x1) == "\u{1}\u{0}")
1515local align = packsize("\u{21}\u{78}\u{58}\u{69}\u{31}\u{36}")
16−assert(((((0x1 <= sizeshort) and (sizeshort <= sizeint)) and (sizeint <= sizelong)) and (sizefloat <= sizedouble)))
16+assert(0x1 <= sizeshort and sizeshort <= sizeint and sizeint <= sizelong and sizefloat <= sizedouble)
1717print("\u{70}\u{6c}\u{61}\u{74}\u{66}\u{6f}\u{72}\u{6d}\u{3a}")
1818print(string.format("\u{9}\u{73}\u{68}\u{6f}\u{72}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{69}\u{6e}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{6c}\u{6f}\u{6e}\u{67}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{73}\u{69}\u{7a}\u{65}\u{5f}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{64}\u{6f}\u{75}\u{62}\u{6c}\u{65}\u{20}\u{25}\u{64}\u{2c}\u{a}\u{9}\u{6c}\u{75}\u{61}\u{20}\u{49}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}\u{20}\u{25}\u{64}\u{2c}\u{20}\u{6c}\u{75}\u{61}\u{20}\u{4e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{20}\u{25}\u{64}",sizeshort,sizeint,sizelong,sizesize_t,sizefloat,sizedouble,sizeLI,sizenumber))
19−print(("\u{9}" .. (((little and "\u{6c}\u{69}\u{74}\u{74}\u{6c}\u{65}") or "\u{62}\u{69}\u{67}") .. "\u{20}\u{65}\u{6e}\u{64}\u{69}\u{61}\u{6e}")))
20−print(("\u{9}\u{61}\u{6c}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{3a}\u{20}" .. align))
19+print("\u{9}" .. (little and "\u{6c}\u{69}\u{74}\u{74}\u{6c}\u{65}" or "\u{62}\u{69}\u{67}") .. "\u{20}\u{65}\u{6e}\u{64}\u{69}\u{61}\u{6e}")
20+print("\u{9}\u{61}\u{6c}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}\u{3a}\u{20}" .. align)
2121local function checkerror
2222(msg,f, ...)
2323local status,err = pcall(f,...)
24−assert((not (status and string.find(err,msg))))
24+assert(not status and string.find(err,msg))
2525end
26−assert((unpack("\u{42}",pack("\u{42}",0xff)) == 0xff))
27−assert((unpack("\u{62}",pack("\u{62}",0x7f)) == 0x7f))
28−assert((unpack("\u{62}",pack("\u{62}",(- 0x80))) == (- 0x80)))
29−assert((unpack("\u{48}",pack("\u{48}",0xffff)) == 0xffff))
30−assert((unpack("\u{68}",pack("\u{68}",0x7fff)) == 0x7fff))
31−assert((unpack("\u{68}",pack("\u{68}",(- 0x8000))) == (- 0x8000)))
32−assert((unpack("\u{4c}",pack("\u{4c}",0xffffffff)) == 0xffffffff))
33−assert((unpack("\u{6c}",pack("\u{6c}",0x7fffffff)) == 0x7fffffff))
34−assert((unpack("\u{6c}",pack("\u{6c}",(- 0x80000000))) == (- 0x80000000)))
26+assert(unpack("\u{42}",pack("\u{42}",0xff)) == 0xff)
27+assert(unpack("\u{62}",pack("\u{62}",0x7f)) == 0x7f)
28+assert(unpack("\u{62}",pack("\u{62}",- 0x80)) == - 0x80)
29+assert(unpack("\u{48}",pack("\u{48}",0xffff)) == 0xffff)
30+assert(unpack("\u{68}",pack("\u{68}",0x7fff)) == 0x7fff)
31+assert(unpack("\u{68}",pack("\u{68}",- 0x8000)) == - 0x8000)
32+assert(unpack("\u{4c}",pack("\u{4c}",0xffffffff)) == 0xffffffff)
33+assert(unpack("\u{6c}",pack("\u{6c}",0x7fffffff)) == 0x7fffffff)
34+assert(unpack("\u{6c}",pack("\u{6c}",- 0x80000000)) == - 0x80000000)
3535for i = 0x1, NB
3636do
3737local s = string.rep("\u{ff}",i)
38−assert((pack(("\u{69}" .. i),(- 0x1)) == s))
39−assert((packsize(("\u{69}" .. i)) == (# s)))
40−assert((unpack(("\u{69}" .. i),s) == (- 0x1)))
41−s=("\u{aa}" .. string.rep("\u{0}",(i - 0x1)))
42−assert((pack(("\u{3c}\u{49}" .. i),0xaa) == s))
43−assert((unpack(("\u{3c}\u{49}" .. i),s) == 0xaa))
44−assert((pack(("\u{3e}\u{49}" .. i),0xaa) == s:reverse()))
45−assert((unpack(("\u{3e}\u{49}" .. i),s:reverse()) == 0xaa))
38+assert(pack("\u{69}" .. i,- 0x1) == s)
39+assert(packsize("\u{69}" .. i) == # s)
40+assert(unpack("\u{69}" .. i,s) == - 0x1)
41+s="\u{aa}" .. string.rep("\u{0}",i - 0x1)
42+assert(pack("\u{3c}\u{49}" .. i,0xaa) == s)
43+assert(unpack("\u{3c}\u{49}" .. i,s) == 0xaa)
44+assert(pack("\u{3e}\u{49}" .. i,0xaa) == s:reverse())
45+assert(unpack("\u{3e}\u{49}" .. i,s:reverse()) == 0xaa)
4646end
4747do
4848local lnum = 0x807060504030201
4949local s = pack("\u{3c}\u{6a}",lnum)
50−assert((unpack("\u{3c}\u{6a}",s) == lnum))
51−assert((unpack(("\u{3c}\u{69}" .. (sizeLI + 0x1)),(s .. "\u{0}")) == lnum))
52−assert((unpack(("\u{3c}\u{69}" .. (sizeLI + 0x1)),(s .. "\u{0}")) == lnum))
53−for i = (sizeLI + 0x1), NB
50+assert(unpack("\u{3c}\u{6a}",s) == lnum)
51+assert(unpack("\u{3c}\u{69}" .. sizeLI + 0x1,s .. "\u{0}") == lnum)
52+assert(unpack("\u{3c}\u{69}" .. sizeLI + 0x1,s .. "\u{0}") == lnum)
53+for i = sizeLI + 0x1, NB
5454do
55−local s = pack("\u{3c}\u{6a}",(- lnum))
56−assert((unpack("\u{3c}\u{6a}",s) == (- lnum)))
57−assert((unpack(("\u{3c}\u{69}" .. i),(s .. ("\u{ff}"):rep((i - sizeLI)))) == (- lnum)))
58−assert((unpack(("\u{3e}\u{69}" .. i),(("\u{ff}"):rep((i - sizeLI)) .. s:reverse())) == (- lnum)))
59−assert((unpack(("\u{3c}\u{49}" .. i),(s .. ("\u{0}"):rep((i - sizeLI)))) == (- lnum)))
60−checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,("\u{3c}\u{49}" .. i),(("\u{0}"):rep((i - 0x1)) .. "\u{1}"))
61−checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,("\u{3e}\u{69}" .. i),("\u{1}" .. ("\u{0}"):rep((i - 0x1))))
55+local s = pack("\u{3c}\u{6a}",- lnum)
56+assert(unpack("\u{3c}\u{6a}",s) == - lnum)
57+assert(unpack("\u{3c}\u{69}" .. i,s .. ("\u{ff}"):rep(i - sizeLI)) == - lnum)
58+assert(unpack("\u{3e}\u{69}" .. i,("\u{ff}"):rep(i - sizeLI) .. s:reverse()) == - lnum)
59+assert(unpack("\u{3c}\u{49}" .. i,s .. ("\u{0}"):rep(i - sizeLI)) == - lnum)
60+checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,"\u{3c}\u{49}" .. i,("\u{0}"):rep(i - 0x1) .. "\u{1}")
61+checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",unpack,"\u{3e}\u{69}" .. i,"\u{1}" .. ("\u{0}"):rep(i - 0x1))
6262end
6363end
6464for i = 0x1, sizeLI
6565do
6666local lstr = "\u{1}\u{2}\u{3}\u{4}\u{5}\u{6}\u{7}\u{8}\u{9}\u{a}\u{b}\u{c}\u{d}"
6767local lnum = 0x807060504030201
68−local n = (lnum & (~ (- (0x1 << (i * 0x8)))))
68+local n = lnum & (~ (- 0x1 << (i * 0x8)))
6969local s = string.sub(lstr,0x1,i)
70−assert((pack(("\u{3c}\u{69}" .. i),n) == s))
71−assert((pack(("\u{3e}\u{69}" .. i),n) == s:reverse()))
72−assert((unpack(("\u{3e}\u{69}" .. i),s:reverse()) == n))
70+assert(pack("\u{3c}\u{69}" .. i,n) == s)
71+assert(pack("\u{3e}\u{69}" .. i,n) == s:reverse())
72+assert(unpack("\u{3e}\u{69}" .. i,s:reverse()) == n)
7373end
7474do
7575local u = 0xf0
76−for i = 0x1, (sizeLI - 0x1)
76+for i = 0x1, sizeLI - 0x1
7777do
78−assert((unpack(("\u{3c}\u{69}" .. i),("\u{f0}" .. ("\u{ff}"):rep((i - 0x1)))) == (- 0x10)))
79−assert((unpack(("\u{3e}\u{49}" .. i),("\u{f0}" .. ("\u{ff}"):rep((i - 0x1)))) == u))
80−u=((u * 0x100) + 0xff)
78+assert(unpack("\u{3c}\u{69}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 0x1)) == - 0x10)
79+assert(unpack("\u{3e}\u{49}" .. i,"\u{f0}" .. ("\u{ff}"):rep(i - 0x1)) == u)
80+u=u * 0x100 + 0xff
8181end
8282end
8383do
84−assert((pack("\u{3e}\u{69}\u{32}\u{20}\u{3c}\u{69}\u{32}",0xa,0x14) == "\u{0}\u{a}\u{14}\u{0}"))
84+assert(pack("\u{3e}\u{69}\u{32}\u{20}\u{3c}\u{69}\u{32}",0xa,0x14) == "\u{0}\u{a}\u{14}\u{0}")
8585local a,b = unpack("\u{3c}\u{69}\u{32}\u{20}\u{3e}\u{69}\u{32}","\u{a}\u{0}\u{0}\u{14}")
86−assert(((a == 0xa) and (b == 0x14)))
87−assert((pack("\u{3d}\u{69}\u{34}",0x7d1) == pack("\u{69}\u{34}",0x7d1)))
86+assert(a == 0xa and b == 0x14)
87+assert(pack("\u{3d}\u{69}\u{34}",0x7d1) == pack("\u{69}\u{34}",0x7d1))
8888end
8989print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{73}")
9090checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{69}\u{30}",0x0)
91−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,("\u{69}" .. (NB + 0x1)),0x0)
92−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,("\u{21}" .. (NB + 0x1)),0x0)
93−checkerror("\u{25}\u{28}\u{31}\u{37}\u{25}\u{29}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}\u{20}\u{25}\u{5b}\u{31}\u{2c}\u{31}\u{36}\u{25}\u{5d}",pack,("\u{58}\u{69}" .. (NB + 0x1)))
91+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{69}" .. NB + 0x1,0x0)
92+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{21}" .. NB + 0x1,0x0)
93+checkerror("\u{25}\u{28}\u{31}\u{37}\u{25}\u{29}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}\u{20}\u{25}\u{5b}\u{31}\u{2c}\u{31}\u{36}\u{25}\u{5d}",pack,"\u{58}\u{69}" .. NB + 0x1)
9494checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{27}\u{72}\u{27}",pack,"\u{69}\u{33}\u{72}",0x0)
9595checkerror("\u{31}\u{36}\u{25}\u{2d}\u{62}\u{79}\u{74}\u{65}\u{20}\u{69}\u{6e}\u{74}\u{65}\u{67}\u{65}\u{72}",unpack,"\u{69}\u{31}\u{36}",string.rep("\u{3}",0x10))
9696checkerror("\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{6f}\u{77}\u{65}\u{72}\u{20}\u{6f}\u{66}\u{20}\u{32}",pack,"\u{21}\u{34}\u{69}\u{33}",0x0)
@@ -98,135 +98,135 @@ checkerror("\u{6e}\u{6f}\u{74}\u{20}\u{70}\u{6f}\u{77}\u{65}\u{72}\u{20}\u{6f}\u
9898checkerror("\u{6d}\u{69}\u{73}\u{73}\u{69}\u{6e}\u{67}\u{20}\u{73}\u{69}\u{7a}\u{65}",pack,"\u{63}","")
9999checkerror("\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{2d}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{73}")
100100checkerror("\u{76}\u{61}\u{72}\u{69}\u{61}\u{62}\u{6c}\u{65}\u{25}\u{2d}\u{6c}\u{65}\u{6e}\u{67}\u{74}\u{68}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{7a}")
101−checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,("\u{63}\u{31}" .. string.rep("\u{30}",0x28)))
102−if (packsize("\u{69}") == 0x4) then
103−local s = string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",(0x2 ^ 0x3))
101+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{66}\u{6f}\u{72}\u{6d}\u{61}\u{74}",packsize,"\u{63}\u{31}" .. string.rep("\u{30}",0x28))
102+if packsize("\u{69}") == 0x4 then
103+local s = string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",0x2 ^ 0x3)
104104checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{6c}\u{61}\u{72}\u{67}\u{65}",packsize,s)
105−s=(string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",((0x2 ^ 0x3) - 0x1)) .. "\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{35}")
106−assert((packsize(s) == 0x7fffffff))
105+s=string.rep("\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{36}",0x2 ^ 0x3 - 0x1) .. "\u{63}\u{32}\u{36}\u{38}\u{34}\u{33}\u{35}\u{34}\u{35}\u{35}"
106+assert(packsize(s) == 0x7fffffff)
107107end
108−for i = 0x1, (sizeLI - 0x1)
108+for i = 0x1, sizeLI - 0x1
109109do
110−local umax = ((0x1 << (i * 0x8)) - 0x1)
111−local max = (umax >> 0x1)
112−local min = (~ max)
113−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3c}\u{49}" .. i),(- 0x1))
114−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3c}\u{49}" .. i),min)
115−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3e}\u{49}" .. i),(umax + 0x1))
116−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3e}\u{69}" .. i),umax)
117−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3e}\u{69}" .. i),(max + 0x1))
118−checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,("\u{3c}\u{69}" .. i),(min - 0x1))
119−assert((unpack(("\u{3e}\u{69}" .. i),pack(("\u{3e}\u{69}" .. i),max)) == max))
120−assert((unpack(("\u{3c}\u{69}" .. i),pack(("\u{3c}\u{69}" .. i),min)) == min))
121−assert((unpack(("\u{3e}\u{49}" .. i),pack(("\u{3e}\u{49}" .. i),umax)) == umax))
110+local umax = (0x1 << (i * 0x8)) - 0x1
111+local max = umax >> 0x1
112+local min = ~ max
113+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{49}" .. i,- 0x1)
114+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{49}" .. i,min)
115+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{49}" .. i,umax + 0x1)
116+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{69}" .. i,umax)
117+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3e}\u{69}" .. i,max + 0x1)
118+checkerror("\u{6f}\u{76}\u{65}\u{72}\u{66}\u{6c}\u{6f}\u{77}",pack,"\u{3c}\u{69}" .. i,min - 0x1)
119+assert(unpack("\u{3e}\u{69}" .. i,pack("\u{3e}\u{69}" .. i,max)) == max)
120+assert(unpack("\u{3c}\u{69}" .. i,pack("\u{3c}\u{69}" .. i,min)) == min)
121+assert(unpack("\u{3e}\u{49}" .. i,pack("\u{3e}\u{49}" .. i,umax)) == umax)
122122end
123−assert((unpack("\u{3e}\u{6a}",pack("\u{3e}\u{6a}",math.maxinteger)) == math.maxinteger))
124−assert((unpack("\u{3c}\u{6a}",pack("\u{3c}\u{6a}",math.mininteger)) == math.mininteger))
125−assert((unpack("\u{3c}\u{4a}",pack("\u{3c}\u{6a}",(- 0x1))) == (- 0x1)))
123+assert(unpack("\u{3e}\u{6a}",pack("\u{3e}\u{6a}",math.maxinteger)) == math.maxinteger)
124+assert(unpack("\u{3c}\u{6a}",pack("\u{3c}\u{6a}",math.mininteger)) == math.mininteger)
125+assert(unpack("\u{3c}\u{4a}",pack("\u{3c}\u{6a}",- 0x1)) == - 0x1)
126126if little then
127−assert((pack("\u{66}",0x18) == pack("\u{3c}\u{66}",0x18)))
127+assert(pack("\u{66}",0x18) == pack("\u{3c}\u{66}",0x18))
128128else
129−assert((pack("\u{66}",0x18) == pack("\u{3e}\u{66}",0x18)))
129+assert(pack("\u{66}",0x18) == pack("\u{3e}\u{66}",0x18))
130130end
131131print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{2f}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{66}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{69}\u{6e}\u{67}\u{2d}\u{70}\u{6f}\u{69}\u{6e}\u{74}\u{20}\u{6e}\u{75}\u{6d}\u{62}\u{65}\u{72}\u{73}")
132−for _,n in ipairs({0x0,(- 1.1),1.9,(0x1 / 0x0),(- (0x1 / 0x0)),1e20,(- 1e20),0.1,2000.7})
132+for _,n in ipairs({0x0,- 1.1,1.9,0x1 / 0x0,- 0x1 / 0x0,1e20,- 1e20,0.1,2000.7})
133133do
134−assert((unpack("\u{6e}",pack("\u{6e}",n)) == n))
135−assert((unpack("\u{3c}\u{6e}",pack("\u{3c}\u{6e}",n)) == n))
136−assert((unpack("\u{3e}\u{6e}",pack("\u{3e}\u{6e}",n)) == n))
137−assert((pack("\u{3c}\u{66}",n) == pack("\u{3e}\u{66}",n):reverse()))
138−assert((pack("\u{3e}\u{64}",n) == pack("\u{3c}\u{64}",n):reverse()))
134+assert(unpack("\u{6e}",pack("\u{6e}",n)) == n)
135+assert(unpack("\u{3c}\u{6e}",pack("\u{3c}\u{6e}",n)) == n)
136+assert(unpack("\u{3e}\u{6e}",pack("\u{3e}\u{6e}",n)) == n)
137+assert(pack("\u{3c}\u{66}",n) == pack("\u{3e}\u{66}",n):reverse())
138+assert(pack("\u{3e}\u{64}",n) == pack("\u{3c}\u{64}",n):reverse())
139139end
140−for _,n in ipairs({0x0,(- 1.5),(0x1 / 0x0),(- (0x1 / 0x0)),1e10,(- 1e9),0.5,2000.25})
140+for _,n in ipairs({0x0,- 1.5,0x1 / 0x0,- 0x1 / 0x0,1e10,- 1e9,0.5,2000.25})
141141do
142−assert((unpack("\u{3c}\u{66}",pack("\u{3c}\u{66}",n)) == n))
143−assert((unpack("\u{3e}\u{66}",pack("\u{3e}\u{66}",n)) == n))
144−assert((unpack("\u{3c}\u{64}",pack("\u{3c}\u{64}",n)) == n))
145−assert((unpack("\u{3e}\u{64}",pack("\u{3e}\u{64}",n)) == n))
142+assert(unpack("\u{3c}\u{66}",pack("\u{3c}\u{66}",n)) == n)
143+assert(unpack("\u{3e}\u{66}",pack("\u{3e}\u{66}",n)) == n)
144+assert(unpack("\u{3c}\u{64}",pack("\u{3c}\u{64}",n)) == n)
145+assert(unpack("\u{3e}\u{64}",pack("\u{3e}\u{64}",n)) == n)
146146end
147147print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{70}\u{61}\u{63}\u{6b}\u{2f}\u{75}\u{6e}\u{70}\u{61}\u{63}\u{6b}\u{20}\u{6f}\u{66}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}\u{73}")
148148do
149149local s = string.rep("\u{61}\u{62}\u{63}",0x3e8)
150−assert((pack("\u{7a}\u{42}",s,0xf7) == (s .. "\u{0}\u{f7}")))
151−local s1,b = unpack("\u{7a}\u{42}",(s .. "\u{0}\u{f9}"))
152−assert(((b == 0xf9) and (s1 == s)))
150+assert(pack("\u{7a}\u{42}",s,0xf7) == s .. "\u{0}\u{f7}")
151+local s1,b = unpack("\u{7a}\u{42}",s .. "\u{0}\u{f9}")
152+assert(b == 0xf9 and s1 == s)
153153s1=pack("\u{73}",s)
154−assert((unpack("\u{73}",s1) == s))
154+assert(unpack("\u{73}",s1) == s)
155155checkerror("\u{64}\u{6f}\u{65}\u{73}\u{20}\u{6e}\u{6f}\u{74}\u{20}\u{66}\u{69}\u{74}",pack,"\u{73}\u{31}",s)
156156checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{61}\u{69}\u{6e}\u{73}\u{20}\u{7a}\u{65}\u{72}\u{6f}\u{73}",pack,"\u{7a}","\u{61}\u{6c}\u{6f}\u{0}")
157157;
158158checkerror("\u{75}\u{6e}\u{66}\u{69}\u{6e}\u{69}\u{73}\u{68}\u{65}\u{64}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",unpack,"\u{7a}\u{63}\u{31}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}\u{30}","\u{61}\u{6c}\u{6f}")
159159for i = 0x2, NB
160160do
161−local s1 = pack(("\u{73}" .. i),s)
162−assert(((unpack(("\u{73}" .. i),s1) == s) and (# (s1 == (# (s + i))))))
161+local s1 = pack("\u{73}" .. i,s)
162+assert(unpack("\u{73}" .. i,s1) == s and # s1 == # s + i)
163163end
164164end
165165do
166166local x = pack("\u{73}","\u{61}\u{6c}\u{6f}")
167−checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}",unpack,"\u{73}",x:sub(0x1,(- 0x2)))
167+checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}",unpack,"\u{73}",x:sub(0x1,- 0x2))
168168checkerror("\u{74}\u{6f}\u{6f}\u{20}\u{73}\u{68}\u{6f}\u{72}\u{74}",unpack,"\u{63}\u{35}","\u{61}\u{62}\u{63}\u{64}")
169169checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{6c}\u{69}\u{6d}\u{69}\u{74}\u{73}",pack,"\u{73}\u{31}\u{30}\u{30}","\u{61}\u{6c}\u{6f}")
170170end
171171do
172−assert((pack("\u{63}\u{30}","") == ""))
173−assert((packsize("\u{63}\u{30}") == 0x0))
174−assert((unpack("\u{63}\u{30}","") == ""))
175−assert((pack("\u{3c}\u{21}\u{20}\u{63}\u{33}","\u{61}\u{62}\u{63}") == "\u{61}\u{62}\u{63}"))
176−assert((packsize("\u{3c}\u{21}\u{20}\u{63}\u{33}") == 0x3))
177−assert((pack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{36}","\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}"))
178−assert((pack("\u{63}\u{33}","\u{31}\u{32}\u{33}") == "\u{31}\u{32}\u{33}"))
179−assert((pack("\u{63}\u{30}","") == ""))
180−assert((pack("\u{63}\u{38}","\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}") == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{0}\u{0}"))
181−assert((pack("\u{63}\u{38}\u{38}","") == string.rep("\u{0}",0x58)))
182−assert((pack("\u{63}\u{31}\u{38}\u{38}","\u{61}\u{62}") == ("\u{61}\u{62}" .. string.rep("\u{0}",(0xbc - 0x2)))))
172+assert(pack("\u{63}\u{30}","") == "")
173+assert(packsize("\u{63}\u{30}") == 0x0)
174+assert(unpack("\u{63}\u{30}","") == "")
175+assert(pack("\u{3c}\u{21}\u{20}\u{63}\u{33}","\u{61}\u{62}\u{63}") == "\u{61}\u{62}\u{63}")
176+assert(packsize("\u{3c}\u{21}\u{20}\u{63}\u{33}") == 0x3)
177+assert(pack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{36}","\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}") == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}")
178+assert(pack("\u{63}\u{33}","\u{31}\u{32}\u{33}") == "\u{31}\u{32}\u{33}")
179+assert(pack("\u{63}\u{30}","") == "")
180+assert(pack("\u{63}\u{38}","\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}") == "\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{0}\u{0}")
181+assert(pack("\u{63}\u{38}\u{38}","") == string.rep("\u{0}",0x58))
182+assert(pack("\u{63}\u{31}\u{38}\u{38}","\u{61}\u{62}") == "\u{61}\u{62}" .. string.rep("\u{0}",0xbc - 0x2))
183183local a,b,c = unpack("\u{21}\u{34}\u{20}\u{7a}\u{20}\u{63}\u{33}","\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}\u{0}\u{78}\u{79}\u{7a}")
184−assert((((a == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}") and (b == "\u{78}\u{79}\u{7a}")) and (c == 0xe)))
184+assert(a == "\u{61}\u{62}\u{63}\u{64}\u{65}\u{66}\u{67}\u{68}\u{69}" and b == "\u{78}\u{79}\u{7a}" and c == 0xe)
185185checkerror("\u{6c}\u{6f}\u{6e}\u{67}\u{65}\u{72}\u{20}\u{74}\u{68}\u{61}\u{6e}",pack,"\u{63}\u{33}","\u{31}\u{32}\u{33}\u{34}")
186186end
187187do
188188local x = pack("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}",0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8)
189−assert((# (x == packsize("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}"))))
189+assert(# x == packsize("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}"))
190190local a,b,c,d,e,f,g,h = unpack("\u{3c}\u{62}\u{20}\u{68}\u{20}\u{62}\u{20}\u{66}\u{20}\u{64}\u{20}\u{66}\u{20}\u{6e}\u{20}\u{69}",x)
191−assert(((((((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (d == 0x4)) and (e == 0x5)) and (f == 0x6)) and (g == 0x7)) and (h == 0x8)))
191+assert(a == 0x1 and b == 0x2 and c == 0x3 and d == 0x4 and e == 0x5 and f == 0x6 and g == 0x7 and h == 0x8)
192192end
193193print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{61}\u{6c}\u{69}\u{67}\u{6e}\u{6d}\u{65}\u{6e}\u{74}")
194194do
195−assert((pack("\u{20}\u{3c}\u{20}\u{69}\u{31}\u{20}\u{69}\u{32}\u{20}",0x2,0x3) == "\u{2}\u{3}\u{0}"))
196−local x = pack("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}",(- 0xc),0x64,0xc8,"\u{ec}")
197−assert((# (x == packsize("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}"))))
198−assert((x == ("\u{f4}" .. ("\u{0}\u{0}\u{0}" .. ("\u{0}\u{0}\u{0}\u{64}" .. ("\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{c8}" .. ("\u{ec}" .. "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}")))))))
195+assert(pack("\u{20}\u{3c}\u{20}\u{69}\u{31}\u{20}\u{69}\u{32}\u{20}",0x2,0x3) == "\u{2}\u{3}\u{0}")
196+local x = pack("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}",- 0xc,0x64,0xc8,"\u{ec}")
197+assert(# x == packsize("\u{3e}\u{21}\u{38}\u{20}\u{62}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{69}\u{38}"))
198+assert(x == "\u{f4}" .. "\u{0}\u{0}\u{0}" .. "\u{0}\u{0}\u{0}\u{64}" .. "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{c8}" .. "\u{ec}" .. "\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}\u{0}")
199199local a,b,c,d,pos = unpack("\u{3e}\u{21}\u{38}\u{20}\u{63}\u{31}\u{20}\u{58}\u{68}\u{20}\u{69}\u{34}\u{20}\u{69}\u{38}\u{20}\u{62}\u{20}\u{58}\u{69}\u{38}\u{20}\u{58}\u{49}\u{20}\u{58}\u{48}",x)
200−assert(((((a == "\u{f4}") and (b == 0x64)) and (c == 0xc8)) and (d == (- (0x14 and ((pos - 0x1) == (# x)))))))
200+assert(a == "\u{f4}" and b == 0x64 and c == 0xc8 and d == - 0x14 and (pos - 0x1) == # x)
201201x=pack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{33}\u{20}\u{63}\u{34}\u{20}\u{63}\u{32}\u{20}\u{7a}\u{20}\u{69}\u{34}\u{20}\u{63}\u{35}\u{20}\u{63}\u{32}\u{20}\u{58}\u{69}\u{34}","\u{61}\u{62}\u{63}","\u{61}\u{62}\u{63}\u{64}","\u{78}\u{7a}","\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x5,"\u{77}\u{6f}\u{72}\u{6c}\u{64}","\u{78}\u{79}")
202−assert((x == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}\u{64}\u{78}\u{7a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{0}\u{0}\u{0}\u{0}\u{0}\u{5}\u{77}\u{6f}\u{72}\u{6c}\u{64}\u{78}\u{79}\u{0}"))
202+assert(x == "\u{61}\u{62}\u{63}\u{61}\u{62}\u{63}\u{64}\u{78}\u{7a}\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{0}\u{0}\u{0}\u{0}\u{0}\u{5}\u{77}\u{6f}\u{72}\u{6c}\u{64}\u{78}\u{79}\u{0}")
203203local a,b,c,d,e,f,g,pos = unpack("\u{3e}\u{21}\u{34}\u{20}\u{63}\u{33}\u{20}\u{63}\u{34}\u{20}\u{63}\u{32}\u{20}\u{7a}\u{20}\u{69}\u{34}\u{20}\u{63}\u{35}\u{20}\u{63}\u{32}\u{20}\u{58}\u{68}\u{20}\u{58}\u{69}\u{34}",x)
204−assert(((((((((a == "\u{61}\u{62}\u{63}") and (b == "\u{61}\u{62}\u{63}\u{64}")) and (c == "\u{78}\u{7a}")) and (d == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}")) and (e == 0x5)) and (f == "\u{77}\u{6f}\u{72}\u{6c}\u{64}")) and (g == "\u{78}\u{79}")) and (((pos - 0x1) % 0x4) == 0x0)))
204+assert(a == "\u{61}\u{62}\u{63}" and b == "\u{61}\u{62}\u{63}\u{64}" and c == "\u{78}\u{7a}" and d == "\u{68}\u{65}\u{6c}\u{6c}\u{6f}" and e == 0x5 and f == "\u{77}\u{6f}\u{72}\u{6c}\u{64}" and g == "\u{78}\u{79}" and (pos - 0x1) % 0x4 == 0x0)
205205x=pack("\u{20}\u{62}\u{20}\u{62}\u{20}\u{58}\u{64}\u{20}\u{62}\u{20}\u{58}\u{62}\u{20}\u{78}",0x1,0x2,0x3)
206−assert((packsize("\u{20}\u{62}\u{20}\u{62}\u{20}\u{58}\u{64}\u{20}\u{62}\u{20}\u{58}\u{62}\u{20}\u{78}") == 0x4))
207−assert((x == "\u{1}\u{2}\u{3}\u{0}"))
206+assert(packsize("\u{20}\u{62}\u{20}\u{62}\u{20}\u{58}\u{64}\u{20}\u{62}\u{20}\u{58}\u{62}\u{20}\u{78}") == 0x4)
207+assert(x == "\u{1}\u{2}\u{3}\u{0}")
208208a,b,c,pos=unpack("\u{62}\u{62}\u{58}\u{64}\u{62}",x)
209−assert(((((a == 0x1) and (b == 0x2)) and (c == 0x3)) and (pos == (# x))))
210−assert((packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x8))
209+assert(a == 0x1 and b == 0x2 and c == 0x3 and pos == # x)
210+assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x8)
211211local pos = unpack("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{38}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
212212;
213−assert((pos == 0x9))
214−assert((packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2))
213+assert(pos == 0x9)
214+assert(packsize("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2)
215215local pos = unpack("\u{21}\u{38}\u{20}\u{78}\u{58}\u{69}\u{32}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
216216;
217−assert((pos == 0x3))
218−assert((packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2))
217+assert(pos == 0x3)
218+assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}") == 0x2)
219219local pos = unpack("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{32}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
220220;
221−assert((pos == 0x3))
222−assert((packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x2))
221+assert(pos == 0x3)
222+assert(packsize("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}") == 0x2)
223223local pos = unpack("\u{21}\u{32}\u{20}\u{78}\u{58}\u{69}\u{38}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
224224;
225−assert((pos == 0x3))
226−assert((packsize("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}") == 0x10))
225+assert(pos == 0x3)
226+assert(packsize("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}") == 0x10)
227227local pos = unpack("\u{21}\u{31}\u{36}\u{20}\u{78}\u{58}\u{69}\u{31}\u{36}","\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}\u{30}\u{31}\u{32}\u{33}\u{34}\u{35}\u{36}\u{37}")
228228;
229−assert((pos == 0x11))
229+assert(pos == 0x11)
230230checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",pack,"\u{58}")
231231checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",unpack,"\u{58}\u{58}\u{69}","")
232232checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{6e}\u{65}\u{78}\u{74}\u{20}\u{6f}\u{70}\u{74}\u{69}\u{6f}\u{6e}",unpack,"\u{58}\u{20}\u{69}","")
@@ -237,23 +237,23 @@ local x = pack("\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}\u{69}\u{34}",0x1,0x2,0x3,0x
237237for pos = 0x1, 0x10, 0x4
238238do
239239local i,p = unpack("\u{69}\u{34}",x,pos)
240−assert(((i == ((pos // 0x4) + 0x1)) and (p == (pos + 0x4))))
240+assert(i == pos // 0x4 + 0x1 and p == pos + 0x4)
241241end
242242for pos = 0x0, 0xc
243243do
244−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(pos + 0x1))
245−assert(((i == (((pos + 0x3) // 0x4) + 0x1)) and (p == ((i * 0x4) + 0x1))))
244+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,pos + 0x1)
245+assert(i == (pos + 0x3) // 0x4 + 0x1 and p == i * 0x4 + 0x1)
246246end
247−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- 0x4))
248−assert(((i == 0x4) and (p == 0x11)))
249−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- 0x7))
250−assert(((i == 0x4) and (p == 0x11)))
251−local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,(- (# x)))
252−assert(((i == 0x1) and (p == 0x5)))
253−for i = 0x1, (# (x + 0x1))
247+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 0x4)
248+assert(i == 0x4 and p == 0x11)
249+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- 0x7)
250+assert(i == 0x4 and p == 0x11)
251+local i,p = unpack("\u{21}\u{34}\u{20}\u{69}\u{34}",x,- # x)
252+assert(i == 0x1 and p == 0x5)
253+for i = 0x1, # x + 0x1
254254do
255−assert((unpack("\u{63}\u{30}",x,i) == ""))
255+assert(unpack("\u{63}\u{30}",x,i) == "")
256256end
257−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",unpack,"\u{63}\u{30}",x,(# (x + 0x2)))
257+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{73}\u{74}\u{72}\u{69}\u{6e}\u{67}",unpack,"\u{63}\u{30}",x,# x + 0x2)
258258end
259259print("\u{4f}\u{4b}")
desk/res/lua/cycled/tracegc.lua+1−1
@@ -10,7 +10,7 @@ setmetatable(o,mt)
1010end
1111end
1212function M.start()
13−if (not active) then
13+if not active then
1414active=true
1515setmetatable({},mt)
1616end
desk/res/lua/cycled/utf8.lua+78−78
@@ -3,94 +3,94 @@ local utf8 = require("\u{75}\u{74}\u{66}\u{38}")
33local function checkerror
44(msg,f, ...)
55local s,err = pcall(f,...)
6−assert((not (s and string.find(err,msg))))
6+assert(not s and string.find(err,msg))
77end
88local function len
99(s)
10−return (# string.gsub(s,"\u{5b}\u{80}\u{2d}\u{bf}\u{5d}",""))
10+return # string.gsub(s,"\u{5b}\u{80}\u{2d}\u{bf}\u{5d}","")
1111end
12−local justone = ("\u{5e}" .. (utf8.charpattern .. "\u{24}"))
12+local justone = "\u{5e}" .. utf8.charpattern .. "\u{24}"
1313local function checksyntax
1414(s,t)
1515local ts = {"\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{27}"}
16−for i = 0x1, (# t)
16+for i = 0x1, # t
1717do
18−ts[(i + 0x1)]=string.format("\u{5c}\u{75}\u{7b}\u{25}\u{78}\u{7d}",t[i])
18+ts[i + 0x1]=string.format("\u{5c}\u{75}\u{7b}\u{25}\u{78}\u{7d}",t[i])
1919end
20−ts[(# (t + 0x2))]="\u{27}"
20+ts[# t + 0x2]="\u{27}"
2121ts=table.concat(ts)
22−assert((assert(load(ts))() == s))
22+assert(assert(load(ts))() == s)
2323end
24−assert((not utf8.offset("\u{61}\u{6c}\u{6f}",0x5)))
25−assert((not utf8.offset("\u{61}\u{6c}\u{6f}",(- 0x4))))
24+assert(not utf8.offset("\u{61}\u{6c}\u{6f}",0x5))
25+assert(not utf8.offset("\u{61}\u{6c}\u{6f}",- 0x4))
2626local function check
2727(s,t,nonstrict)
28−local l = utf8.len(s,0x1,(- 0x1),nonstrict)
29−assert((# ((t == l) and (len(s) == l))))
30−assert((utf8.char(table.unpack(t)) == s))
31−assert((utf8.offset(s,0x0) == 0x1))
28+local l = utf8.len(s,0x1,- 0x1,nonstrict)
29+assert(# t == l and len(s) == l)
30+assert(utf8.char(table.unpack(t)) == s)
31+assert(utf8.offset(s,0x0) == 0x1)
3232checksyntax(s,t)
33−local t1 = {utf8.codepoint(s,0x1,(- 0x1),nonstrict)}
34−assert((# (t == (# t1))))
35−for i = 0x1, (# t)
33+local t1 = {utf8.codepoint(s,0x1,- 0x1,nonstrict)}
34+assert(# t == # t1)
35+for i = 0x1, # t
3636do
37−assert((t[i] == t1[i]))
37+assert(t[i] == t1[i])
3838end
3939for i = 0x1, l
4040do
4141local pi = utf8.offset(s,i)
4242local pi1 = utf8.offset(s,0x2,pi)
43−assert(string.find(string.sub(s,pi,(pi1 - 0x1)),justone))
44−assert((utf8.offset(s,(- 0x1),pi1) == pi))
45−assert((utf8.offset(s,((i - l) - 0x1)) == pi))
46−assert(((pi1 - pi) == (# utf8.char(utf8.codepoint(s,pi,pi,nonstrict)))))
47−for j = pi, (pi1 - 0x1)
43+assert(string.find(string.sub(s,pi,pi1 - 0x1),justone))
44+assert(utf8.offset(s,- 0x1,pi1) == pi)
45+assert(utf8.offset(s,i - l - 0x1) == pi)
46+assert(pi1 - pi == # utf8.char(utf8.codepoint(s,pi,pi,nonstrict)))
47+for j = pi, pi1 - 0x1
4848do
49−assert((utf8.offset(s,0x0,j) == pi))
49+assert(utf8.offset(s,0x0,j) == pi)
5050end
51−for j = (pi + 0x1), (pi1 - 0x1)
51+for j = pi + 0x1, pi1 - 0x1
5252do
53−assert((not utf8.len(s,j)))
53+assert(not utf8.len(s,j))
5454end
55−assert((utf8.len(s,pi,pi,nonstrict) == 0x1))
56−assert((utf8.len(s,pi,(pi1 - 0x1),nonstrict) == 0x1))
57−assert((utf8.len(s,pi,(- 0x1),nonstrict) == ((l - i) + 0x1)))
58−assert((utf8.len(s,pi1,(- 0x1),nonstrict) == (l - i)))
59−assert((utf8.len(s,0x1,pi,nonstrict) == i))
55+assert(utf8.len(s,pi,pi,nonstrict) == 0x1)
56+assert(utf8.len(s,pi,pi1 - 0x1,nonstrict) == 0x1)
57+assert(utf8.len(s,pi,- 0x1,nonstrict) == l - i + 0x1)
58+assert(utf8.len(s,pi1,- 0x1,nonstrict) == l - i)
59+assert(utf8.len(s,0x1,pi,nonstrict) == i)
6060end
6161local i = 0x0
6262for p,c in utf8.codes(s,nonstrict)
6363do
64−i=(i + 0x1)
65−assert(((c == t[i]) and (p == utf8.offset(s,i))))
66−assert((utf8.codepoint(s,p,p,nonstrict) == c))
64+i=i + 0x1
65+assert(c == t[i] and p == utf8.offset(s,i))
66+assert(utf8.codepoint(s,p,p,nonstrict) == c)
6767end
68−assert((i == (# t)))
68+assert(i == # t)
6969i=0x0
7070for c in string.gmatch(s,utf8.charpattern)
7171do
72−i=(i + 0x1)
73−assert((c == utf8.char(t[i])))
72+i=i + 0x1
73+assert(c == utf8.char(t[i]))
7474end
75−assert((i == (# t)))
75+assert(i == # t)
7676for i = 0x1, l
7777do
78−assert((utf8.offset(s,i) == utf8.offset(s,((i - l) - 0x1),(# (s + 0x1)))))
78+assert(utf8.offset(s,i) == utf8.offset(s,i - l - 0x1,# s + 0x1))
7979end
8080end
8181do
8282local function check
8383(s,p)
8484local a,b = utf8.len(s)
85−assert((not (a and (b == p))))
85+assert(not a and b == p)
8686end
8787check("\u{61}\u{62}\u{63}\u{e3}\u{64}\u{65}\u{66}",0x4)
8888check("\u{f4}\u{9f}\u{bf}",0x1)
8989check("\u{f4}\u{9f}\u{bf}\u{bf}",0x1)
90−check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{80}",(# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}" + 0x1)))
90+check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{80}",# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}") + 0x1)
9191check("\u{80}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
9292check("\u{68}\u{65}\u{6c}\u{80}\u{6c}\u{6f}",0x4)
93−check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{bf}",(# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}" + 0x1)))
93+check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{bf}",# ("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}") + 0x1)
9494check("\u{bf}\u{68}\u{65}\u{6c}\u{6c}\u{6f}",0x1)
9595check("\u{68}\u{65}\u{6c}\u{bf}\u{6c}\u{6f}",0x4)
9696end
@@ -110,53 +110,53 @@ errorcodes("\u{69}\u{6e}\u{80}\u{76}\u{61}\u{6c}\u{69}\u{64}")
110110errorcodes("\u{bf}\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}")
111111errorcodes("\u{ce}\u{b1}\u{ce}\u{bb}\u{cf}\u{86}\u{bf}\u{ce}\u{b1}")
112112local f = utf8.codes("")
113−assert((f("",0x2) == nil))
114−assert((f("",(- 0x1)) == nil))
115−assert((f("",math.mininteger) == nil))
113+assert(f("",0x2) == nil)
114+assert(f("",- 0x1) == nil)
115+assert(f("",math.mininteger) == nil)
116116end
117117checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"\u{61}\u{62}\u{63}",0x1,0x5)
118−checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"\u{61}\u{62}\u{63}",0x1,(- 0x4))
118+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"\u{61}\u{62}\u{63}",0x1,- 0x4)
119119checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"",0x1,0x2)
120−checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"",0x1,(- 0x1))
120+checkerror("\u{70}\u{6f}\u{73}\u{69}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.offset,"",0x1,- 0x1)
121121checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{f0}\u{a6}\u{a7}\u{ba}",0x1,0x2)
122122checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{f0}\u{a6}\u{a7}\u{ba}",0x1,0x2)
123123checkerror("\u{63}\u{6f}\u{6e}\u{74}\u{69}\u{6e}\u{75}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{79}\u{74}\u{65}",utf8.offset,"\u{80}",0x1)
124124checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.len,"\u{61}\u{62}\u{63}",0x0,0x2)
125125checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.len,"\u{61}\u{62}\u{63}",0x1,0x4)
126126local s = "\u{68}\u{65}\u{6c}\u{6c}\u{6f}\u{20}\u{57}\u{6f}\u{72}\u{6c}\u{64}"
127−local t = {string.byte(s,0x1,(- 0x1))}
127+local t = {string.byte(s,0x1,- 0x1)}
128128for i = 0x1, utf8.len(s)
129129do
130−assert((t[i] == string.byte(s,i)))
130+assert(t[i] == string.byte(s,i))
131131end
132132check(s,t)
133133check("\u{e6}\u{b1}\u{89}\u{e5}\u{ad}\u{97}\u{2f}\u{e6}\u{bc}\u{a2}\u{e5}\u{ad}\u{97}",{0x6c49,0x5b57,0x2f,0x6f22,0x5b57})
134134do
135135local s = "\u{c3}\u{a1}\u{c3}\u{a9}\u{c3}\u{ad}\u{80}"
136−local t = {utf8.codepoint(s,0x1,(# (s - 0x1)))}
137−assert((# ((((t == 0x3) and (t[0x1] == 0xe1)) and (t[0x2] == 0xe9)) and (t[0x3] == 0xed))))
138−checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",utf8.codepoint,s,0x1,(# s))
139−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,(# (s + 0x1)))
136+local t = {utf8.codepoint(s,0x1,# s - 0x1)}
137+assert(# t == 0x3 and t[0x1] == 0xe1 and t[0x2] == 0xe9 and t[0x3] == 0xed)
138+checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",utf8.codepoint,s,0x1,# s)
139+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,# s + 0x1)
140140t={utf8.codepoint(s,0x4,0x3)}
141−assert((# (t == 0x0)))
142−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,(- (# (s + 0x1))),0x1)
143−checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,0x1,(# (s + 0x1)))
144−assert((utf8.codepoint("\u{d7ff}") == (0xd800 - 0x1)))
145−assert((utf8.codepoint("\u{e000}") == (0xdfff + 0x1)))
146−assert((utf8.codepoint("\u{d800}",0x1,0x1,true) == 0xd800))
147−assert((utf8.codepoint("\u{dfff}",0x1,0x1,true) == 0xdfff))
148−assert((utf8.codepoint("\u{7fffffff}",0x1,0x1,true) == 0x7fffffff))
149−end
150−assert((utf8.char() == ""))
151−assert((utf8.char(0x0,0x61,0x62,0x63,0x1) == "\u{0}\u{61}\u{62}\u{63}\u{1}"))
152−assert((utf8.codepoint(utf8.char(0x10ffff)) == 0x10ffff))
153−assert((utf8.codepoint(utf8.char(0x7fffffff),0x1,0x1,true) == ((0x1 << 0x1f) - 0x1)))
154−checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,(0x7fffffff + 0x1))
155−checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,(- 0x1))
141+assert(# t == 0x0)
142+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,- (# s + 0x1),0x1)
143+checkerror("\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{62}\u{6f}\u{75}\u{6e}\u{64}\u{73}",utf8.codepoint,s,0x1,# s + 0x1)
144+assert(utf8.codepoint("\u{d7ff}") == 0xd800 - 0x1)
145+assert(utf8.codepoint("\u{e000}") == 0xdfff + 0x1)
146+assert(utf8.codepoint("\u{d800}",0x1,0x1,true) == 0xd800)
147+assert(utf8.codepoint("\u{dfff}",0x1,0x1,true) == 0xdfff)
148+assert(utf8.codepoint("\u{7fffffff}",0x1,0x1,true) == 0x7fffffff)
149+end
150+assert(utf8.char() == "")
151+assert(utf8.char(0x0,0x61,0x62,0x63,0x1) == "\u{0}\u{61}\u{62}\u{63}\u{1}")
152+assert(utf8.codepoint(utf8.char(0x10ffff)) == 0x10ffff)
153+assert(utf8.codepoint(utf8.char(0x7fffffff),0x1,0x1,true) == (0x1 << 0x1f) - 0x1)
154+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,0x7fffffff + 0x1)
155+checkerror("\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{75}\u{74}\u{20}\u{6f}\u{66}\u{20}\u{72}\u{61}\u{6e}\u{67}\u{65}",utf8.char,- 0x1)
156156local function invalid
157157(s)
158158checkerror("\u{69}\u{6e}\u{76}\u{61}\u{6c}\u{69}\u{64}\u{20}\u{55}\u{54}\u{46}\u{25}\u{2d}\u{38}\u{20}\u{63}\u{6f}\u{64}\u{65}",utf8.codepoint,s)
159−assert((not utf8.len(s)))
159+assert(not utf8.len(s))
160160end
161161invalid("\u{f4}\u{9f}\u{bf}\u{bf}")
162162invalid("\u{d800}")
@@ -175,13 +175,13 @@ s=string.gsub(s,"\u{20}","")
175175check(s,{0x0,0x7f,0x80,0x7ff,0x800,0xffff,0x10000,0x10ffff})
176176do
177177local s = "\u{4000000}\u{7fffffff}"
178−assert((# (s == 0xc)))
178+assert(# s == 0xc)
179179check(s,{0x4000000,0x7fffffff},true)
180180s="\u{200000}\u{3ffffff}"
181−assert((# (s == 0xa)))
181+assert(# s == 0xa)
182182check(s,{0x200000,0x3ffffff},true)
183183s="\u{10000}\u{1fffff}"
184−assert((# (s == 0x8)))
184+assert(# s == 0x8)
185185check(s,{0x10000,0x1fffff},true)
186186end
187187local x = "\u{e6}\u{97}\u{a5}\u{e6}\u{9c}\u{ac}\u{e8}\u{aa}\u{9e}\u{61}\u{2d}\u{34}\u{0}\u{c3}\u{a9}\u{c3}\u{b3}"
@@ -189,15 +189,15 @@ check(x,{0x65e5,0x672c,0x8a9e,0x61,0x2d,0x34,0x0,0xe9,0xf3})
189189check("\u{f0}\u{a3}\u{b2}\u{b7}\u{f0}\u{a0}\u{9c}\u{8e}\u{f0}\u{a0}\u{b1}\u{93}\u{f0}\u{a1}\u{81}\u{bb}\u{f0}\u{a0}\u{b5}\u{bc}\u{61}\u{62}\u{f0}\u{a0}\u{ba}\u{a2}",{0x23cb7,0x2070e,0x20c53,0x2107b,0x20d7c,0x61,0x62,0x20ea2})
190190check("\u{f0}\u{a8}\u{b3}\u{8a}\u{f0}\u{a9}\u{b6}\u{98}\u{f0}\u{a6}\u{a7}\u{ba}\u{f0}\u{a8}\u{b3}\u{92}\u{f0}\u{a5}\u{84}\u{ab}\u{f0}\u{a4}\u{93}\u{93}\u{f4}\u{8f}\u{bf}\u{bf}",{0x28cca,0x29d98,0x269fa,0x28cd2,0x2512b,0x244d3,0x10ffff})
191191local i = 0x0
192−for p,c in string.gmatch(x,("\u{28}\u{29}\u{28}" .. (utf8.charpattern .. "\u{29}")))
192+for p,c in string.gmatch(x,"\u{28}\u{29}\u{28}" .. utf8.charpattern .. "\u{29}")
193193do
194−i=(i + 0x1)
195−assert((utf8.offset(x,i) == p))
196−assert((utf8.len(x,p) == ((utf8.len(x) - i) + 0x1)))
197−assert((utf8.len(c) == 0x1))
198−for j = 0x1, (# (c - 0x1))
194+i=i + 0x1
195+assert(utf8.offset(x,i) == p)
196+assert(utf8.len(x,p) == utf8.len(x) - i + 0x1)
197+assert(utf8.len(c) == 0x1)
198+for j = 0x1, # c - 0x1
199199do
200−assert((utf8.offset(x,0x0,((p + j) - 0x1)) == p))
200+assert(utf8.offset(x,0x0,p + j - 0x1) == p)
201201end
202202end
203203print("\u{6f}\u{6b}")
desk/res/lua/cycled/vararg.lua+42−42
@@ -4,17 +4,17 @@ local function f
44local x = {["\u{6e}"] = select("\u{23}",...),...}
55for i = 0x1, x.n
66do
7−assert((a[i] == x[i]))
7+assert(a[i] == x[i])
88end
99return x.n
1010end
1111local function c12
1212(...)
13−assert((arg == _G.arg))
13+assert(arg == _G.arg)
1414local x = {...}
1515;
16−x.n=(# x)
17−local res = (((x.n == 0x2) and (x[0x1] == 0x1)) and (x[0x2] == 0x2))
16+x.n=# x
17+local res = (x.n == 0x2 and x[0x1] == 0x1 and x[0x2] == 0x2)
1818if res then
1919res=0x37
2020end
@@ -27,59 +27,59 @@ end
2727local call = function (f,args)
2828return f(table.unpack(args,0x1,args.n))
2929end
30−assert((f() == 0x0))
31−assert((f({0x1,0x2,0x3},0x1,0x2,0x3) == 0x3))
32−assert((f({"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil},"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil) == 0x5))
33−assert((vararg().n == 0x0))
34−assert((vararg(nil,nil).n == 0x2))
35−assert((c12(0x1,0x2) == 0x37))
30+assert(f() == 0x0)
31+assert(f({0x1,0x2,0x3},0x1,0x2,0x3) == 0x3)
32+assert(f({"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil},"\u{61}\u{6c}\u{6f}",nil,0x2d,f,nil) == 0x5)
33+assert(vararg().n == 0x0)
34+assert(vararg(nil,nil).n == 0x2)
35+assert(c12(0x1,0x2) == 0x37)
3636local a,b = assert(call(c12,{0x1,0x2}))
37−assert(((a == 0x37) and (b == 0x2)))
37+assert(a == 0x37 and b == 0x2)
3838a=call(c12,{0x1,0x2,["\u{6e}"] = 0x2})
39−assert(((a == 0x37) and (b == 0x2)))
39+assert(a == 0x37 and b == 0x2)
4040a=call(c12,{0x1,0x2,["\u{6e}"] = 0x1})
41−assert((not a))
42−assert((c12(0x1,0x2,0x3) == false))
41+assert(not a)
42+assert(c12(0x1,0x2,0x3) == false)
4343local a = vararg(call(next,{_G,nil,["\u{6e}"] = 0x2}))
4444local b,c = next(_G)
45−assert((((a[0x1] == b) and (a[0x2] == c)) and (a.n == 0x2)))
45+assert(a[0x1] == b and a[0x2] == c and a.n == 0x2)
4646a=vararg(call(call,{c12,{0x1,0x2}}))
47−assert((((a.n == 0x2) and (a[0x1] == 0x37)) and (a[0x2] == 0x2)))
47+assert(a.n == 0x2 and a[0x1] == 0x37 and a[0x2] == 0x2)
4848a=call(print,{"\u{2b}"})
49−assert((a == nil))
49+assert(a == nil)
5050local t = {0x1,0xa}
5151function t:f(...)
5252local arg = {...}
5353;
54−return (self[...] + (# arg))
54+return self[...] + # arg
5555end
56−assert(((t:f(0x1,0x4) == 0x3) and (t:f(0x2) == 0xb)))
56+assert(t:f(0x1,0x4) == 0x3 and t:f(0x2) == 0xb)
5757print("\u{2b}")
5858local lim = 0x14
5959local i,a = 0x1,{}
60−while (i <= lim) do
61−a[i]=(i + 0.3)
60+while i <= lim do
61+a[i]=i + 0.3
6262;
63−i=(i + 0x1)
63+i=i + 0x1
6464end
6565function f(a,b,c,d, ...)
6666local more = {...}
67−assert(((((a == 1.3) and (more[0x1] == 5.3)) and (more[(lim - 0x4)] == (lim + 0.3))) and (not more[(lim - 0x3)])))
67+assert(a == 1.3 and more[0x1] == 5.3 and more[lim - 0x4] == lim + 0.3 and not more[lim - 0x3])
6868end
6969local function g
7070(a,b,c)
71−assert((((a == 1.3) and (b == 2.3)) and (c == 3.3)))
71+assert(a == 1.3 and b == 2.3 and c == 3.3)
7272end
7373call(f,a)
7474call(g,a)
7575a={}
7676i=0x1
77−while (i <= lim) do
77+while i <= lim do
7878a[i]=i
7979;
80−i=(i + 0x1)
80+i=i + 0x1
8181end
82−assert((call(math.max,a) == lim))
82+assert(call(math.max,a) == lim)
8383print("\u{2b}")
8484local function oneless
8585(a, ...)
@@ -87,36 +87,36 @@ return ...
8787end
8888function f(n,a, ...)
8989local b
90−assert((arg == _G.arg))
91−if (n == 0x0) then
90+assert(arg == _G.arg)
91+if n == 0x0 then
9292local b,c,d = ...
9393return a,b,c,d,oneless(oneless(oneless(...)))
9494else
95−n,b,a=(n - 0x1),...,a
96−assert((b == ...))
95+n,b,a=n - 0x1,...,a
96+assert(b == ...)
9797return f(n,a,...)
9898end
9999end
100100a,b,c,d,e=assert(f(0xa,0x5,0x4,0x3,0x2,0x1))
101−assert((((((a == 0x5) and (b == 0x4)) and (c == 0x3)) and (d == 0x2)) and (e == 0x1)))
101+assert(a == 0x5 and b == 0x4 and c == 0x3 and d == 0x2 and e == 0x1)
102102a,b,c,d,e=f(0x4)
103−assert((((((a == nil) and (b == nil)) and (c == nil)) and (d == nil)) and (e == nil)))
103+assert(a == nil and b == nil and c == nil and d == nil and e == nil)
104104local f = load("\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{20}")
105105local x = f(0x2,0x3)
106−assert((((x[0x1] == 0x2) and (x[0x2] == 0x3)) and (x[0x3] == undef)))
106+assert(x[0x1] == 0x2 and x[0x2] == 0x3 and x[0x3] == undef)
107107f=load("\u{20}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{78}\u{20}\u{3d}\u{20}\u{7b}\u{2e}\u{2e}\u{2e}\u{7d}\u{a}\u{20}\u{20}\u{66}\u{6f}\u{72}\u{20}\u{69}\u{3d}\u{31}\u{2c}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{27}\u{23}\u{27}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{20}\u{64}\u{6f}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{5b}\u{69}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{69}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{29}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{20}\u{20}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{5b}\u{73}\u{65}\u{6c}\u{65}\u{63}\u{74}\u{28}\u{27}\u{23}\u{27}\u{2c}\u{20}\u{2e}\u{2e}\u{2e}\u{29}\u{2b}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{29}\u{a}\u{20}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{74}\u{72}\u{75}\u{65}\u{a}")
108108assert(f("\u{61}","\u{62}",nil,{},assert))
109109assert(f())
110110a={select(0x3,table.unpack({0xa,0x14,0x1e,0x28}))}
111−assert((# (((a == 0x2) and (a[0x1] == 0x1e)) and (a[0x2] == 0x28))))
111+assert(# a == 0x2 and a[0x1] == 0x1e and a[0x2] == 0x28)
112112a={select(0x1)}
113−assert((next(a) == nil))
114−a={select((- 0x1),0x3,0x5,0x7)}
115−assert(((a[0x1] == 0x7) and (a[0x2] == undef)))
116−a={select((- 0x2),0x3,0x5,0x7)}
117−assert((((a[0x1] == 0x5) and (a[0x2] == 0x7)) and (a[0x3] == undef)))
113+assert(next(a) == nil)
114+a={select(- 0x1,0x3,0x5,0x7)}
115+assert(a[0x1] == 0x7 and a[0x2] == undef)
116+a={select(- 0x2,0x3,0x5,0x7)}
117+assert(a[0x1] == 0x5 and a[0x2] == 0x7 and a[0x3] == undef)
118118pcall(select,0x2710)
119−pcall(select,(- 0x2710))
119+pcall(select,- 0x2710)
120120function f(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p48,p49,p50, ...)
121121local a1,a2,a3,a4,a5,a6,a7
122122local a8,a9,a10,a11,a12,a13,a14
@@ -132,6 +132,6 @@ local function g
132132return f(0x1,0x2)
133133end
134134local a,b = g()
135−assert(((a == nil) and (b == 0x2)))
135+assert(a == nil and b == 0x2)
136136end
137137print("\u{4f}\u{4b}")
desk/res/lua/cycled/verybig.lua+12−12
@@ -2,17 +2,17 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{52}\u{4b}")
22local function foo
33()
44local dummy = {0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff,0x100}
5−assert(((24.5 + 0.6) == 25.1))
5+assert(24.5 + 0.6 == 25.1)
66local t = {["\u{66}\u{6f}\u{6f}"] = function (self,x)
7−return (x + self.x)
7+return x + self.x
88end,["\u{78}"] = 0xa}
99t.t=t
10−assert((t:foo(1.5) == 11.5))
11−assert((t.t:foo(0.5) == 10.5))
12−assert((24.3 == 24.3))
13−assert(((function ()
10+assert(t:foo(1.5) == 11.5)
11+assert(t.t:foo(0.5) == 10.5)
12+assert(24.3 == 24.3)
13+assert((function ()
1414return t.x
15−end)() == 0xa))
15+end)() == 0xa)
1616end
1717foo()
1818foo=nil
@@ -23,22 +23,22 @@ print("\u{74}\u{65}\u{73}\u{74}\u{69}\u{6e}\u{67}\u{20}\u{6c}\u{61}\u{72}\u{67}\
2323local prog = "\u{24}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{61}\u{2c}\u{62}\u{a}\u{a}\u{62}\u{20}\u{3d}\u{20}\u{7b}\u{24}\u{31}\u{24}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{30}\u{39}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{30}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{31}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{32}\u{20}\u{3d}\u{20}\u{36}\u{35}\u{35}\u{33}\u{37}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{33}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{34}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{35}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{36}\u{20}\u{3d}\u{20}\u{31}\u{36}\u{37}\u{37}\u{37}\u{32}\u{31}\u{37}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{37}\u{20}\u{3d}\u{20}\u{30}\u{78}\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{38}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{37}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{31}\u{39}\u{20}\u{3d}\u{20}\u{30}\u{78}\u{31}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{30}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{31}\u{66}\u{66}\u{66}\u{66}\u{64}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{31}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{34}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{32}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{33}\u{20}\u{3d}\u{20}\u{2d}\u{36}\u{35}\u{35}\u{33}\u{36}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{34}\u{20}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{2c}\u{a}\u{20}\u{20}\u{62}\u{33}\u{30}\u{30}\u{32}\u{35}\u{20}\u{3d}\u{20}\u{31}\u{35}\u{30}\u{31}\u{32}\u{2e}\u{35}\u{2c}\u{a}\u{20}\u{20}\u{24}\u{32}\u{24}\u{a}\u{7d}\u{3b}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{2e}\u{61}\u{35}\u{30}\u{30}\u{30}\u{38}\u{20}\u{3d}\u{3d}\u{20}\u{32}\u{35}\u{30}\u{30}\u{34}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{22}\u{61}\u{31}\u{31}\u{22}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{35}\u{2e}\u{35}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{2e}\u{61}\u{33}\u{33}\u{30}\u{30}\u{37}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{31}\u{36}\u{35}\u{30}\u{33}\u{2e}\u{35}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{2e}\u{61}\u{35}\u{30}\u{30}\u{30}\u{39}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{32}\u{35}\u{30}\u{30}\u{34}\u{2e}\u{35}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{5b}\u{22}\u{62}\u{22}\u{2e}\u{2e}\u{33}\u{30}\u{30}\u{32}\u{34}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{2d}\u{30}\u{78}\u{66}\u{66}\u{66}\u{66}\u{66}\u{66}\u{29}\u{a}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{62}\u{3a}\u{78}\u{78}\u{78}\u{20}\u{28}\u{61}\u{2c}\u{62}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{61}\u{2b}\u{62}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{3a}\u{78}\u{78}\u{78}\u{28}\u{31}\u{30}\u{2c}\u{20}\u{31}\u{32}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{32}\u{32}\u{29}\u{20}\u{20}\u{20}\u{2d}\u{2d}\u{20}\u{70}\u{75}\u{73}\u{68}\u{73}\u{65}\u{6c}\u{66}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{6e}\u{6f}\u{6e}\u{2d}\u{63}\u{6f}\u{6e}\u{73}\u{74}\u{61}\u{6e}\u{74}\u{20}\u{69}\u{6e}\u{64}\u{65}\u{78}\u{a}\u{62}\u{5b}\u{22}\u{78}\u{78}\u{78}\u{22}\u{5d}\u{20}\u{3d}\u{20}\u{75}\u{6e}\u{64}\u{65}\u{66}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{73}\u{20}\u{3d}\u{20}\u{30}\u{3b}\u{20}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{6e}\u{3d}\u{30}\u{a}\u{66}\u{6f}\u{72}\u{20}\u{61}\u{2c}\u{62}\u{20}\u{69}\u{6e}\u{20}\u{70}\u{61}\u{69}\u{72}\u{73}\u{28}\u{62}\u{29}\u{20}\u{64}\u{6f}\u{20}\u{73}\u{3d}\u{73}\u{2b}\u{62}\u{3b}\u{20}\u{6e}\u{3d}\u{6e}\u{2b}\u{31}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{2d}\u{2d}\u{20}\u{77}\u{69}\u{74}\u{68}\u{20}\u{33}\u{32}\u{2d}\u{62}\u{69}\u{74}\u{20}\u{66}\u{6c}\u{6f}\u{61}\u{74}\u{73}\u{2c}\u{20}\u{65}\u{78}\u{61}\u{63}\u{74}\u{20}\u{76}\u{61}\u{6c}\u{75}\u{65}\u{20}\u{6f}\u{66}\u{20}\u{27}\u{73}\u{27}\u{20}\u{64}\u{65}\u{70}\u{65}\u{6e}\u{64}\u{73}\u{20}\u{6f}\u{6e}\u{20}\u{73}\u{75}\u{6d}\u{6d}\u{61}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{6f}\u{72}\u{64}\u{65}\u{72}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{38}\u{31}\u{38}\u{30}\u{30}\u{30}\u{30}\u{30}\u{2e}\u{30}\u{20}\u{3c}\u{20}\u{73}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{73}\u{20}\u{3c}\u{20}\u{38}\u{31}\u{38}\u{36}\u{30}\u{30}\u{30}\u{30}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{6e}\u{20}\u{3d}\u{3d}\u{20}\u{37}\u{30}\u{30}\u{30}\u{31}\u{29}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{3b}\u{20}\u{62}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{70}\u{72}\u{69}\u{6e}\u{74}\u{27}\u{2b}\u{27}\u{a}\u{a}\u{6c}\u{6f}\u{63}\u{61}\u{6c}\u{20}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{66}\u{28}\u{78}\u{29}\u{20}\u{62}\u{3d}\u{78}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{66}\u{7b}\u{24}\u{33}\u{24}\u{7d}\u{20}\u{6f}\u{72}\u{20}\u{31}\u{30}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{61}\u{3d}\u{3d}\u{31}\u{30}\u{29}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{62}\u{5b}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{31}\u{30}\u{22}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{32}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{35}\u{20}\u{61}\u{6e}\u{64}\u{20}\u{62}\u{5b}\u{23}\u{62}\u{2d}\u{31}\u{5d}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{35}\u{30}\u{30}\u{30}\u{39}\u{22}\u{29}\u{a}\u{a}\u{a}\u{66}\u{75}\u{6e}\u{63}\u{74}\u{69}\u{6f}\u{6e}\u{20}\u{78}\u{78}\u{78}\u{78}\u{20}\u{28}\u{78}\u{29}\u{20}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{62}\u{5b}\u{78}\u{5d}\u{20}\u{65}\u{6e}\u{64}\u{a}\u{a}\u{61}\u{73}\u{73}\u{65}\u{72}\u{74}\u{28}\u{78}\u{78}\u{78}\u{78}\u{28}\u{33}\u{29}\u{20}\u{3d}\u{3d}\u{20}\u{22}\u{61}\u{31}\u{31}\u{22}\u{29}\u{a}\u{a}\u{61}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{3b}\u{20}\u{62}\u{3d}\u{6e}\u{69}\u{6c}\u{a}\u{78}\u{78}\u{78}\u{78}\u{20}\u{3d}\u{20}\u{6e}\u{69}\u{6c}\u{a}\u{a}\u{72}\u{65}\u{74}\u{75}\u{72}\u{6e}\u{20}\u{31}\u{30}\u{a}\u{a}"
2424local function sig
2525(x)
26−return ((((x % 0x2) == 0x0) and "") or "\u{2d}")
26+return (x % 0x2 == 0x0) and "" or "\u{2d}"
2727end
2828local F = {function ()
2929for i = 0xa, 0xc359
3030do
31−io.write("\u{61}",i,"\u{20}\u{3d}\u{20}",sig(i),(0x5 + ((i - 0xa) / 0x2)),"\u{2c}\u{a}")
31+io.write("\u{61}",i,"\u{20}\u{3d}\u{20}",sig(i),0x5 + ((i - 0xa) / 0x2),"\u{2c}\u{a}")
3232end
3333end,function ()
3434for i = 0x754a, 0xc359
3535do
36−io.write("\u{62}",i,"\u{20}\u{3d}\u{20}",sig(i),(0x3aa5 + ((i - 0x754a) / 0x2)),"\u{2c}\u{a}")
36+io.write("\u{62}",i,"\u{20}\u{3d}\u{20}",sig(i),0x3aa5 + ((i - 0x754a) / 0x2),"\u{2c}\u{a}")
3737end
3838end,function ()
3939for i = 0xa, 0xc359
4040do
41−io.write("\u{22}\u{61}",i,"\u{22}\u{2c}\u{20}",sig(i),(0x5 + ((i - 0xa) / 0x2)),"\u{2c}\u{a}")
41+io.write("\u{22}\u{61}",i,"\u{22}\u{2c}\u{20}",sig(i),0x5 + ((i - 0xa) / 0x2),"\u{2c}\u{a}")
4242end
4343end}
4444local file = os.tmpname()
@@ -46,7 +46,7 @@ io.output(file)
4646for s in string.gmatch(prog,"\u{24}\u{28}\u{5b}\u{5e}\u{24}\u{5d}\u{2b}\u{29}")
4747do
4848local n = tonumber(s)
49−if (not n) then
49+if not n then
5050io.write(s)
5151else
5252F[n]()
desk/res/lua/foo.lua+2−2
@@ -47,9 +47,9 @@ do
4747 return 8, foo;
4848end
4949
50−-- print('the way of the future')
50+print('the way of the future')
5151
52−-- print 'hello'
52+print 'hello'
5353
5454h{key1 = 'Sonmi~451'}
5555
desk/sur/interlist.hoondeleted−8
@@ -1,8 +0,0 @@
1−|%
2−++ interlist
3− |$ [sep val]
4− $%
5− [%double =val =sep tail=(interlist sep val)]
6− [%single =val]
7− ==
8−--
desk/sur/lua.hoon+3−3
@@ -1,7 +1,7 @@
11|%
22+$ name @t
33+$ namelist (lest name)
4−+$ chunk
4++$ ast
55 $%
66 [%blok blok]
77 ==
@@ -104,8 +104,8 @@
104104+$ funcbody [pars=parlist body=blok]
105105+$ parlist [pars=(list name) wildcard=?]
106106+$ local-function [=name body=funcbody]
107−+$ local-asmnt [=attrnamelist rhs=(unit exprlist)]
108−+$ attrnamelist (lest [=name attr=(unit attrib)])
107++$ local-asmnt [=attnamelist rhs=(unit exprlist)]
108++$ attnamelist (lest [=name attr=(unit attrib)])
109109+$ attrib
110110 $?
111111 %const
desk/ted/eval-lua.hoondeleted−19
@@ -1,19 +0,0 @@
1−/- spider
2−/+ *strandio
3−/+ lua-parser
4−/+ lua-printer
5−/+ lua-interpreter
6−=>
7−|%
8−--
9−=/ m (strand:spider ,vase)
10−^- thread:spider
11−|= arg=vase
12−^- form:m
13−=/ file=beam (need (de-beam (need !<((unit path) arg))))
14−;< =cage bind:m (read-file file)
15−=/ lua-code=@t (of-wain:format !<(wain +.cage))
16−~& %parsing
17−=/ ast (scan (trip lua-code) lua-parser)
18−~& %evaluating
19−%- pure:m !>((lua-interpreter ast))
desk/ted/test-lua.hoon+9−8
@@ -30,12 +30,7 @@
3030 ?- -.flag
3131 %restrict ~[+.flag]
3232 ==
33−=/ parse
34− |* src=tape
35− ?: (has-flag %crash-parser)
36− (some (scan src lua-parser))
37− (rust src lua-parser)
38− ;< bek=beak bind:m get-beak
33+;< bek=beak bind:m get-beak
3934;< lua-files=(list path) bind:m (list-tree [bek /res/lua])
4035=/ lua-files %+ skim lua-files
4136 |= =path
@@ -56,7 +51,10 @@
5651 ;< =cage bind:m (read-file [bek current-file])
5752 =/ lua-code=@t (of-wain:format !<(wain +.cage))
5853 ~& %parsing
59− =/ ast-unit (parse (trip lua-code))
54+ =/ ast-unit
55+ ?: (has-flag %crash-parser)
56+ (some (rash lua-code lua-parser))
57+ (rush lua-code lua-parser)
6058 ;< parse-result=test-result bind:m
6159 =/ m (strand:spider ,test-result)
6260 ?~ ast-unit (pure:m %err)
@@ -70,7 +68,10 @@
7068 %& [(into current-file 2 ~.cycled) %ins %lua !>((to-wain:format (crip printed)))]~
7169 ==
7270 ~& %parsing-printed
73− =/ cycled-ast-unit (parse printed)
71+ =/ cycled-ast-unit
72+ ?: (has-flag %crash-parser)
73+ (some (scan printed lua-parser))
74+ (rust printed lua-parser)
7475 ?~ cycled-ast-unit (pure:m %err)
7576 =/ ast u.cycled-ast-unit
7677 ~? (has-flag %print-asts) ast