on master help sign in
.
commitbd7d6e17b5c477779fbd04a88708f34292b0f745 authoriko <mail@iko.soy> dateSat 12 Aug 2023, 23:14 (3 years ago) parent391abb1
9 files changed+2301−15
package.yaml+1 src/Nock.hs+7−6 src/Nock/Parser.hs+8−6 src/Nock/Printer.hs+14 tests/Main.hs+46−3 tests/golden/add.nock+1092 tests/golden/add.result.nock tests/golden/dec.nock+1133 tests/golden/dec.result.nock
package.yaml+1
@@ -13,6 +13,7 @@ dependencies:
1313 - transformers
1414 - containers
1515 - generic-arbitrary
16+ - tasty-golden
1617library:
1718 source-dirs: src
1819
src/Nock.hs+7−6
@@ -1,8 +1,9 @@
11{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
22
3−module Nock (tar, cell, atom, Annotation (..), Noun, RawNoun (..)) where
3+module Nock (tar, hax, fas, cell, atom, Annotation (..), Noun, RawNoun (..)) where
44
55import Data.Hashable
6+import Debug.Trace (trace, traceShowId)
67import GHC.Generics (Generic)
78import Numeric.Natural
89import Test.QuickCheck.Arbitrary.Generic
@@ -88,7 +89,7 @@ hax ~(Cell ~(Atom n _) ~(Cell a b _) _) =
8889 in case n of
8990 1 -> a
9091 _ | m == 0 -> hax (cell (atom d) (cell (cell a (fas (cell (atom $ n + 1) b))) b))
91− _ -> hax (cell (atom d) (cell (cell (fas (cell (atom $ n + n) b)) a) b))
92+ _ -> hax (cell (atom d) (cell (cell (fas (cell (atom $ n - 1) b)) a) b))
9293
9394tar :: Noun -> Noun
9495tar ~(Cell a ~(Cell b c _) _) = case b of
@@ -109,7 +110,7 @@ tar ~(Cell a ~(Cell b c _) _) = case b of
109110 ~(Cell l k _) -> tar $ cell a $ tar $ cell (cell l k) $ cell sig $ tar $ cell (cell (atom 2) (atom 3)) $ cell sig $ tar $ cell a (cell (atom 4) (cell (atom 4) x))
110111 10 -> case x of
111112 ~(Cell l k _) -> hax $ cell l $ cell (tar (cell a k)) $ tar $ cell a y
112− 11 -> case c of
113− Cell l k _ -> tar $ cell (cell (tar $ cell a l) (tar $ cell a k)) $ cell sig (atom 3)
114− Atom l _ -> tar $ cell a y
115− _ -> undefined
113+ 11 -> case x of
114+ Cell l k _ -> tar $ cell (cell (tar $ cell a k) (tar $ cell a y)) $ cell sig (atom 3)
115+ Atom _ _ -> tar $ cell a y
116+ u -> error $ show u
src/Nock/Parser.hs+8−6
@@ -2,6 +2,7 @@
22
33module Nock.Parser (decode) where
44
5+import Control.Applicative
56import Data.Text as T
67import Data.Void (Void)
78import Nock
@@ -10,7 +11,7 @@ import Text.Megaparsec.Char
1011import Text.Megaparsec.Char.Lexer (decimal)
1112
1213decode :: Text -> Noun
13−decode txt = case Text.Megaparsec.parse parser "" . T.filter (\c -> c /= '.') $ txt of
14+decode txt = case Text.Megaparsec.parse (space *> parser <* space) "" . T.filter (\c -> c /= '.') $ txt of
1415 Right non -> non
1516 Left err -> error $ errorBundlePretty err
1617
@@ -26,12 +27,13 @@ cellParser :: Parser Noun
2627cellParser = do
2728 char '['
2829 space
29− h <- parser
30− space1
31− t <- sepBy parser space1
32− space
30+ nons <- sugarCell
3331 char ']'
34− pure $ toCell (h : t)
32+ pure $ toCell nons
33+
34+sugarCell :: Parser [Noun]
35+sugarCell = do
36+ try (liftA2 (:) (try (parser <* space)) sugarCell) <|> pure []
3537
3638toCell :: [Noun] -> Noun
3739toCell = \case
src/Nock/Printer.hsnew file+14
@@ -0,0 +1,14 @@
1+module Nock.Printer (pretty) where
2+
3+import Data.Text.Lazy qualified as TL
4+import Data.Text.Lazy.Builder qualified as TLB
5+import Data.Text.Lazy.Builder.Int qualified as TLB
6+import Nock
7+
8+pretty :: RawNoun ann -> TL.Text
9+pretty noun = TLB.toLazyText $ pretty' noun False
10+
11+pretty' :: RawNoun ann -> Bool -> TLB.Builder
12+pretty' (Atom a _) _ = TLB.decimal a
13+pretty' (Cell lhs rhs _) True = pretty' lhs False <> " " <> pretty' rhs True
14+pretty' (Cell lhs rhs _) False = "[" <> pretty' lhs False <> " " <> pretty' rhs True <> "]"
tests/Main.hs+46−3
@@ -2,27 +2,60 @@ module Main (main) where
22
33import Data.ByteString.Lazy qualified as BSL
44import Data.Text as T
5+import Data.Text.IO as T
6+import Data.Text.Lazy as TL
7+import Data.Text.Lazy.IO as TL
58import Debug.Trace
69import Debug.Trace (traceShowId)
710import Nock
811import Nock.Jam
912import Nock.Parser
13+import Nock.Parser qualified
14+import Nock.Printer
1015import Test.Hspec
1116import Test.Hspec.QuickCheck
1217import Test.QuickCheck
1318import Test.Tasty
19+import Test.Tasty.Golden (goldenVsFile)
1420import Test.Tasty.Hspec
1521
1622main :: IO ()
1723main = do
1824 spec <- testSpec "nock" specs
19− defaultMain spec
25+ defaultMain $
26+ testGroup
27+ "nock"
28+ [ spec,
29+ goldenTest "add",
30+ goldenTest "dec"
31+ -- goldenVsString "add" "golden/add.nock" "golden/add.result.nock" $
32+ -- file <-
33+ -- TL.writeFile "golden/add.result.nock" $ Nock.Printer.pretty
34+ ]
35+
36+goldenTest :: String -> TestTree
37+goldenTest name = do
38+ let source = "tests/golden/" <> name <> ".nock"
39+ let target = "tests/golden/" <> name <> ".result.nock"
40+ goldenVsFile name source target $ do
41+ print "before "
42+ inp <- T.readFile source
43+ TL.writeFile target (Nock.Printer.pretty . tar $ Nock.Parser.decode inp)
2044
2145specs :: Spec
2246specs = describe "nock" $ do
2347 tarTest "[[[4 5] [6 14 15]] [0 7]]" "[14 15]"
2448 tarTest "[77 [2 [1 42] [1 1 153 218]]]" "[153 218]"
2549 tarTest "[[132 19] [4 0 3]]" "20"
50+ fasTest "[1 [531 25 99]]" "[531 25 99]"
51+ fasTest "[2 [531 25 99]]" "531"
52+ fasTest "[3 [531 25 99]]" "[25 99]"
53+ fasTest "[6 [531 25 99]]" "25"
54+ haxTest "[2 11 [22 33]]" "[11 33]"
55+ haxTest "[3 11 [22 33]]" "[22 11]"
56+ haxTest "[4 11 [[22 33] 44]]" "[[11 33] 44]"
57+ haxTest "[5 11 [[22 33] 44]]" "[[22 11] 44]"
58+ -- tarTest "[9 36 0 2.047]" "0"
2659
2760 prop
2861 "rub (mat atom) = atom"
@@ -34,12 +67,22 @@ specs = describe "nock" $ do
3467 describe "cue (jam noun) = noun" $ do
3568 testJam "[77 [2 [1 42] [1 1 153 218]]]"
3669
37−tarTest :: Text -> Text -> Spec
70+tarTest :: T.Text -> T.Text -> Spec
3871tarTest source target =
3972 it (T.unpack ("*" <> source <> " = " <> target)) $
4073 tar (decode source) == decode target
4174
42−testJam :: Text -> Spec
75+haxTest :: T.Text -> T.Text -> Spec
76+haxTest source target =
77+ it (T.unpack ("#" <> source <> " = " <> target)) $
78+ hax (decode source) == decode target
79+
80+fasTest :: T.Text -> T.Text -> Spec
81+fasTest source target =
82+ it (T.unpack ("/" <> source <> " = " <> target)) $
83+ fas (decode source) == decode target
84+
85+testJam :: T.Text -> Spec
4386testJam source =
4487 it ("cue (jam " ++ T.unpack source ++ ") = source") $
4588 cue (jam (decode source)) == decode source
tests/golden/add.nocknew file+1092
@@ -0,0 +1,1092 @@
1+[ [ 6
2+ [5 [1 0] 0 12]
3+ [0 13]
4+ 9
5+ 2
6+ 10
7+ [6 [8 [9 2.398 0 7] 9 2 10 [6 0 28] 0 2] 4 0 13]
8+ 0
9+ 1
10+ ]
11+ [0 0]
12+ [ [ [ 7
13+ [ 8
14+ [1 1 1]
15+ [ 1
16+ 8
17+ [1 0]
18+ 8
19+ [ 1
20+ 6
21+ [5 [1 0] 0 60]
22+ [0 6]
23+ 9
24+ 2
25+ 10
26+ [60 8 [9 2.398 0 31] 9 2 10 [6 0 124] 0 2]
27+ 10
28+ [6 8 [9 36 0 31] 9 2 10 [6 [0 125] 0 14] 0 2]
29+ 0
30+ 1
31+ ]
32+ 9
33+ 2
34+ 0
35+ 1
36+ ]
37+ 0
38+ 1
39+ ]
40+ 11
41+ [1.953.718.630 1 7.107.949 [0 7] 0]
42+ 0
43+ 1
44+ ]
45+ [ [ 7
46+ [ 8
47+ [1 0 0]
48+ [ 1
49+ 6
50+ [5 [1 0] 0 12]
51+ [0 13]
52+ 9
53+ 2
54+ 10
55+ [6 [8 [9 2.398 0 7] 9 2 10 [6 0 28] 0 2] 4 0 13]
56+ 0
57+ 1
58+ ]
59+ 0
60+ 1
61+ ]
62+ 11
63+ [1.953.718.630 1 6.579.297 [0 7] 0]
64+ 0
65+ 1
66+ ]
67+ [ [ 7
68+ [ 8
69+ [1 0 0]
70+ [ 1
71+ 6
72+ [5 [0 12] 0 13]
73+ [1 0]
74+ 6
75+ [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
76+ [1 0]
77+ 1
78+ 1
79+ ]
80+ 0
81+ 1
82+ ]
83+ 11
84+ [1.953.718.630 1 6.648.940 [0 7] 0]
85+ 0
86+ 1
87+ ]
88+ [ 7
89+ [ 8
90+ [1 0 0]
91+ [ 1
92+ [8 [9 1.198 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
93+ 8
94+ [9 157 0 7]
95+ 9
96+ 2
97+ 10
98+ [6 [0 28] 0 29]
99+ 0
100+ 2
101+ ]
102+ 0
103+ 1
104+ ]
105+ 11
106+ [1.953.718.630 1 7.501.412 [0 7] 0]
107+ 0
108+ 1
109+ ]
110+ [ 7
111+ [ 8
112+ [1 0 0]
113+ [1 6 [8 [9 75 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [0 12] 0 13]
114+ 0
115+ 1
116+ ]
117+ 11
118+ [1.953.718.630 1 7.889.261 [0 7] 0]
119+ 0
120+ 1
121+ ]
122+ [ 7
123+ [ 8
124+ [1 1 1]
125+ [ 1
126+ 11
127+ [ 1.851.876.717
128+ [ 1
129+ [1 1.717.658.988]
130+ 7
131+ [0 1]
132+ 8
133+ [1 1 100 105 118 105 100 101 45 98 121 45 122 101 114 111 0]
134+ 9
135+ 2
136+ 0
137+ 1
138+ ]
139+ 0
140+ 1
141+ ]
142+ 6
143+ [5 [1 0] 0 13]
144+ [0 0]
145+ 8
146+ [1 0]
147+ 8
148+ [ 1
149+ 6
150+ [8 [9 2.399 0 31] 9 2 10 [6 [0 124] 0 125] 0 2]
151+ [0 6]
152+ 9
153+ 2
154+ 10
155+ [60 8 [9 79 0 31] 9 2 10 [6 [0 124] 0 125] 0 2]
156+ 10
157+ [6 4 0 6]
158+ 0
159+ 1
160+ ]
161+ 9
162+ 2
163+ 0
164+ 1
165+ ]
166+ 0
167+ 1
168+ ]
169+ 11
170+ [1.953.718.630 1 7.760.228 [0 7] 0]
171+ 0
172+ 1
173+ ]
174+ [ 7
175+ [ 8
176+ [1 0]
177+ [ 1
178+ 11
179+ [ 1.851.876.717
180+ [ 1
181+ [1 1.717.658.988]
182+ 7
183+ [0 1]
184+ 8
185+ [ 1
186+ 1
187+ 100
188+ 101
189+ 99
190+ 114
191+ 101
192+ 109
193+ 101
194+ 110
195+ 116
196+ 45
197+ 117
198+ 110
199+ 100
200+ 101
201+ 114
202+ 102
203+ 108
204+ 111
205+ 119
206+ 0
207+ ]
208+ 9
209+ 2
210+ 0
211+ 1
212+ ]
213+ 0
214+ 1
215+ ]
216+ 6
217+ [5 [1 0] 0 6]
218+ [0 0]
219+ 8
220+ [1 0]
221+ 8
222+ [1 6 [5 [0 30] 4 0 6] [0 6] 9 2 10 [6 4 0 6] 0 1]
223+ 9
224+ 2
225+ 0
226+ 1
227+ ]
228+ 0
229+ 1
230+ ]
231+ 11
232+ [1.953.718.630 1 6.514.020 [0 7] 0]
233+ 0
234+ 1
235+ ]
236+ 7
237+ [ 8
238+ [1 0 0]
239+ [ 1
240+ 6
241+ [6 [5 [0 12] 0 13] [1 1] 1 0]
242+ [ 6
243+ [ 8
244+ [ 1
245+ 6
246+ [5 [1 0] 0 28]
247+ [1 0]
248+ 6
249+ [ 6
250+ [6 [5 [1 0] 0 29] [1 1] 1 0]
251+ [ 6
252+ [ 9
253+ 2
254+ 10
255+ [ 14
256+ [8 [9 2.398 0 15] 9 2 10 [6 0 60] 0 2]
257+ 8
258+ [9 2.398 0 15]
259+ 9
260+ 2
261+ 10
262+ [6 0 61]
263+ 0
264+ 2
265+ ]
266+ 0
267+ 1
268+ ]
269+ [1 0]
270+ 1
271+ 1
272+ ]
273+ 1
274+ 1
275+ ]
276+ [1 0]
277+ 1
278+ 1
279+ ]
280+ 9
281+ 2
282+ 0
283+ 1
284+ ]
285+ [1 0]
286+ 1
287+ 1
288+ ]
289+ 1
290+ 1
291+ ]
292+ 0
293+ 1
294+ ]
295+ 11
296+ [1.953.718.630 1 6.845.548 [0 7] 0]
297+ 0
298+ 1
299+ ]
300+ 7
301+ [ 8
302+ [1 0 0]
303+ [1 6 [8 [9 148 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [1 1] 1 0]
304+ 0
305+ 1
306+ ]
307+ 11
308+ [1.953.718.630 1 6.845.543 [0 7] 0]
309+ 0
310+ 1
311+ ]
312+ [ 7
313+ [ 8
314+ [1 0 0]
315+ [1 6 [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [1 1] 1 0]
316+ 0
317+ 1
318+ ]
319+ 11
320+ [1.953.718.630 1 6.648.935 [0 7] 0]
321+ 0
322+ 1
323+ ]
324+ [ [ 7
325+ [ 8
326+ [1 0 0]
327+ [1 6 [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [0 12] 0 13]
328+ 0
329+ 1
330+ ]
331+ 11
332+ [1.953.718.630 1 7.235.949 [0 7] 0]
333+ 0
334+ 1
335+ ]
336+ 7
337+ [ 8
338+ [1 1 1]
339+ [ 1
340+ 6
341+ [5 [1 0] 0 13]
342+ [0 0]
343+ 8
344+ [9 79 0 7]
345+ 9
346+ 2
347+ 10
348+ [ 6
349+ [0 28]
350+ 7
351+ [0 3]
352+ 8
353+ [9 8 0 7]
354+ 9
355+ 2
356+ 10
357+ [6 [0 29] 7 [0 3] 8 [9 1.198 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
358+ 0
359+ 2
360+ ]
361+ 0
362+ 2
363+ ]
364+ 0
365+ 1
366+ ]
367+ 11
368+ [1.953.718.630 1 6.582.125 [0 7] 0]
369+ 0
370+ 1
371+ ]
372+ 7
373+ [ 8
374+ [1 0 0]
375+ [ 1
376+ 11
377+ [ 1.851.876.717
378+ [ 1
379+ [1 1.717.658.988]
380+ 7
381+ [0 1]
382+ 8
383+ [ 1
384+ 1
385+ 115
386+ 117
387+ 98
388+ 116
389+ 114
390+ 97
391+ 99
392+ 116
393+ 45
394+ 117
395+ 110
396+ 100
397+ 101
398+ 114
399+ 102
400+ 108
401+ 111
402+ 119
403+ 0
404+ ]
405+ 9
406+ 2
407+ 0
408+ 1
409+ ]
410+ 0
411+ 1
412+ ]
413+ 6
414+ [5 [1 0] 0 13]
415+ [0 12]
416+ 9
417+ 2
418+ 10
419+ [ 6
420+ [8 [9 2.398 0 7] 9 2 10 [6 0 28] 0 2]
421+ 8
422+ [9 2.398 0 7]
423+ 9
424+ 2
425+ 10
426+ [6 0 29]
427+ 0
428+ 2
429+ ]
430+ 0
431+ 1
432+ ]
433+ 0
434+ 1
435+ ]
436+ 11
437+ [1.953.718.630 1 6.452.595 [0 7] 0]
438+ 0
439+ 1
440+ ]
441+ [ [ 8
442+ [1 0]
443+ [ 1
444+ 8
445+ [ 6
446+ [3 0 6]
447+ [ [8 [7 [0 7] 9 86 0 1] 9 2 10 [6 0 28] 0 2]
448+ 8
449+ [7 [0 7] 9 699 0 1]
450+ 9
451+ 2
452+ 10
453+ [6 0 29]
454+ 0
455+ 2
456+ ]
457+ 8
458+ [7 [0 7] 9 86 0 1]
459+ 9
460+ 2
461+ 10
462+ [6 0 14]
463+ 0
464+ 2
465+ ]
466+ 8
467+ [5 [0 14] 0 2]
468+ 0
469+ 6
470+ ]
471+ 0
472+ 1
473+ ]
474+ [ [ 8
475+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
476+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
477+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
478+ 8
479+ [1 0]
480+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
481+ 0
482+ 1
483+ ]
484+ [ 1
485+ 8
486+ [[0 50] [0 106] [0 218] 0 222]
487+ [ 1
488+ 8
489+ [ [8 [0 60] 9 2 10 [6 0 28] 0 2]
490+ [8 [0 122] 9 2 10 [6 0 58] 0 2]
491+ [8 [0 246] 9 2 10 [6 0 118] 0 2]
492+ 8
493+ [0 247]
494+ 9
495+ 2
496+ 10
497+ [6 0 119]
498+ 0
499+ 2
500+ ]
501+ 8
502+ [5 [0 14] 0 2]
503+ 0
504+ 6
505+ ]
506+ 0
507+ 1
508+ ]
509+ 0
510+ 1
511+ ]
512+ [ [ 8
513+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
514+ [ 1
515+ 8
516+ [1 0]
517+ [ 1
518+ 8
519+ [ 6
520+ [3 0 6]
521+ [[6 [5 [1 0] 0 12] [1 0] 0 0] 8 [0 30] 9 2 10 [6 0 29] 0 2]
522+ 6
523+ [5 [1 0] 0 6]
524+ [1 0]
525+ 0
526+ 0
527+ ]
528+ 8
529+ [5 [0 14] 0 2]
530+ 0
531+ 6
532+ ]
533+ 0
534+ 1
535+ ]
536+ 0
537+ 1
538+ ]
539+ [ 8
540+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
541+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
542+ 8
543+ [1 0]
544+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
545+ 0
546+ 1
547+ ]
548+ [ 1
549+ 8
550+ [[0 50] [0 106] 0 110]
551+ [ 1
552+ 8
553+ [ [8 [0 60] 9 2 10 [6 0 28] 0 2]
554+ [8 [0 122] 9 2 10 [6 0 58] 0 2]
555+ 8
556+ [0 123]
557+ 9
558+ 2
559+ 10
560+ [6 0 59]
561+ 0
562+ 2
563+ ]
564+ 8
565+ [5 [0 14] 0 2]
566+ 0
567+ 6
568+ ]
569+ 0
570+ 1
571+ ]
572+ 0
573+ 1
574+ ]
575+ [ 8
576+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
577+ 8
578+ [1 0]
579+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
580+ 0
581+ 1
582+ ]
583+ [ 1
584+ 8
585+ [[7 [8 [9 1.407 0 7] 9 2 10 [6 0 28] 0 2] 0 6] 0 54]
586+ [ 1
587+ 8
588+ [ [ 8
589+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 28] 0 2]
590+ 9
591+ 2
592+ 10
593+ [6 0 28]
594+ 0
595+ 2
596+ ]
597+ 8
598+ [0 61]
599+ 9
600+ 2
601+ 10
602+ [6 0 29]
603+ 0
604+ 2
605+ ]
606+ 8
607+ [5 [0 14] 0 2]
608+ 0
609+ 6
610+ ]
611+ 0
612+ 1
613+ ]
614+ 0
615+ 1
616+ ]
617+ 8
618+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
619+ [ 1
620+ 8
621+ [1 0]
622+ [ 1
623+ 8
624+ [ 6
625+ [3 0 6]
626+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
627+ 8
628+ [7 [0 7] 8 [9 1.367 0 7] 9 2 10 [6 0 14] 0 2]
629+ 9
630+ 2
631+ 10
632+ [6 0 29]
633+ 0
634+ 2
635+ ]
636+ 6
637+ [5 [1 0] 0 6]
638+ [1 0]
639+ 0
640+ 0
641+ ]
642+ 8
643+ [5 [0 14] 0 2]
644+ 0
645+ 6
646+ ]
647+ 0
648+ 1
649+ ]
650+ 0
651+ 1
652+ ]
653+ [ 8
654+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
655+ [ 1
656+ 8
657+ [0 26]
658+ [1 8 [8 [0 30] 9 2 10 [6 0 14] 0 2] 8 [5 [0 14] 0 2] 0 6]
659+ 0
660+ 1
661+ ]
662+ 0
663+ 1
664+ ]
665+ 8
666+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
667+ 8
668+ [1 0]
669+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
670+ 0
671+ 1
672+ ]
673+ [ 1
674+ 8
675+ [[1 0] 0 50]
676+ [ 1
677+ 8
678+ [ 6
679+ [5 [1 1] 0 12]
680+ [[6 [5 [0 12] 1 1] [1 1] 0 0] 8 [0 61] 9 2 10 [6 0 29] 0 2]
681+ [6 [5 [0 12] 1 0] [1 0] 0 0]
682+ 8
683+ [0 60]
684+ 9
685+ 2
686+ 10
687+ [6 0 29]
688+ 0
689+ 2
690+ ]
691+ 8
692+ [5 [0 14] 0 2]
693+ 0
694+ 6
695+ ]
696+ 0
697+ 1
698+ ]
699+ 0
700+ 1
701+ ]
702+ [ 8
703+ [1 0]
704+ [1 8 [6 [6 [3 0 6] [1 1] 1 0] [0 6] 0 0] 8 [5 [0 14] 0 2] 0 6]
705+ 0
706+ 1
707+ ]
708+ [ [ 8
709+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
710+ 8
711+ [1 0]
712+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
713+ 0
714+ 1
715+ ]
716+ [ 1
717+ 8
718+ [[0 50] 0 54]
719+ [ 1
720+ 8
721+ [[8 [0 60] 9 2 10 [6 0 28] 0 2] 8 [0 61] 9 2 10 [6 0 29] 0 2]
722+ 8
723+ [5 [0 14] 0 2]
724+ 0
725+ 6
726+ ]
727+ 0
728+ 1
729+ ]
730+ 0
731+ 1
732+ ]
733+ [ 8
734+ [1 0]
735+ [1 8 [7 [1 0 0] 8 [0 2] [1 0 15] 0 1] 8 [5 [0 14] 0 2] 0 6]
736+ 0
737+ 1
738+ ]
739+ 8
740+ [1 0]
741+ [1 8 [7 [0 7] 1 1] 8 [5 [0 14] 0 2] 0 6]
742+ 0
743+ 1
744+ ]
745+ [ 8
746+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
747+ [ 1
748+ 8
749+ [1 0]
750+ [1 8 [7 [0 7] [1 7 [0 14] 9 2 0 1] 0 1] 8 [5 [0 14] 0 2] 0 6]
751+ 0
752+ 1
753+ ]
754+ 0
755+ 1
756+ ]
757+ [ [ 8
758+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
759+ [ 1
760+ 8
761+ [1 0]
762+ [ 1
763+ 8
764+ [ 6
765+ [3 0 6]
766+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
767+ [ 8
768+ [7 [0 7] 8 [9 1.404 0 7] 9 2 10 [6 0 14] 0 2]
769+ 9
770+ 2
771+ 10
772+ [6 0 58]
773+ 0
774+ 2
775+ ]
776+ 8
777+ [7 [0 7] 8 [9 1.404 0 7] 9 2 10 [6 0 14] 0 2]
778+ 9
779+ 2
780+ 10
781+ [6 0 59]
782+ 0
783+ 2
784+ ]
785+ 6
786+ [5 [1 0] 0 6]
787+ [1 0]
788+ 0
789+ 0
790+ ]
791+ 8
792+ [5 [0 14] 0 2]
793+ 0
794+ 6
795+ ]
796+ 0
797+ 1
798+ ]
799+ 0
800+ 1
801+ ]
802+ 8
803+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
804+ [ 1
805+ 8
806+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
807+ 8
808+ [5 [0 14] 0 2]
809+ 0
810+ 6
811+ ]
812+ 0
813+ 1
814+ ]
815+ [ 8
816+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
817+ [ 1
818+ 8
819+ [[0 26] 7 [8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2] 0 6]
820+ [ 1
821+ 8
822+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
823+ 8
824+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2]
825+ 9
826+ 2
827+ 10
828+ [6 0 29]
829+ 0
830+ 2
831+ ]
832+ 8
833+ [5 [0 14] 0 2]
834+ 0
835+ 6
836+ ]
837+ 0
838+ 1
839+ ]
840+ 0
841+ 1
842+ ]
843+ 8
844+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
845+ [ 1
846+ 8
847+ [1 0]
848+ [ 1
849+ 8
850+ [ 6
851+ [3 0 6]
852+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
853+ 8
854+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2]
855+ 9
856+ 2
857+ 10
858+ [6 0 29]
859+ 0
860+ 2
861+ ]
862+ 6
863+ [5 [1 0] 0 6]
864+ [1 0]
865+ 0
866+ 0
867+ ]
868+ 8
869+ [5 [0 14] 0 2]
870+ 0
871+ 6
872+ ]
873+ 0
874+ 1
875+ ]
876+ 0
877+ 1
878+ ]
879+ [ 8
880+ [1 [0 15] 0 0 0]
881+ [1 8 [1 [0 15] 0 0 0] [1 8 [9 348 0 31] 9 2 10 [6 [0 62] 0 14] 0 2] 0 1]
882+ 0
883+ 1
884+ ]
885+ [ [ 8
886+ [1 [[0 15] 0 0 0] [0 15] 0 0 0]
887+ [1 8 [9 94 0 7] 9 2 10 [6 [0 29] 0 28] 0 2]
888+ 0
889+ 1
890+ ]
891+ [8 [1 0 0] [1 5 [0 12] 0 13] 0 1]
892+ [ 8
893+ [1 [[0 15] [0 0] [0 0] 0] 0]
894+ [1 8 [0 101] [1 8 [0 60] 9 2 10 [6 [0 125] 0 14] 0 2] 0 1]
895+ 0
896+ 1
897+ ]
898+ [8 [1 0] [1 0 6] 0 1]
899+ [ 7
900+ [ 8
901+ [1 0]
902+ [ 1
903+ 6
904+ [5 [1 2] 0 6]
905+ [1 2]
906+ 6
907+ [5 [1 3] 0 6]
908+ [1 3]
909+ 6
910+ [6 [5 [1 1] 0 6] [1 0] 5 [1 0] 0 6]
911+ [0 0]
912+ 9
913+ 2
914+ 10
915+ [6 8 [9 1.198 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
916+ 0
917+ 1
918+ ]
919+ 0
920+ 1
921+ ]
922+ 11
923+ [1.953.718.630 1 7.364.963 [0 7] 0]
924+ 0
925+ 1
926+ ]
927+ [ [ 8
928+ [1 [0 15] 0 0 0]
929+ [ 1
930+ 8
931+ [1 [0 15] 0 0 0]
932+ [1 8 [9 348 0 31] 9 2 10 [6 [0 14] 0 62] 0 2]
933+ 0
934+ 1
935+ ]
936+ 0
937+ 1
938+ ]
939+ 7
940+ [ 8
941+ [1 0 0]
942+ [ 1
943+ 6
944+ [5 [1 0] 0 12]
945+ [0 0]
946+ 6
947+ [5 [1 1] 0 13]
948+ [0 12]
949+ 6
950+ [5 [1 2] 0 13]
951+ [8 [9 8 0 7] 9 2 10 [6 [0 28] 7 [0 3] 1 2] 0 2]
952+ 6
953+ [5 [1 3] 0 13]
954+ [4 8 [9 8 0 7] 9 2 10 [6 [0 28] 7 [0 3] 1 2] 0 2]
955+ 8
956+ [9 36 0 7]
957+ 9
958+ 2
959+ 10
960+ [ 6
961+ [7 [0 3] 8 [9 157 0 7] 9 2 10 [6 [0 29] 7 [0 3] 1 2] 0 2]
962+ 7
963+ [0 3]
964+ 8
965+ [9 8 0 7]
966+ 9
967+ 2
968+ 10
969+ [ 6
970+ [ 7
971+ [0 3]
972+ 9
973+ 2
974+ 10
975+ [13 8 [9 1.198 0 7] 9 2 10 [6 [0 29] 7 [0 3] 1 2] 0 2]
976+ 0
977+ 1
978+ ]
979+ 7
980+ [0 3]
981+ 1
982+ 2
983+ ]
984+ 0
985+ 2
986+ ]
987+ 0
988+ 2
989+ ]
990+ 0
991+ 1
992+ ]
993+ 11
994+ [1.953.718.630 1 6.776.176 [0 7] 0]
995+ 0
996+ 1
997+ ]
998+ [8 [1 0 0] [1 0 13] 0 1]
999+ [8 [1 0] [1 8 [1 0] [1 [0 30] 0 6] 0 1] 0 1]
1000+ 8
1001+ [1 [[0 15] [0 0] [0 0] 0] 0]
1002+ [1 8 [0 101] [1 8 [0 60] 9 2 10 [6 [0 14] 0 125] 0 2] 0 1]
1003+ 0
1004+ 1
1005+ ]
1006+ [ 8
1007+ [1 [[0 15] 0 0 0] [0 15] 0 0 0]
1008+ [ 1
1009+ 7
1010+ [ 8
1011+ [0 54]
1012+ [1 8 [0 60] 9 2 10 [6 7 [0 3] 8 [0 61] 9 2 10 [6 0 14] 0 2] 0 2]
1013+ 0
1014+ 1
1015+ ]
1016+ 8
1017+ [1 8 [0 124] 9 2 10 [6 7 [0 3] 7 [0 125] 9 2 0 1] 0 2]
1018+ 0
1019+ 3
1020+ ]
1021+ 0
1022+ 1
1023+ ]
1024+ [ [8 [1 0] [1 8 [1 0] [1 [0 6] 0 30] 0 1] 0 1]
1025+ [ 7
1026+ [ 8
1027+ [1 0]
1028+ [ 1
1029+ 6
1030+ [6 [5 [1 3] 0 6] [1 0] 5 [1 2] 0 6]
1031+ [1 1]
1032+ 6
1033+ [6 [5 [1 1] 0 6] [1 0] 5 [1 0] 0 6]
1034+ [0 0]
1035+ 8
1036+ [9 36 0 7]
1037+ 9
1038+ 2
1039+ 10
1040+ [ 6
1041+ [7 [0 3] 8 [9 157 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
1042+ 7
1043+ [0 3]
1044+ 8
1045+ [9 8 0 7]
1046+ 9
1047+ 2
1048+ 10
1049+ [ 6
1050+ [ 7
1051+ [0 3]
1052+ 9
1053+ 2
1054+ 10
1055+ [6 8 [9 1.198 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
1056+ 0
1057+ 1
1058+ ]
1059+ 7
1060+ [0 3]
1061+ 1
1062+ 2
1063+ ]
1064+ 0
1065+ 2
1066+ ]
1067+ 0
1068+ 2
1069+ ]
1070+ 0
1071+ 1
1072+ ]
1073+ 11
1074+ [1.953.718.630 1 7.561.581 [0 7] 0]
1075+ 0
1076+ 1
1077+ ]
1078+ 8
1079+ [1 0 0]
1080+ [1 0 12]
1081+ 0
1082+ 1
1083+ ]
1084+ 8
1085+ [1 0]
1086+ [1 4 0 6]
1087+ 0
1088+ 1
1089+ ]
1090+ [0 3]
1091+ 140
1092+]
tests/golden/add.result.nocknew file

No changes to the content.

tests/golden/dec.nocknew file+1133
@@ -0,0 +1,1133 @@
1+[ [ 11
2+ [ 1.851.876.717
3+ [ 1
4+ [1 1.717.658.988]
5+ 7
6+ [0 1]
7+ 8
8+ [ 1
9+ 1
10+ 100
11+ 101
12+ 99
13+ 114
14+ 101
15+ 109
16+ 101
17+ 110
18+ 116
19+ 45
20+ 117
21+ 110
22+ 100
23+ 101
24+ 114
25+ 102
26+ 108
27+ 111
28+ 119
29+ 0
30+ ]
31+ 9
32+ 2
33+ 0
34+ 1
35+ ]
36+ 0
37+ 1
38+ ]
39+ 6
40+ [5 [1 0] 0 6]
41+ [0 0]
42+ 8
43+ [1 0]
44+ 8
45+ [1 6 [5 [0 30] 4 0 6] [0 6] 9 2 10 [6 4 0 6] 0 1]
46+ 9
47+ 2
48+ 0
49+ 1
50+ ]
51+ 0
52+ [ [ [ 7
53+ [ 8
54+ [1 1 1]
55+ [ 1
56+ 8
57+ [1 0]
58+ 8
59+ [ 1
60+ 6
61+ [5 [1 0] 0 60]
62+ [0 6]
63+ 9
64+ 2
65+ 10
66+ [60 8 [9 2.398 0 31] 9 2 10 [6 0 124] 0 2]
67+ 10
68+ [6 8 [9 36 0 31] 9 2 10 [6 [0 125] 0 14] 0 2]
69+ 0
70+ 1
71+ ]
72+ 9
73+ 2
74+ 0
75+ 1
76+ ]
77+ 0
78+ 1
79+ ]
80+ 11
81+ [1.953.718.630 1 7.107.949 [0 7] 0]
82+ 0
83+ 1
84+ ]
85+ [ [ 7
86+ [ 8
87+ [1 0 0]
88+ [ 1
89+ 6
90+ [5 [1 0] 0 12]
91+ [0 13]
92+ 9
93+ 2
94+ 10
95+ [6 [8 [9 2.398 0 7] 9 2 10 [6 0 28] 0 2] 4 0 13]
96+ 0
97+ 1
98+ ]
99+ 0
100+ 1
101+ ]
102+ 11
103+ [1.953.718.630 1 6.579.297 [0 7] 0]
104+ 0
105+ 1
106+ ]
107+ [ [ 7
108+ [ 8
109+ [1 0 0]
110+ [ 1
111+ 6
112+ [5 [0 12] 0 13]
113+ [1 0]
114+ 6
115+ [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
116+ [1 0]
117+ 1
118+ 1
119+ ]
120+ 0
121+ 1
122+ ]
123+ 11
124+ [1.953.718.630 1 6.648.940 [0 7] 0]
125+ 0
126+ 1
127+ ]
128+ [ 7
129+ [ 8
130+ [1 0 0]
131+ [ 1
132+ [8 [9 1.198 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
133+ 8
134+ [9 157 0 7]
135+ 9
136+ 2
137+ 10
138+ [6 [0 28] 0 29]
139+ 0
140+ 2
141+ ]
142+ 0
143+ 1
144+ ]
145+ 11
146+ [1.953.718.630 1 7.501.412 [0 7] 0]
147+ 0
148+ 1
149+ ]
150+ [ 7
151+ [ 8
152+ [1 0 0]
153+ [1 6 [8 [9 75 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [0 12] 0 13]
154+ 0
155+ 1
156+ ]
157+ 11
158+ [1.953.718.630 1 7.889.261 [0 7] 0]
159+ 0
160+ 1
161+ ]
162+ [ 7
163+ [ 8
164+ [1 1 1]
165+ [ 1
166+ 11
167+ [ 1.851.876.717
168+ [ 1
169+ [1 1.717.658.988]
170+ 7
171+ [0 1]
172+ 8
173+ [1 1 100 105 118 105 100 101 45 98 121 45 122 101 114 111 0]
174+ 9
175+ 2
176+ 0
177+ 1
178+ ]
179+ 0
180+ 1
181+ ]
182+ 6
183+ [5 [1 0] 0 13]
184+ [0 0]
185+ 8
186+ [1 0]
187+ 8
188+ [ 1
189+ 6
190+ [8 [9 2.399 0 31] 9 2 10 [6 [0 124] 0 125] 0 2]
191+ [0 6]
192+ 9
193+ 2
194+ 10
195+ [60 8 [9 79 0 31] 9 2 10 [6 [0 124] 0 125] 0 2]
196+ 10
197+ [6 4 0 6]
198+ 0
199+ 1
200+ ]
201+ 9
202+ 2
203+ 0
204+ 1
205+ ]
206+ 0
207+ 1
208+ ]
209+ 11
210+ [1.953.718.630 1 7.760.228 [0 7] 0]
211+ 0
212+ 1
213+ ]
214+ [ 7
215+ [ 8
216+ [1 0]
217+ [ 1
218+ 11
219+ [ 1.851.876.717
220+ [ 1
221+ [1 1.717.658.988]
222+ 7
223+ [0 1]
224+ 8
225+ [ 1
226+ 1
227+ 100
228+ 101
229+ 99
230+ 114
231+ 101
232+ 109
233+ 101
234+ 110
235+ 116
236+ 45
237+ 117
238+ 110
239+ 100
240+ 101
241+ 114
242+ 102
243+ 108
244+ 111
245+ 119
246+ 0
247+ ]
248+ 9
249+ 2
250+ 0
251+ 1
252+ ]
253+ 0
254+ 1
255+ ]
256+ 6
257+ [5 [1 0] 0 6]
258+ [0 0]
259+ 8
260+ [1 0]
261+ 8
262+ [1 6 [5 [0 30] 4 0 6] [0 6] 9 2 10 [6 4 0 6] 0 1]
263+ 9
264+ 2
265+ 0
266+ 1
267+ ]
268+ 0
269+ 1
270+ ]
271+ 11
272+ [1.953.718.630 1 6.514.020 [0 7] 0]
273+ 0
274+ 1
275+ ]
276+ 7
277+ [ 8
278+ [1 0 0]
279+ [ 1
280+ 6
281+ [6 [5 [0 12] 0 13] [1 1] 1 0]
282+ [ 6
283+ [ 8
284+ [ 1
285+ 6
286+ [5 [1 0] 0 28]
287+ [1 0]
288+ 6
289+ [ 6
290+ [6 [5 [1 0] 0 29] [1 1] 1 0]
291+ [ 6
292+ [ 9
293+ 2
294+ 10
295+ [ 14
296+ [8 [9 2.398 0 15] 9 2 10 [6 0 60] 0 2]
297+ 8
298+ [9 2.398 0 15]
299+ 9
300+ 2
301+ 10
302+ [6 0 61]
303+ 0
304+ 2
305+ ]
306+ 0
307+ 1
308+ ]
309+ [1 0]
310+ 1
311+ 1
312+ ]
313+ 1
314+ 1
315+ ]
316+ [1 0]
317+ 1
318+ 1
319+ ]
320+ 9
321+ 2
322+ 0
323+ 1
324+ ]
325+ [1 0]
326+ 1
327+ 1
328+ ]
329+ 1
330+ 1
331+ ]
332+ 0
333+ 1
334+ ]
335+ 11
336+ [1.953.718.630 1 6.845.548 [0 7] 0]
337+ 0
338+ 1
339+ ]
340+ 7
341+ [ 8
342+ [1 0 0]
343+ [1 6 [8 [9 148 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [1 1] 1 0]
344+ 0
345+ 1
346+ ]
347+ 11
348+ [1.953.718.630 1 6.845.543 [0 7] 0]
349+ 0
350+ 1
351+ ]
352+ [ 7
353+ [ 8
354+ [1 0 0]
355+ [1 6 [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [1 1] 1 0]
356+ 0
357+ 1
358+ ]
359+ 11
360+ [1.953.718.630 1 6.648.935 [0 7] 0]
361+ 0
362+ 1
363+ ]
364+ [ [ 7
365+ [ 8
366+ [1 0 0]
367+ [1 6 [8 [9 2.399 0 7] 9 2 10 [6 [0 28] 0 29] 0 2] [0 12] 0 13]
368+ 0
369+ 1
370+ ]
371+ 11
372+ [1.953.718.630 1 7.235.949 [0 7] 0]
373+ 0
374+ 1
375+ ]
376+ 7
377+ [ 8
378+ [1 1 1]
379+ [ 1
380+ 6
381+ [5 [1 0] 0 13]
382+ [0 0]
383+ 8
384+ [9 79 0 7]
385+ 9
386+ 2
387+ 10
388+ [ 6
389+ [0 28]
390+ 7
391+ [0 3]
392+ 8
393+ [9 8 0 7]
394+ 9
395+ 2
396+ 10
397+ [6 [0 29] 7 [0 3] 8 [9 1.198 0 7] 9 2 10 [6 [0 28] 0 29] 0 2]
398+ 0
399+ 2
400+ ]
401+ 0
402+ 2
403+ ]
404+ 0
405+ 1
406+ ]
407+ 11
408+ [1.953.718.630 1 6.582.125 [0 7] 0]
409+ 0
410+ 1
411+ ]
412+ 7
413+ [ 8
414+ [1 0 0]
415+ [ 1
416+ 11
417+ [ 1.851.876.717
418+ [ 1
419+ [1 1.717.658.988]
420+ 7
421+ [0 1]
422+ 8
423+ [ 1
424+ 1
425+ 115
426+ 117
427+ 98
428+ 116
429+ 114
430+ 97
431+ 99
432+ 116
433+ 45
434+ 117
435+ 110
436+ 100
437+ 101
438+ 114
439+ 102
440+ 108
441+ 111
442+ 119
443+ 0
444+ ]
445+ 9
446+ 2
447+ 0
448+ 1
449+ ]
450+ 0
451+ 1
452+ ]
453+ 6
454+ [5 [1 0] 0 13]
455+ [0 12]
456+ 9
457+ 2
458+ 10
459+ [ 6
460+ [8 [9 2.398 0 7] 9 2 10 [6 0 28] 0 2]
461+ 8
462+ [9 2.398 0 7]
463+ 9
464+ 2
465+ 10
466+ [6 0 29]
467+ 0
468+ 2
469+ ]
470+ 0
471+ 1
472+ ]
473+ 0
474+ 1
475+ ]
476+ 11
477+ [1.953.718.630 1 6.452.595 [0 7] 0]
478+ 0
479+ 1
480+ ]
481+ [ [ 8
482+ [1 0]
483+ [ 1
484+ 8
485+ [ 6
486+ [3 0 6]
487+ [ [8 [7 [0 7] 9 86 0 1] 9 2 10 [6 0 28] 0 2]
488+ 8
489+ [7 [0 7] 9 699 0 1]
490+ 9
491+ 2
492+ 10
493+ [6 0 29]
494+ 0
495+ 2
496+ ]
497+ 8
498+ [7 [0 7] 9 86 0 1]
499+ 9
500+ 2
501+ 10
502+ [6 0 14]
503+ 0
504+ 2
505+ ]
506+ 8
507+ [5 [0 14] 0 2]
508+ 0
509+ 6
510+ ]
511+ 0
512+ 1
513+ ]
514+ [ [ 8
515+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
516+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
517+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
518+ 8
519+ [1 0]
520+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
521+ 0
522+ 1
523+ ]
524+ [ 1
525+ 8
526+ [[0 50] [0 106] [0 218] 0 222]
527+ [ 1
528+ 8
529+ [ [8 [0 60] 9 2 10 [6 0 28] 0 2]
530+ [8 [0 122] 9 2 10 [6 0 58] 0 2]
531+ [8 [0 246] 9 2 10 [6 0 118] 0 2]
532+ 8
533+ [0 247]
534+ 9
535+ 2
536+ 10
537+ [6 0 119]
538+ 0
539+ 2
540+ ]
541+ 8
542+ [5 [0 14] 0 2]
543+ 0
544+ 6
545+ ]
546+ 0
547+ 1
548+ ]
549+ 0
550+ 1
551+ ]
552+ [ [ 8
553+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
554+ [ 1
555+ 8
556+ [1 0]
557+ [ 1
558+ 8
559+ [ 6
560+ [3 0 6]
561+ [[6 [5 [1 0] 0 12] [1 0] 0 0] 8 [0 30] 9 2 10 [6 0 29] 0 2]
562+ 6
563+ [5 [1 0] 0 6]
564+ [1 0]
565+ 0
566+ 0
567+ ]
568+ 8
569+ [5 [0 14] 0 2]
570+ 0
571+ 6
572+ ]
573+ 0
574+ 1
575+ ]
576+ 0
577+ 1
578+ ]
579+ [ 8
580+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
581+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
582+ 8
583+ [1 0]
584+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
585+ 0
586+ 1
587+ ]
588+ [ 1
589+ 8
590+ [[0 50] [0 106] 0 110]
591+ [ 1
592+ 8
593+ [ [8 [0 60] 9 2 10 [6 0 28] 0 2]
594+ [8 [0 122] 9 2 10 [6 0 58] 0 2]
595+ 8
596+ [0 123]
597+ 9
598+ 2
599+ 10
600+ [6 0 59]
601+ 0
602+ 2
603+ ]
604+ 8
605+ [5 [0 14] 0 2]
606+ 0
607+ 6
608+ ]
609+ 0
610+ 1
611+ ]
612+ 0
613+ 1
614+ ]
615+ [ 8
616+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
617+ 8
618+ [1 0]
619+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
620+ 0
621+ 1
622+ ]
623+ [ 1
624+ 8
625+ [[7 [8 [9 1.407 0 7] 9 2 10 [6 0 28] 0 2] 0 6] 0 54]
626+ [ 1
627+ 8
628+ [ [ 8
629+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 28] 0 2]
630+ 9
631+ 2
632+ 10
633+ [6 0 28]
634+ 0
635+ 2
636+ ]
637+ 8
638+ [0 61]
639+ 9
640+ 2
641+ 10
642+ [6 0 29]
643+ 0
644+ 2
645+ ]
646+ 8
647+ [5 [0 14] 0 2]
648+ 0
649+ 6
650+ ]
651+ 0
652+ 1
653+ ]
654+ 0
655+ 1
656+ ]
657+ 8
658+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
659+ [ 1
660+ 8
661+ [1 0]
662+ [ 1
663+ 8
664+ [ 6
665+ [3 0 6]
666+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
667+ 8
668+ [7 [0 7] 8 [9 1.367 0 7] 9 2 10 [6 0 14] 0 2]
669+ 9
670+ 2
671+ 10
672+ [6 0 29]
673+ 0
674+ 2
675+ ]
676+ 6
677+ [5 [1 0] 0 6]
678+ [1 0]
679+ 0
680+ 0
681+ ]
682+ 8
683+ [5 [0 14] 0 2]
684+ 0
685+ 6
686+ ]
687+ 0
688+ 1
689+ ]
690+ 0
691+ 1
692+ ]
693+ [ 8
694+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
695+ [ 1
696+ 8
697+ [0 26]
698+ [1 8 [8 [0 30] 9 2 10 [6 0 14] 0 2] 8 [5 [0 14] 0 2] 0 6]
699+ 0
700+ 1
701+ ]
702+ 0
703+ 1
704+ ]
705+ 8
706+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
707+ 8
708+ [1 0]
709+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
710+ 0
711+ 1
712+ ]
713+ [ 1
714+ 8
715+ [[1 0] 0 50]
716+ [ 1
717+ 8
718+ [ 6
719+ [5 [1 1] 0 12]
720+ [[6 [5 [0 12] 1 1] [1 1] 0 0] 8 [0 61] 9 2 10 [6 0 29] 0 2]
721+ [6 [5 [0 12] 1 0] [1 0] 0 0]
722+ 8
723+ [0 60]
724+ 9
725+ 2
726+ 10
727+ [6 0 29]
728+ 0
729+ 2
730+ ]
731+ 8
732+ [5 [0 14] 0 2]
733+ 0
734+ 6
735+ ]
736+ 0
737+ 1
738+ ]
739+ 0
740+ 1
741+ ]
742+ [ 8
743+ [1 0]
744+ [1 8 [6 [6 [3 0 6] [1 1] 1 0] [0 6] 0 0] 8 [5 [0 14] 0 2] 0 6]
745+ 0
746+ 1
747+ ]
748+ [ [ 8
749+ [ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
750+ 8
751+ [1 0]
752+ [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6]
753+ 0
754+ 1
755+ ]
756+ [ 1
757+ 8
758+ [[0 50] 0 54]
759+ [ 1
760+ 8
761+ [[8 [0 60] 9 2 10 [6 0 28] 0 2] 8 [0 61] 9 2 10 [6 0 29] 0 2]
762+ 8
763+ [5 [0 14] 0 2]
764+ 0
765+ 6
766+ ]
767+ 0
768+ 1
769+ ]
770+ 0
771+ 1
772+ ]
773+ [ 8
774+ [1 0]
775+ [1 8 [7 [1 0 0] 8 [0 2] [1 0 15] 0 1] 8 [5 [0 14] 0 2] 0 6]
776+ 0
777+ 1
778+ ]
779+ 8
780+ [1 0]
781+ [1 8 [7 [0 7] 1 1] 8 [5 [0 14] 0 2] 0 6]
782+ 0
783+ 1
784+ ]
785+ [ 8
786+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
787+ [ 1
788+ 8
789+ [1 0]
790+ [1 8 [7 [0 7] [1 7 [0 14] 9 2 0 1] 0 1] 8 [5 [0 14] 0 2] 0 6]
791+ 0
792+ 1
793+ ]
794+ 0
795+ 1
796+ ]
797+ [ [ 8
798+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
799+ [ 1
800+ 8
801+ [1 0]
802+ [ 1
803+ 8
804+ [ 6
805+ [3 0 6]
806+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
807+ [ 8
808+ [7 [0 7] 8 [9 1.404 0 7] 9 2 10 [6 0 14] 0 2]
809+ 9
810+ 2
811+ 10
812+ [6 0 58]
813+ 0
814+ 2
815+ ]
816+ 8
817+ [7 [0 7] 8 [9 1.404 0 7] 9 2 10 [6 0 14] 0 2]
818+ 9
819+ 2
820+ 10
821+ [6 0 59]
822+ 0
823+ 2
824+ ]
825+ 6
826+ [5 [1 0] 0 6]
827+ [1 0]
828+ 0
829+ 0
830+ ]
831+ 8
832+ [5 [0 14] 0 2]
833+ 0
834+ 6
835+ ]
836+ 0
837+ 1
838+ ]
839+ 0
840+ 1
841+ ]
842+ 8
843+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
844+ [ 1
845+ 8
846+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
847+ 8
848+ [5 [0 14] 0 2]
849+ 0
850+ 6
851+ ]
852+ 0
853+ 1
854+ ]
855+ [ 8
856+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
857+ [ 1
858+ 8
859+ [[0 26] 7 [8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2] 0 6]
860+ [ 1
861+ 8
862+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
863+ 8
864+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2]
865+ 9
866+ 2
867+ 10
868+ [6 0 29]
869+ 0
870+ 2
871+ ]
872+ 8
873+ [5 [0 14] 0 2]
874+ 0
875+ 6
876+ ]
877+ 0
878+ 1
879+ ]
880+ 0
881+ 1
882+ ]
883+ 8
884+ [8 [1 0] [1 8 [0 6] 8 [5 [0 14] 0 2] 0 6] 0 1]
885+ [ 1
886+ 8
887+ [1 0]
888+ [ 1
889+ 8
890+ [ 6
891+ [3 0 6]
892+ [ [8 [0 30] 9 2 10 [6 0 28] 0 2]
893+ 8
894+ [7 [0 7] 8 [9 1.407 0 7] 9 2 10 [6 0 14] 0 2]
895+ 9
896+ 2
897+ 10
898+ [6 0 29]
899+ 0
900+ 2
901+ ]
902+ 6
903+ [5 [1 0] 0 6]
904+ [1 0]
905+ 0
906+ 0
907+ ]
908+ 8
909+ [5 [0 14] 0 2]
910+ 0
911+ 6
912+ ]
913+ 0
914+ 1
915+ ]
916+ 0
917+ 1
918+ ]
919+ [ 8
920+ [1 [0 15] 0 0 0]
921+ [1 8 [1 [0 15] 0 0 0] [1 8 [9 348 0 31] 9 2 10 [6 [0 62] 0 14] 0 2] 0 1]
922+ 0
923+ 1
924+ ]
925+ [ [ 8
926+ [1 [[0 15] 0 0 0] [0 15] 0 0 0]
927+ [1 8 [9 94 0 7] 9 2 10 [6 [0 29] 0 28] 0 2]
928+ 0
929+ 1
930+ ]
931+ [8 [1 0 0] [1 5 [0 12] 0 13] 0 1]
932+ [ 8
933+ [1 [[0 15] [0 0] [0 0] 0] 0]
934+ [1 8 [0 101] [1 8 [0 60] 9 2 10 [6 [0 125] 0 14] 0 2] 0 1]
935+ 0
936+ 1
937+ ]
938+ [8 [1 0] [1 0 6] 0 1]
939+ [ 7
940+ [ 8
941+ [1 0]
942+ [ 1
943+ 6
944+ [5 [1 2] 0 6]
945+ [1 2]
946+ 6
947+ [5 [1 3] 0 6]
948+ [1 3]
949+ 6
950+ [6 [5 [1 1] 0 6] [1 0] 5 [1 0] 0 6]
951+ [0 0]
952+ 9
953+ 2
954+ 10
955+ [6 8 [9 1.198 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
956+ 0
957+ 1
958+ ]
959+ 0
960+ 1
961+ ]
962+ 11
963+ [1.953.718.630 1 7.364.963 [0 7] 0]
964+ 0
965+ 1
966+ ]
967+ [ [ 8
968+ [1 [0 15] 0 0 0]
969+ [ 1
970+ 8
971+ [1 [0 15] 0 0 0]
972+ [1 8 [9 348 0 31] 9 2 10 [6 [0 14] 0 62] 0 2]
973+ 0
974+ 1
975+ ]
976+ 0
977+ 1
978+ ]
979+ 7
980+ [ 8
981+ [1 0 0]
982+ [ 1
983+ 6
984+ [5 [1 0] 0 12]
985+ [0 0]
986+ 6
987+ [5 [1 1] 0 13]
988+ [0 12]
989+ 6
990+ [5 [1 2] 0 13]
991+ [8 [9 8 0 7] 9 2 10 [6 [0 28] 7 [0 3] 1 2] 0 2]
992+ 6
993+ [5 [1 3] 0 13]
994+ [4 8 [9 8 0 7] 9 2 10 [6 [0 28] 7 [0 3] 1 2] 0 2]
995+ 8
996+ [9 36 0 7]
997+ 9
998+ 2
999+ 10
1000+ [ 6
1001+ [7 [0 3] 8 [9 157 0 7] 9 2 10 [6 [0 29] 7 [0 3] 1 2] 0 2]
1002+ 7
1003+ [0 3]
1004+ 8
1005+ [9 8 0 7]
1006+ 9
1007+ 2
1008+ 10
1009+ [ 6
1010+ [ 7
1011+ [0 3]
1012+ 9
1013+ 2
1014+ 10
1015+ [13 8 [9 1.198 0 7] 9 2 10 [6 [0 29] 7 [0 3] 1 2] 0 2]
1016+ 0
1017+ 1
1018+ ]
1019+ 7
1020+ [0 3]
1021+ 1
1022+ 2
1023+ ]
1024+ 0
1025+ 2
1026+ ]
1027+ 0
1028+ 2
1029+ ]
1030+ 0
1031+ 1
1032+ ]
1033+ 11
1034+ [1.953.718.630 1 6.776.176 [0 7] 0]
1035+ 0
1036+ 1
1037+ ]
1038+ [8 [1 0 0] [1 0 13] 0 1]
1039+ [8 [1 0] [1 8 [1 0] [1 [0 30] 0 6] 0 1] 0 1]
1040+ 8
1041+ [1 [[0 15] [0 0] [0 0] 0] 0]
1042+ [1 8 [0 101] [1 8 [0 60] 9 2 10 [6 [0 14] 0 125] 0 2] 0 1]
1043+ 0
1044+ 1
1045+ ]
1046+ [ 8
1047+ [1 [[0 15] 0 0 0] [0 15] 0 0 0]
1048+ [ 1
1049+ 7
1050+ [ 8
1051+ [0 54]
1052+ [1 8 [0 60] 9 2 10 [6 7 [0 3] 8 [0 61] 9 2 10 [6 0 14] 0 2] 0 2]
1053+ 0
1054+ 1
1055+ ]
1056+ 8
1057+ [1 8 [0 124] 9 2 10 [6 7 [0 3] 7 [0 125] 9 2 0 1] 0 2]
1058+ 0
1059+ 3
1060+ ]
1061+ 0
1062+ 1
1063+ ]
1064+ [ [8 [1 0] [1 8 [1 0] [1 [0 6] 0 30] 0 1] 0 1]
1065+ [ 7
1066+ [ 8
1067+ [1 0]
1068+ [ 1
1069+ 6
1070+ [6 [5 [1 3] 0 6] [1 0] 5 [1 2] 0 6]
1071+ [1 1]
1072+ 6
1073+ [6 [5 [1 1] 0 6] [1 0] 5 [1 0] 0 6]
1074+ [0 0]
1075+ 8
1076+ [9 36 0 7]
1077+ 9
1078+ 2
1079+ 10
1080+ [ 6
1081+ [7 [0 3] 8 [9 157 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
1082+ 7
1083+ [0 3]
1084+ 8
1085+ [9 8 0 7]
1086+ 9
1087+ 2
1088+ 10
1089+ [ 6
1090+ [ 7
1091+ [0 3]
1092+ 9
1093+ 2
1094+ 10
1095+ [6 8 [9 1.198 0 7] 9 2 10 [6 [0 14] 7 [0 3] 1 2] 0 2]
1096+ 0
1097+ 1
1098+ ]
1099+ 7
1100+ [0 3]
1101+ 1
1102+ 2
1103+ ]
1104+ 0
1105+ 2
1106+ ]
1107+ 0
1108+ 2
1109+ ]
1110+ 0
1111+ 1
1112+ ]
1113+ 11
1114+ [1.953.718.630 1 7.561.581 [0 7] 0]
1115+ 0
1116+ 1
1117+ ]
1118+ 8
1119+ [1 0 0]
1120+ [1 0 12]
1121+ 0
1122+ 1
1123+ ]
1124+ 8
1125+ [1 0]
1126+ [1 4 0 6]
1127+ 0
1128+ 1
1129+ ]
1130+ [0 3]
1131+ 140
1132+]
1133+
tests/golden/dec.result.nocknew file

No changes to the content.