summary refs log blame commit diff stats
path: root/2020/day-04/input
blob: b17cdcd7f6ea26750e84dc43c0991bdc747aac4c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weigh
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Mu - subx/002test.cc</title>
<meta name="Generator" content="Vim/7.4">
<meta name="plugin-version" content="vim7.4_v2">
<meta name="syntax" content="cpp">
<meta name="settings" content="number_lines,use_css,pre_wrap,no_foldcolumn,expand_tabs,line_ids,prevent_copy=">
<meta name="colorscheme" content="minimal">
<style type="text/css">
<!--
pre { white-space: pre-wrap; font-family: monospace; color: #aaaaaa; background-color: #080808; }
body { font-size: 12pt; font-family: monospace; color: #aaaaaa; background-color: #080808; }
a { color:#eeeeee; text-decoration: none; }
a:hover { text-decoration: underline; }
* { font-size: 12pt; font-size: 1em; }
.Constant { color: #00a0a0; }
.Conceal { color: #4e4e4e; }
.Comment { color: #9090ff; }
.Comment a { color:#0000ee; text-decoration:underline; }
.Delimiter { color: #800080; }
.LineNr { color: #444444; }
.Identifier { color: #c0a020; }
.Normal { color: #aaaaaa; background-color: #080808; padding-bottom: 1px; }
.PreProc { color: #800080; }
.CommentedCode { color: #6c6c6c; }
.cSpecial { color: #008000; }
-->
</style>

<script type='text/javascript'>
<!--

/* function to open any folds containing a jumped-to line before jumping to it */
function JumpToLine()
{
  var lineNum;
  lineNum = window.location.hash;
  lineNum = lineNum.substr(1); /* strip off '#' */

  if (lineNum.indexOf('L') == -1) {
    lineNum = 'L'+lineNum;
  }
  lineElem = document.getElementById(lineNum);
  /* Always jump to new location even if the line was hidden inside a fold, or
   * we corrected the raw number to a line ID.
   */
  if (lineElem) {
    lineElem.scrollIntoView(true);
  }
  return true;
}
if ('onhashchange' in window) {
  window.onhashchange = JumpToLine;
}

-->
</script>
</head>
<body onload='JumpToLine();'>
<pre id='vimCodeElement'>
<span id="L1" class="LineNr">  1 </span><span class="Comment">//: A simple test harness. To create new tests, define functions starting with</span>
<span id="L2" class="LineNr">  2 </span><span class="Comment">//: 'test_'. To run all tests so defined, run:</span>
<span id="L3" class="LineNr">  3 </span><span class="Comment">//:   $ ./mu test</span>
<span id="L4" class="LineNr">  4 </span><span class="Comment">//:</span>
<span id="L5" class="LineNr">  5 </span><span class="Comment">//: Every layer should include tests, and can reach into previous layers.</span>
<span id="L6" class="LineNr">  6 </span><span class="Comment">//: However, it seems like a good idea never to reach into tests from previous</span>
<span id="L7" class="LineNr">  7 </span><span class="Comment">//: layers. Every test should be a contract that always passes as originally</span>
<span id="L8" class="LineNr">  8 </span><span class="Comment">//: written, regardless of any later layers. Avoid writing 'temporary' tests</span>
<span id="L9" class="LineNr">  9 </span><span class="Comment">//: that are only meant to work until some layer.</span>
<span id="L10" class="LineNr"> 10 </span>
<span id="L11" class="LineNr"> 11 </span><span class="Delimiter">:(before &quot;End Types&quot;)</span>
<span id="L12" class="LineNr"> 12 </span><span class="Normal">typedef</span> <span class="Normal">void</span> <span class="Delimiter">(</span>*test_fn<span class="Delimiter">)(</span><span class="Normal">void</span><span class="Delimiter">);</span>
<span id="L13" class="LineNr"> 13 </span><span class="Delimiter">:(before &quot;Globals&quot;)</span>
<span id="L14" class="LineNr"> 14 </span><span class="Comment">// move a global ahead into types that we can't generate an extern declaration for</span>
<span id="L15" class="LineNr"> 15 </span><span class="Normal">const</span> <a href='002test.cc.html#L12'>test_fn</a> Tests[] = <span class="Delimiter">{</span>
<span id="L16" class="LineNr"> 16 </span><span class="PreProc">  #include </span><span class="Constant&
ecl:#eef340 eyr:2023 hcl:#c0946f pid:244684338 iyr:2020 cid:57 byr:1969 hgt:152cm

pid:303807545 cid:213 ecl:gry hcl:#fffffd
eyr:2038 byr:1951
hgt:171cm iyr:2011

hcl:#c0946f byr:1933 eyr:2025 pid:517067213 hgt:173cm
ecl:hzl
iyr:2018

pid:5253256652 byr:2009 hgt:152cm iyr:1989 eyr:1968 hcl:64cb63 ecl:hzl

iyr:2013
pid:862607211 eyr:2020
hgt:174cm
byr:1990
ecl:blu hcl:#888785

ecl:grn byr:1955
pid:608098408 eyr:2027 iyr:2020 hcl:#b6652a cid:264
hgt:181cm

byr:1998 ecl:hzl eyr:2021
hcl:#866857 hgt:189cm iyr:2030
pid:013735467

pid:075417314 hcl:#b6652a byr:1957
iyr:2011
hgt:154cm
eyr:2025
ecl:amb

iyr:1993 hgt:74cm eyr:1960
byr:2029
hcl:293244 ecl:#3cb5e5 pid:4861232363

hgt:153cm hcl:#6b5442 pid:065240897 byr:1932
cid:196 ecl:blu eyr:2028 iyr:2019

eyr:2024 ecl:amb
hcl:#866857 byr:1922 pid:496904942 hgt:164cm iyr:2020

pid:847705161 byr:1951 cid:124 iyr:1991
eyr:2028 ecl:dne
hcl:6b2d28 hgt:172cm

byr:2007 iyr:2029 ecl:hzl eyr:2026 hgt:168in
hcl:z
pid:63151612

iyr:2027 hgt:172in
cid:174 byr:2014 hcl:z eyr:1921
ecl:grt pid:#cebdc2

ecl:amb hcl:#d09c0f
iyr:2015 hgt:156cm eyr:2026 byr:1962
pid:086120872

cid:125
pid:837849996
byr:1958 ecl:brn hgt:166cm hcl:#ceb3a1 eyr:2028 iyr:2012

ecl:gry hgt:180cm
pid:939059935 eyr:2023 byr:1977 hcl:#b6652a

hgt:190in byr:2029 eyr:1984
ecl:gry hcl:z pid:055092916 iyr:2010

hgt:63in ecl:blu byr:1940 iyr:2012 eyr:2029 hcl:#7d3b0c
pid:163033394

eyr:2040 pid:181cm
iyr:1928 hgt:76cm hcl:d8aafb byr:1949 cid:275 ecl:xry

hcl:#cfa07d ecl:oth byr:1948 eyr:2021
pid:719690182 hgt:179cm iyr:2020

byr:1939 cid:266
eyr:2026 iyr:2017 hcl:#f116d2
ecl:hzl pid:522421825
hgt:68in

hcl:z hgt:61in
cid:115 pid:180cm iyr:2030 byr:2014 eyr:2032 ecl:hzl

ecl:xry
eyr:2028 pid:191cm iyr:2015 hgt:150cm byr:2029

eyr:2027
hcl:#a97842 pid:997937480 hgt:61in iyr:2019
byr:1921
ecl:grn

hgt:163cm
pid:912318455 iyr:2016 byr:1988 ecl:brn hcl:#a97842 cid:221 eyr:2029

cid:333 hcl:#c0946f
hgt:163cm iyr:2018 eyr:2027 ecl:oth

cid:70 hcl:#c0946f
pid:961507902 byr:1949 ecl:grn iyr:2017 eyr:2029 hgt:69in

hgt:169cm ecl:amb
iyr:2013 pid:496169901
byr:1943 eyr:2028 hcl:#ceb3a1
cid:249

ecl:blu cid:343
iyr:1998 hgt:154in hcl:#efcc98 byr:1972

pid:508213120 iyr:2012 eyr:2025 hcl:z hgt:70cm byr:1976
ecl:brn

iyr:1924
eyr:2005
hcl:z
hgt:167 pid:154cm
byr:2007

pid:761333244 hgt:180cm iyr:2017 hcl:#18171d eyr:2021
byr:1983
cid:67 ecl:oth

eyr:1993
byr:2003
hcl:#602927
ecl:grt
cid:84 hgt:178
pid:1847086637 iyr:2026

hcl:#866857 hgt:162cm pid:483774485 iyr:2010
byr:1946 eyr:2028 ecl:gry

pid:726639691 eyr:2028
hgt:171cm hcl:#ff65a6
iyr:2011 byr:1989

hcl:z iyr:2026 ecl:xry
eyr:2037 byr:2005 pid:#f09a0f
hgt:68 cid:156

hgt:71in ecl:blu eyr:2026 hcl:#18171d
byr:1981 iyr:2017
pid:698636544

eyr:2021
byr:1957 ecl:brn pid:365378126 cid:93 iyr:2019 hcl:#18171d hgt:179cm

byr:1996 iyr:2014 hgt:64cm
eyr:2034
hcl:z

pid:629486472 cid:140
hgt:192cm eyr:2020 hcl:#b6652a iyr:1988 byr:2021 ecl:brn

byr:1955 iyr:2015 eyr:2030
ecl:gry hcl:z pid:6550198754
hgt:158cm cid:305

ecl:gry hcl:#a97842
hgt:176cm eyr:2022 pid:810146585 iyr:2020

byr:2027 hcl:#cfa07d
iyr:2011 ecl:#f07598
cid:293
hgt:150cm pid:#fa948d eyr:2029

eyr:2028 iyr:2013 hgt:69in ecl:gry pid:317170371
cid:147 hcl:#bfe1f1

byr:1976
pid:059341891 hgt:174cm
ecl:oth
eyr:2029 iyr:2017 hcl:#733820

iyr:2018 hcl:#ceb3a1 hgt:188cm cid:308
pid:792826885 byr:1948 ecl:blu eyr:2028

iyr:2017 cid:94 hcl:#95c7dc
pid:231757803 eyr:2022
byr:1992 hgt:153cm ecl:amb

eyr:2027
iyr:2011 hgt:186cm
ecl:brn pid:996347346 hcl:#866857
byr:1960

eyr:2025 byr:2001
ecl:blu pid:755715478 iyr:2019 hgt:61in

ecl:gry
eyr:2038
hgt:81 hcl:z iyr:2028
cid:214 byr:1965

pid:412744447 byr:1979 hcl:#cfa07d ecl:blu
eyr:2029 cid:157
hgt:180in iyr:1948

hgt:170cm
pid:623557081 byr:1924 eyr:2024 hcl:98d623 iyr:2012 ecl:amb

cid:311 ecl:grn
iyr:2011 byr:1982
eyr:2002 hcl:#ef318a
pid:0548169957
hgt:87

eyr:2030 hcl:#733820 iyr:2016 pid:558470391
byr:1936 ecl:oth hgt:185cm

iyr:2019
ecl:amb byr:1949
pid:376468392
hgt:178cm

pid:019195245
ecl:grn hgt:171cm
byr:1978 iyr:2011 eyr:2022 hcl:#733820
cid:134

hcl:#623a2f hgt:192cm eyr:2026 byr:1977
ecl:grn cid:308

ecl:hzl pid:715816358 hgt:69in iyr:2014 hcl:#623a2f
byr:1996
eyr:2027

iyr:1947
ecl:#39a697
hgt:183cm byr:2029
eyr:2022 pid:7951883913
hcl:z

ecl:gry byr:1950
hcl:#18171d hgt:168cm iyr:2020 pid:677187333 eyr:2027

byr:1969 ecl:blu hcl:#18171d iyr:2011
hgt:162cm
pid:701349891

cid:269 byr:1966
iyr:2011
pid:905940527 eyr:2023 hgt:190cm
ecl:brn hcl:#ceb3a1

eyr:2027 pid:454627395 ecl:brn
hcl:#ceb3a1 cid:302 hgt:184cm
byr:1959
iyr:2015

iyr:2011
eyr:2028
hgt:166cm
hcl:#733820 byr:1938 ecl:blu pid:857984986

hcl:#c0946f ecl:brn pid:226877822
hgt:182cm byr:1998
cid:160

hgt:186in pid:26499164 byr:2017
hcl:z
iyr:1998 eyr:2026
cid:331 ecl:#236556

pid:328866543
hgt:165cm eyr:2039 iyr:1987 ecl:amb byr:2018 hcl:z

iyr:2016 eyr:2036 hcl:#888785 byr:1976 pid:160402352 hgt:76cm ecl:blu

ecl:blu
hcl:#fffffd eyr:2025 hgt:66in pid:979788527
byr:1957 iyr:2013

ecl:grn pid:279357265 iyr:2019 eyr:2021 byr:1953
hgt:177cm hcl:#c0946f

ecl:oth hcl:z eyr:2025 byr:1949 hgt:189cm iyr:2020 pid:901383503

byr:2019 hcl:#733820
pid:31022828 eyr:1929
hgt:75cm iyr:2012 ecl:grn

pid:080462937
ecl:blu hcl:#866857
cid:102
iyr:2013 eyr:2025 byr:1975 hgt:64in

iyr:2016
eyr:2028
cid:125
byr:1979 hcl:#866857
ecl:brn hgt:173cm pid:814947616

hcl:z byr:2020 pid:#c3b54b hgt:174in eyr:2038
iyr:2016
ecl:gmt

cid:132
iyr:1958
pid:61543452 hcl:z
ecl:zzz eyr:2039 byr:2006

cid:55 eyr:2022 byr:1954 iyr:2015
hgt:188cm hcl:#a97842 pid:49143631 ecl:amb

hgt:152cm
byr:1982
iyr:2013 ecl:blu
hcl:#341e13
eyr:2026 pid:440841976

iyr:2019 ecl:blu pid:553456616 hcl:#733820 hgt:160cm byr:1932 eyr:2030

byr:1980 hgt:169cm hcl:#7d3b0c cid:312 iyr:2010
eyr:2026 pid:028550304 ecl:grn

ecl:amb eyr:2021 iyr:2014 hgt:71in pid:986053283 byr:1981

ecl:oth
eyr:2023 hcl:#888785
byr:1949
iyr:2016 pid:699325656

hgt:63cm cid:297 eyr:2020 pid:990390922
hcl:#602927 ecl:lzr
iyr:2012 byr:2016

hcl:9ea2fa eyr:2023 pid:088680493
byr:1998 iyr:2017 ecl:utc hgt:170cm cid:175

cid:316 iyr:2016 eyr:2026 hcl:#79ff1d hgt:65in
byr:1997 pid:215466710 ecl:oth

cid:213 byr:1983 hcl:#888785 iyr:2016 pid:767747981 eyr:2025
ecl:hzl hgt:168cm

eyr:2030 byr:1972
cid:282
ecl:gry hgt:178cm
hcl:#a97842
iyr:2018

hcl:#6b5442 ecl:amb
eyr:2028 cid:104 hgt:159cm pid:446429120 iyr:2012
byr:1938

byr:1940 hgt:178cm ecl:oth
hcl:#ceb3a1
pid:845683663 iyr:2015 eyr:2024

byr:1940 pid:496262233
hgt:184cm hcl:#b6652a
ecl:grn cid:152 iyr:2012 eyr:2029

hgt:185cm pid:455744229 byr:1954 eyr:2022 ecl:gry hcl:#6b5442 iyr:2012

hgt:182cm byr:1966 eyr:2028 ecl:#a5b7fc
iyr:2029

pid:343591896
cid:58
ecl:hzl
eyr:2022 hgt:180in byr:2021
hcl:#6b5442

ecl:utc hcl:#b6652a
pid:635147657 byr:2020
eyr:2022 hgt:157cm iyr:2018

ecl:grt cid:312 iyr:1959 pid:154262836
hgt:171cm
hcl:#fffffd
eyr:2024
byr:1982

hcl:#7a12b4 pid:223424149 ecl:hzl hgt:175cm
byr:1930 iyr:2010 eyr:2028

hcl:#c0946f pid:633476454 eyr:2026 iyr:2011
byr:1934
hgt:186cm
cid:289 ecl:gry

hcl:#fffffd pid:376300524 hgt:155cm byr:1964 iyr:2017 eyr:2021 ecl:grn

hcl:a5d4dc byr:2006 cid:165 ecl:#db800f iyr:2029 pid:0199789970 eyr:1961 hgt:61cm

eyr:2027 hgt:170cm iyr:2010
hcl:#c0946f
ecl:grn pid:415726530
byr:1985

cid:197 byr:1957 hgt:192in hcl:#a97842 ecl:hzl eyr:2029 pid:958973455 iyr:2011

iyr:2015 pid:933689314 hgt:162cm ecl:amb
cid:122 eyr:2021
hcl:#6b5442 byr:1973

eyr:2026 hgt:172cm
iyr:2012
ecl:brn hcl:#733820 pid:004474632
byr:2000

hgt:191cm eyr:2030 byr:1999 pid:9155071477 iyr:2026 hcl:#602927 cid:315
ecl:grn

iyr:2010 pid:182884251 hcl:#18171d hgt:154cm
eyr:2020
byr:1926 ecl:oth

iyr:2019 eyr:1920 pid:132839546
cid:283 hgt:188in hcl:#efcc98 byr:2027

iyr:2011 hgt:177cm
cid:117 byr:1976
ecl:gry
hcl:#623a2f eyr:2030 pid:134592046

byr:1968 hgt:146
iyr:2013 hcl:eefdc4 eyr:2028
ecl:xry pid:722120008

iyr:2016 byr:1941 hgt:67cm cid:51 hcl:#b6652a ecl:hzl eyr:2034 pid:994005715

hcl:#cfa07d ecl:oth
hgt:182cm eyr:2021 pid:612583941
byr:1983
iyr:2019

byr:1922
hcl:#602927 hgt:161cm ecl:gry eyr:2020 pid:190170808 iyr:2013

hgt:63cm cid:136
iyr:1999
pid:8235748647 hcl:z
byr:2022 eyr:1933
ecl:#304383

cid:273 ecl:blu hcl:z
iyr:2011 byr:2007
eyr:2020
pid:942473857 hgt:178in

ecl:grt byr:2029 hgt:187in eyr:2030 cid:160
hcl:#efcc98 pid:#39f22b
iyr:1966

byr:1978 ecl:oth iyr:2011 hgt:164cm eyr:2027 hcl:#cfa07d

hgt:75cm hcl:#1e8137 byr:1986 ecl:blu eyr:2022 pid:796688423
iyr:2012

eyr:2026
ecl:#3013af hcl:z pid:#e8597f hgt:123 iyr:2025 byr:1942

hcl:z hgt:177in
iyr:1993 pid:#4c9348 byr:2008 eyr:1989

pid:123524366 byr:1935
hgt:156cm hcl:#7d3b0c
iyr:2020 ecl:brn eyr:2020

hcl:z eyr:2038 pid:7663741757 ecl:gmt hgt:174
byr:2008 iyr:1939
cid:225

hcl:#888785 hgt:172cm
ecl:oth pid:500711541 eyr:2027
byr:1931 iyr:2012

pid:575447108 ecl:amb byr:1943
hcl:#888785 hgt:173cm eyr:2024

eyr:2021 iyr:2010 pid:178773264 hgt:157cm byr:1965 hcl:#bb7bcf ecl:amb

iyr:2023 ecl:#35bd84 byr:2020
hgt:72in
eyr:2037
hcl:#6b5442
pid:421311669

byr:1921 iyr:2011
pid:146088688
eyr:2023 hcl:#15ed24 hgt:183cm
ecl:brn

hcl:#b6652a cid:243
byr:1993 eyr:2024
iyr:2014 hgt:172cm
pid:771275594

eyr:2024
hcl:#cfa07d pid:858807920 cid:293 hgt:157cm ecl:hzl iyr:2013 byr:1984

ecl:blu hgt:193cm cid:73 hcl:#18171d eyr:2026
iyr:2016 pid:124151812 byr:1945

ecl:amb iyr:2018
pid:214555737 hgt:157cm
eyr:2028
byr:1925 hcl:#866857

pid:5633250409
hcl:4ef7d8
byr:2004 iyr:1958
hgt:96
eyr:2038 ecl:xry cid:274

byr:1972 pid:401239851 hgt:184in hcl:z iyr:2017
eyr:2030 ecl:#cb289a cid:140

hgt:175cm
byr:1926 hcl:#cfa07d eyr:2029 ecl:gry pid:325039730 iyr:2017

cid:101 hgt:166cm byr:1986 ecl:amb
hcl:#7d3b0c iyr:2013
pid:413769688 eyr:2024

hgt:159cm cid:311
byr:1993 eyr:2028 pid:188cm ecl:oth hcl:#602927 iyr:2013

pid:565831038
ecl:amb
hgt:155cm hcl:#fffffd cid:335 iyr:2016
eyr:2029 byr:1997

hgt:122
byr:2022
eyr:2028 ecl:blu iyr:2017 pid:269710626 hcl:#b6652a

cid:196
byr:1953 hcl:#6b5442 iyr:2010
pid:216121215 hgt:188cm ecl:blu

iyr:2011 hcl:98166c hgt:62cm
byr:2028
eyr:2024
pid:792478385 ecl:grn

hcl:#efcc98 iyr:2012 pid:020039675 eyr:2021 byr:1974 hgt:156cm
ecl:hzl

cid:123 hcl:#7d3b0c
byr:2026 eyr:2004 iyr:2012 ecl:oth pid:349203133 hgt:160cm

pid:085461475
byr:1962 iyr:2020 hcl:#623a2f
eyr:2024
cid:80 ecl:brn
hgt:154cm

ecl:oth hgt:156cm iyr:2016
hcl:#6b5442
byr:1973
eyr:2021 pid:539898580

iyr:2026 hgt:191cm
hcl:z
byr:1930 pid:#abc2f0 ecl:blu cid:242 eyr:2024

cid:167
hgt:179cm
iyr:2017 eyr:2021 pid:756797571 byr:1949 ecl:brn hcl:#a97842

byr:1975 eyr:2030
ecl:oth hgt:169in pid:4031206183 hcl:#733820 iyr:2017 cid:244

ecl:#54cfeb hgt:152cm
iyr:2026 hcl:36b4b9
byr:2030
pid:#fa1cb9 eyr:1964

byr:1974 cid:99 hcl:9e3296
eyr:2032
pid:686747414
iyr:1995
ecl:amb

iyr:2030 ecl:oth hcl:z byr:1979
pid:114661006 hgt:191cm eyr:1941

hcl:#341e13 iyr:2014 byr:1953
pid:188326193 ecl:gry hgt:189cm cid:283
eyr:2030

byr:1975
pid:092061576 hgt:73in eyr:2023
ecl:brn cid:227 hcl:#5e9d91
iyr:2011

hcl:#7d3b0c hgt:167cm cid:141
eyr:1957 byr:2012 ecl:gmt iyr:2019 pid:#1b7c8a

hgt:168cm hcl:#c0946f pid:599500784 byr:1930 eyr:2023 ecl:hzl cid:113
iyr:2013

eyr:2030 hcl:#b4cb4f
hgt:68in
ecl:brn byr:1923 pid:699162086

iyr:2013
ecl:dne hcl:z eyr:1971
pid:#580add byr:2020
hgt:190cm

hcl:#ceb3a1
byr:1976 eyr:2020
cid:162 iyr:2016
hgt:168cm
ecl:hzl

pid:050478613 hgt:59cm
iyr:2017
ecl:grn byr:2030 hcl:#cfa07d eyr:2025

pid:352943968 eyr:2025 byr:1980 iyr:2014 ecl:gry hcl:#c0946f
hgt:193cm

pid:328621931 cid:310 hgt:170cm
hcl:#733820 byr:1955
iyr:2016
eyr:2028 ecl:hzl

hcl:#866857
pid:095858739 byr:1956
iyr:2018 hgt:193cm
ecl:hzl
eyr:2029

pid:70973661 eyr:2039 ecl:gry
iyr:2016
cid:291
hcl:#623a2f hgt:97

hcl:4d51a8
eyr:1978
ecl:gmt
byr:2029 iyr:2022
pid:34507041 hgt:61cm

byr:1989 ecl:brn pid:769582914
eyr:2026 cid:218
iyr:2020 hcl:#866857 hgt:184cm

ecl:brn
iyr:1998 cid:227
hgt:162in
byr:2026
hcl:#602927 eyr:2027 pid:236998728

ecl:gry byr:1984 hgt:157 cid:295
eyr:2020
iyr:2018 hcl:#733820
pid:037871534

hgt:166cm hcl:#c0946f pid:412146401
iyr:2011
eyr:2022
byr:1938
ecl:brn

ecl:brn cid:95 byr:1981 eyr:2030 hcl:#efcc98 pid:777041035 hgt:152cm iyr:2011

eyr:2024 hgt:89 pid:3761913749 iyr:1939 byr:1967 hcl:a222f6 cid:165 ecl:#7fe574

cid:339 hgt:156cm
ecl:brn iyr:2013 byr:1951 hcl:#efcc98 eyr:2026
pid:863566946

ecl:brn hcl:#6b5442 eyr:2023
pid:787129723 byr:1949 iyr:2015

pid:#7f615a
cid:202 hcl:#6b5442 eyr:2028
ecl:#a5419c
hgt:75cm
iyr:2011
byr:2001

pid:864001133
cid:236
byr:1943 hcl:#733820 ecl:dne eyr:2025 hgt:171cm iyr:1989

pid:193073684 ecl:grn byr:1962 iyr:2014
hcl:#cfa07d hgt:189cm
cid:321 eyr:2029

byr:1959
hcl:#b6652a
eyr:2026
hgt:159cm pid:815014918 iyr:2011 ecl:amb

iyr:2017 hgt:182cm
hcl:#a97842 eyr:2023 ecl:grn pid:656177536
byr:1973

eyr:1923 ecl:grn
cid:138 iyr:2020
hgt:164cm byr:1958 hcl:#c0946f pid:783366277

iyr:1932 hgt:172 ecl:blu
hcl:#733820 byr:1962 pid:554221464

cid:169 pid:922622614
byr:1942 hcl:#ceb3a1 hgt:169cm eyr:2024
ecl:gry iyr:2017

cid:219 ecl:grn
hgt:156cm byr:1998 eyr:2021
iyr:2017 hcl:#ceb3a1 pid:450186263

ecl:amb hgt:179cm pid:768428582 iyr:2010 eyr:2023 byr:1952 hcl:#fffffd

eyr:2024
hgt:193cm
iyr:2017 pid:469033795 byr:1979 hcl:#18171d cid:67 ecl:amb

iyr:2016 byr:1937 pid:798267514 hgt:155cm hcl:#866857 eyr:2026
ecl:oth

hgt:172cm hcl:#866857 iyr:2018 pid:662186551
byr:1996
eyr:2025 ecl:amb

pid:2854521962
iyr:2021
ecl:zzz
hcl:12f1ba eyr:2037 hgt:159cm
byr:1937

ecl:oth pid:488050418 byr:1927 hcl:#a97842 hgt:153cm iyr:2013 eyr:2024

pid:119536312 ecl:#2036ad
hcl:543178 iyr:2020
byr:2013
hgt:177cm
eyr:2022

pid:788908662 hcl:#602927 eyr:2029
ecl:oth byr:1930
iyr:2020
hgt:179cm

byr:1972
pid:053386972 iyr:2014 ecl:grn hgt:65in hcl:#cfa07d

pid:9828921035 ecl:blu
hcl:z hgt:152in
eyr:1949 byr:2010

cid:157 pid:097910554 byr:1999
hgt:159cm hcl:#6b5442 ecl:blu eyr:2024
iyr:2010

hcl:#a97842
eyr:2040 ecl:#f8ad77
hgt:173cm
byr:2019 iyr:2010
pid:#d16a6e

ecl:dne hgt:191cm iyr:2020 hcl:#b6652a
eyr:2021 pid:571971509 byr:1983

hcl:#18171d iyr:2016 pid:159074622
eyr:2027 hgt:163cm byr:1954
cid:257

pid:243560302 cid:58
hcl:53a4cf byr:2012
ecl:#fdbfb8 eyr:1920 hgt:179 iyr:2026

pid:040606106 eyr:2030 hgt:188cm
byr:1969
iyr:2012 hcl:#ceb3a1 ecl:amb

eyr:2022
hgt:175cm hcl:#b6652a byr:1967 pid:269969031
iyr:2018

hcl:#18171d cid:278 byr:1931
pid:134809791
eyr:2035 ecl:#44e6cd iyr:1993

hgt:177in
ecl:utc cid:289
iyr:1923
hcl:13a67a pid:3045345984 byr:2030 eyr:1944

pid:839901650 eyr:2030
ecl:grn
byr:2015 iyr:2017 hgt:168 hcl:131f4e

iyr:2015 pid:529736732 ecl:brn hgt:176cm
eyr:2026 byr:1952 hcl:#6b5442

hcl:#c0946f
cid:323 pid:303966428 iyr:2019
eyr:2027 hgt:170cm
byr:2001
ecl:brn

pid:193678728 hgt:72in eyr:2027 iyr:2015 byr:1951 ecl:gry hcl:#18171d

eyr:2026 cid:283
iyr:1938 pid:687430885
hgt:186cm
byr:1949 ecl:#521638 hcl:d13b2f

eyr:2024 hcl:#ceb3a1 iyr:2013 ecl:brn
hgt:168cm pid:792088241

hcl:#888785 ecl:amb
byr:2009 iyr:2015
hgt:151cm
eyr:2020 pid:223927808

byr:1926
pid:717704850
hcl:#623a2f eyr:2022 hgt:64in iyr:2018 ecl:gry

eyr:2023 byr:1954
hgt:169cm
ecl:hzl
iyr:2010 pid:116868997 hcl:#18171d

ecl:hzl byr:1965 hcl:#a97842 iyr:2011 pid:506354451 hgt:172cm eyr:2029

eyr:2022 pid:994565705
iyr:2013 ecl:brn hcl:#623a2f
byr:1979

iyr:2011
byr:1931 hgt:183cm hcl:#284f26 cid:306
ecl:amb eyr:2021
pid:977533079

eyr:2027
iyr:2011 ecl:gry
byr:1993
pid:272334781 hgt:161cm hcl:#9a35b6

eyr:2026
hcl:#602927 ecl:blu
pid:212300161 byr:1946
cid:193 iyr:2020 hgt:157cm

pid:538594567 byr:1976 eyr:2027 hcl:#efcc98 iyr:2011 hgt:154cm ecl:oth

byr:1949
hcl:z ecl:#ce67aa
eyr:1942 pid:7978941589 iyr:2025 hgt:161in

hcl:#c0946f
cid:55
byr:1963 ecl:blu hgt:161cm
pid:547120453 iyr:2015 eyr:2021

hgt:173cm eyr:2022
iyr:2016 byr:2001
ecl:hzl pid:239803460

hcl:#b6652a ecl:oth eyr:2021 hgt:167cm pid:401266644 iyr:1969 byr:1974

eyr:2030 pid:581963885
hcl:#64cb23
ecl:blu
byr:1928 hgt:181cm iyr:2018

pid:186338247
ecl:hzl hgt:193cm hcl:#ceb3a1
eyr:2022 iyr:2010

iyr:2015 ecl:gry hgt:159cm eyr:2027 hcl:#ceb3a1
byr:1925 pid:715902111 cid:149

iyr:2018 hcl:#623a2f eyr:2020 hgt:162cm ecl:grn cid:135
byr:1922
pid:373216777

eyr:2020 pid:749899012 hcl:#888785 ecl:brn
iyr:2010 cid:225 hgt:172cm
byr:1972

iyr:2020 hgt:178cm ecl:grn hcl:#18171d pid:613792489 cid:240
eyr:2028
byr:1972

iyr:2015 byr:1938 eyr:2026
cid:113 ecl:grn
pid:846231640 hgt:161cm
hcl:#b6652a

ecl:gry
hcl:#ceb3a1
byr:1956 cid:338 pid:936012518
hgt:62in
eyr:2029 iyr:2016

pid:730866353 ecl:brn byr:1986
iyr:2014
hgt:190cm
eyr:2021 hcl:#a97842 cid:126

eyr:2021
cid:180 pid:958310635 ecl:brn iyr:2015 hgt:189cm hcl:#efcc98

hgt:188cm ecl:hzl pid:179001863 iyr:2016 eyr:2029 hcl:#341e13 byr:1932

cid:77 eyr:2027 hcl:#623a2f iyr:2016 ecl:brn hgt:170cm
byr:1947

hgt:66in pid:617518313 iyr:2013 byr:1977 hcl:#b6652a ecl:brn eyr:2025

pid:787861420
iyr:2014 hcl:#623a2f hgt:61in
ecl:oth cid:78
eyr:2022 byr:1975

ecl:hzl
iyr:2017 eyr:2028 hcl:#602927
byr:1958 pid:985208714
hgt:160cm

byr:2002
iyr:2013
hcl:#341e13 pid:188110633 ecl:gry hgt:169cm
eyr:2025

byr:1981
eyr:2028
hcl:#341e13 ecl:amb hgt:160cm cid:121
iyr:2015 pid:963848397

iyr:2013 hcl:#866857 pid:#db8648 eyr:2021 ecl:gry
byr:1975
hgt:153cm cid:114

hgt:109
cid:287 hcl:#6b5442
iyr:2028 byr:1926 eyr:2036 pid:2378208387
ecl:#245a62

pid:857722366
byr:1975 eyr:2027
ecl:grn iyr:2019 hcl:#0afad1
hgt:66in

byr:1935 hcl:#cfa07d hgt:173cm ecl:brn eyr:2021 iyr:2019

cid:66 eyr:2024 hcl:#efcc98 byr:2002 iyr:2010
hgt:176cm pid:697153153 ecl:amb

iyr:2019
hcl:#cfa07d ecl:blu
pid:695914972
eyr:2024
hgt:158cm
byr:1943

ecl:xry hgt:62in
pid:14733148 cid:148
iyr:2016 byr:1925 hcl:#6b5442
eyr:2028

iyr:2025
cid:53 hgt:132 ecl:gmt hcl:159b19
pid:156cm
byr:2025 eyr:2001

hcl:#623a2f ecl:oth byr:1974 iyr:2018 hgt:161cm eyr:2029 pid:6826285172

ecl:gry
byr:1956 hcl:#7d3b0c hgt:170cm iyr:2020

eyr:2020
pid:#946a88 hgt:186cm hcl:#733820 byr:1946 ecl:#016645 iyr:2015

hgt:181cm hcl:#888785 iyr:2013 pid:634152817
byr:1982 cid:245 ecl:grn eyr:2021

ecl:brn
pid:737531770 iyr:2010
eyr:2020
byr:1929 hgt:189cm hcl:#c0946f

cid:158 iyr:2019 hcl:#341e13 eyr:2027 ecl:amb
byr:1986 pid:834976623

pid:976934668 cid:61 eyr:2020 iyr:2020
hgt:76in byr:1927 ecl:amb
hcl:#e05ee3

pid:526042518 iyr:2019 eyr:2027 hcl:#623a2f byr:1976 ecl:amb

pid:279367290 hcl:#a97842 hgt:158cm
eyr:2027
byr:1959
iyr:2020

ecl:xry byr:2028
pid:357216861 hcl:#a97842 eyr:2024 hgt:66cm
iyr:2012

hgt:188in
ecl:lzr cid:64 eyr:1958 byr:2014 hcl:z pid:285207570 iyr:2026

eyr:1973 iyr:2017 ecl:oth cid:282 pid:695814158
hcl:z

iyr:2010 pid:661168409
hcl:#53c696
hgt:186cm ecl:amb
byr:1960
eyr:2029

eyr:1982 hgt:169cm
iyr:2002 byr:2025 hcl:327f93 pid:831648100

byr:1967 ecl:oth
eyr:2021
hcl:#602927 iyr:2014
pid:274974402 hgt:183cm
pan class="p">>&quot;</span><span class="cSpecial">\n</span><span class="Constant">F - &quot;</span><span class="PreProc"> &lt;&lt; __FUNCTION__ &lt;&lt; </span><span class="Constant">&quot;(&quot;</span><span class="PreProc"> &lt;&lt; </span><span class="Constant">__FILE__</span><span class="PreProc"> &lt;&lt; </span><span class="Constant">&quot;:&quot;</span><span class="PreProc"> &lt;&lt; </span><span class="Constant">__LINE__</span><span class="PreProc"> &lt;&lt; </span><span class="Constant">&quot;): &quot;</span><span class="PreProc"> &lt;&lt; #X &lt;&lt; </span><span class="Constant">&quot; == &quot;</span><span class="PreProc"> &lt;&lt; #Y &lt;&lt; </span><span class="cSpecial">'\n'</span><span class="Delimiter">;</span><span class="PreProc"> \</span> <span id="L34" class="LineNr"> 34 </span><span class="PreProc"> </span><span class="Conceal">¦</span><span class="PreProc"> cerr &lt;&lt; </span><span class="Constant">&quot; got &quot;</span><span class="PreProc"> &lt;&lt; (X) &lt;&lt; </span><span class="cSpecial">'\n'</span><span class="Delimiter">;</span><span class="PreProc"> </span><span class="Comment">/*</span><span class="Comment"> BEWARE: multiple eval </span><span class="Comment">*/</span><span class="PreProc"> \</span> <span id="L35" class="LineNr"> 35 </span><span class="PreProc"> </span><span class="Conceal">¦</span><span class="PreProc"> <a href='002test.cc.html#L21'>Passed</a> = </span><span class="Constant">false</span><span class="Delimiter">;</span><span class="PreProc"> \</span> <span id="L36" class="LineNr"> 36 </span><span class="PreProc"> </span><span class="Conceal">¦</span><span class="PreProc"> </span><span class="Identifier">return</span><span class="Delimiter">;</span><span class="PreProc"> </span><span class="Comment">/*</span><span class="Comment"> Currently we stop at the very first failure. </span><span class="Comment">*/</span><span class="PreProc"> \</span> <span id="L37" class="LineNr"> 37 </span><span class="PreProc"> </span><span class="Delimiter">}</span> <span id="L38" class="LineNr"> 38 </span> <span id="L39" class="LineNr"> 39 </span><span class="Delimiter">:(before &quot;End Reset&quot;)</span> <span id="L40" class="LineNr"> 40 </span><a href='002test.cc.html#L21'>Passed</a> = <span class="Constant">true</span><span class="Delimiter">;</span> <span id="L41" class="LineNr"> 41 </span> <span id="L42" class="LineNr"> 42 </span><span class="Delimiter">:(before &quot;End Commandline Parsing&quot;)</span> <span id="L43" class="LineNr"> 43 </span><span class="Normal">if</span> <span class="Delimiter">(</span>argc &gt; <span class="Constant">1</span> &amp;&amp; <a href='001help.cc.html#L23'>is_equal</a><span class="Delimiter">(</span>argv[<span class="Constant">1</span>]<span class="Delimiter">,</span> <span class="Constant">&quot;test&quot;</span><span class="Delimiter">))</span> <span class="Delimiter">{</span> <span id="L44" class="LineNr"> 44 </span> <a href='002test.cc.html#L20'>Run_tests</a> = <span class="Constant">true</span><span class="Delimiter">;</span> --argc<span class="Delimiter">;</span> ++argv<span class="Delimiter">;</span> <span class="Comment">// shift 'test' out of commandline args</span> <span id="L45" class="LineNr"> 45 </span><span class="Delimiter">}</span> <span id="L46" class="LineNr"> 46 </span> <span id="L47" class="LineNr"> 47 </span><span class="Delimiter">:(before &quot;End Main&quot;)</span> <span id="L48" class="LineNr"> 48 </span><span class="Normal">if</span> <span class="Delimiter">(</span><a href='002test.cc.html#L20'>Run_tests</a><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L49" class="LineNr"> 49 </span> <span class="Comment">// Test Runs</span> <span id="L50" class="LineNr"> 50 </span> <span class="Comment">// we run some tests and then exit; assume no state need be maintained afterward</span> <span id="L51" class="LineNr"> 51 </span> <span id="L52" class="LineNr"> 52 </span> <span class="Normal">long</span> num_failures = <span class="Constant">0</span><span class="Delimiter">;</span> <span id="L53" class="LineNr"> 53 </span> <span class="Comment">// End Test Run Initialization</span> <span id="L54" class="LineNr"> 54 </span> <span class="Normal">time_t</span> t<span class="Delimiter">;</span> time<span class="Delimiter">(</span>&amp;t<span class="Delimiter">);</span> <span id="L55" class="LineNr"> 55 </span> cerr &lt;&lt; <span class="Constant">&quot;C tests: &quot;</span> &lt;&lt; ctime<span class="Delimiter">(</span>&amp;t<span class="Delimiter">);</span> <span id="L56" class="LineNr"> 56 </span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">size_t</span> i=<span class="Constant">0</span><span class="Delimiter">;</span> <a href='010core.cc.html#L16'>i</a> &lt; <span class="Normal">sizeof</span><span class="Delimiter">(</span><a href='002test.cc.html#L15'>Tests</a><span class="Delimiter">)</span>/<span class="Normal">sizeof</span><span class="Delimiter">(</span>Tests[<span class="Constant">0</span>]<span class="Delimiter">);</span> ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L57" class="LineNr"> 57 </span><span class="CommentedCode">//? cerr &lt;&lt; &quot;running .build/test_list line &quot; &lt;&lt; (i+1) &lt;&lt; '\n';</span> <span id="L58" class="LineNr"> 58 </span> <span class="Conceal">¦</span> <a href='002test.cc.html#L74'>run_test</a><span class="Delimiter">(</span><a href='010core.cc.html#L16'>i</a><span class="Delimiter">);</span> <span id="L59" class="LineNr"> 59 </span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span><a href='002test.cc.html#L21'>Passed</a><span class="Delimiter">)</span> cerr &lt;&lt; <span class="Constant">'.'</span><span class="Delimiter">;</span> <span id="L60" class="LineNr"> 60 </span> <span class="Conceal">¦</span> <span class="Normal">else</span> ++num_failures<span class="Delimiter">;</span> <span id="L61" class="LineNr"> 61 </span> <span class="Delimiter">}</span> <span id="L62" class="LineNr"> 62 </span> cerr &lt;&lt; <span class="cSpecial">'\n'</span><span class="Delimiter">;</span> <span id="L63" class="LineNr"> 63 </span> <span class="Comment">// End Tests</span> <span id="L64" class="LineNr"> 64 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>num_failures &gt; <span class="Constant">0</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L65" class="LineNr"> 65 </span> <span class="Conceal">¦</span> cerr &lt;&lt; num_failures &lt;&lt; <span class="Constant">&quot; failure&quot;</span> <span id="L66" class="LineNr"> 66 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span>&lt;&lt; <span class="Delimiter">(</span>num_failures &gt; <span class="Constant">1</span> ? <span class="Constant">&quot;s&quot;</span> : <span class="Constant">&quot;&quot;</span><span class="Delimiter">)</span> <span id="L67" class="LineNr"> 67 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span>&lt;&lt; <span class="cSpecial">'\n'</span><span class="Delimiter">;</span> <span id="L68" class="LineNr"> 68 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span> <span class="Constant">1</span><span class="Delimiter">;</span> <span id="L69" class="LineNr"> 69 </span> <span class="Delimiter">}</span> <span id="L70" class="LineNr"> 70 </span> <span class="Identifier">return</span> <span class="Constant">0</span><span class="Delimiter">;</span> <span id="L71" class="LineNr"> 71 </span><span class="Delimiter">}</span> <span id="L72" class="LineNr"> 72 </span> <span id="L73" class="LineNr"> 73 </span><span class="Delimiter">:(code)</span> <span id="L74" class="LineNr"> 74 </span><span class="Normal">void</span> <a href='002test.cc.html#L74'>run_test</a><span class="Delimiter">(</span><span class="Normal">size_t</span> <a href='010core.cc.html#L16'>i</a><span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L75" class="LineNr"> 75 </span> <span class="Normal">if</span> <span class="Delimiter">(</span><a href='010core.cc.html#L16'>i</a> &gt;= <span class="Normal">sizeof</span><span class="Delimiter">(</span><a href='002test.cc.html#L15'>Tests</a><span class="Delimiter">)</span>/<span class="Normal">sizeof</span><span class="Delimiter">(</span>Tests[<span class="Constant">0</span>]<span class="Delimiter">))</span> <span class="Delimiter">{</span> <span id="L76" class="LineNr"> 76 </span> <span class="Conceal">¦</span> cerr &lt;&lt; <span class="Constant">&quot;no test &quot;</span> &lt;&lt; <a href='010core.cc.html#L16'>i</a> &lt;&lt; <span class="cSpecial">'\n'</span><span class="Delimiter">;</span> <span id="L77" class="LineNr"> 77 </span> <span class="Conceal">¦</span> <span class="Identifier">return</span><span class="Delimiter">;</span> <span id="L78" class="LineNr"> 78 </span> <span class="Delimiter">}</span> <span id="L79" class="LineNr"> 79 </span> <a href='000organization.cc.html#L139'>reset</a><span class="Delimiter">();</span> <span id="L80" class="LineNr"> 80 </span> <span class="Comment">// End Test Setup</span> <span id="L81" class="LineNr"> 81 </span> <span class="Delimiter">(</span>*Tests[i]<span class="Delimiter">)();</span> <span id="L82" class="LineNr"> 82 </span> <span class="Comment">// End Test Teardown</span> <span id="L83" class="LineNr"> 83 </span><span class="Delimiter">}</span> <span id="L84" class="LineNr"> 84 </span> <span id="L85" class="LineNr"> 85 </span><span class="Normal">bool</span> <a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span><span class="Normal">const</span> string&amp; s<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L86" class="LineNr"> 86 </span> <span class="Identifier">return</span> s<span class="Delimiter">.</span>find_first_not_of<span class="Delimiter">(</span><span class="Constant">&quot;0123456789-&quot;</span><span class="Delimiter">)</span> == string::npos <span class="Comment">// no other characters</span> <span id="L87" class="LineNr"> 87 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> &amp;&amp; s<span class="Delimiter">.</span>find_first_of<span class="Delimiter">(</span><span class="Constant">&quot;0123456789&quot;</span><span class="Delimiter">)</span> != string::npos <span class="Comment">// at least one digit</span> <span id="L88" class="LineNr"> 88 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> &amp;&amp; s<span class="Delimiter">.</span>find<span class="Delimiter">(</span><span class="Constant">'-'</span><span class="Delimiter">,</span> <span class="Constant">1</span><span class="Delimiter">)</span> == string::npos<span class="Delimiter">;</span> <span class="Comment">// '-' only at first position</span> <span id="L89" class="LineNr"> 89 </span><span class="Delimiter">}</span> <span id="L90" class="LineNr"> 90 </span> <span id="L91" class="LineNr"> 91 </span><span class="Normal">int</span> <a href='002test.cc.html#L91'>to_integer</a><span class="Delimiter">(</span>string n<span class="Delimiter">)</span> <span class="Delimiter">{</span> <span id="L92" class="LineNr"> 92 </span> <span class="Normal">char</span>* <a href='003trace.cc.html#L184'>end</a> = <span class="Constant">NULL</span><span class="Delimiter">;</span> <span id="L93" class="LineNr"> 93 </span> <span class="Comment">// safe because string.c_str() is guaranteed to be null-terminated</span> <span id="L94" class="LineNr"> 94 </span> <span class="Normal">int</span> result = strtoll<span class="Delimiter">(</span>n<span class="Delimiter">.</span>c_str<span class="Delimiter">(),</span> &amp;end<span class="Delimiter">,</span> <span class="Comment">/*</span><span class="Comment">any base</span><span class="Comment">*/</span><span class="Constant">0</span><span class="Delimiter">);</span> <span id="L95" class="LineNr"> 95 </span> <span class="Normal">if</span> <span class="Delimiter">(</span>*end != <span class="cSpecial">'\0'</span><span class="Delimiter">)</span> cerr &lt;&lt; <span class="Constant">&quot;tried to convert &quot;</span> &lt;&lt; n &lt;&lt; <span class="Constant">&quot; to number</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">;</span> <span id="L96" class="LineNr"> 96 </span> assert<span class="Delimiter">(</span>*end == <span class="cSpecial">'\0'</span><span class="Delimiter">);</span> <span id="L97" class="LineNr"> 97 </span> <span class="Identifier">return</span> result<span class="Delimiter">;</span> <span id="L98" class="LineNr"> 98 </span><span class="Delimiter">}</span> <span id="L99" class="LineNr"> 99 </span> <span id="L100" class="LineNr">100 </span><span class="Normal">void</span> <a href='002test.cc.html#L100'>test_is_integer</a><span class="Delimiter">()</span> <span class="Delimiter">{</span> <span id="L101" class="LineNr">101 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span><a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span><span class="Constant">&quot;1234&quot;</span><span class="Delimiter">));</span> <span id="L102" class="LineNr">102 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span><a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span><span class="Constant">&quot;-1&quot;</span><span class="Delimiter">));</span> <span id="L103" class="LineNr">103 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span>!is_integer<span class="Delimiter">(</span><span class="Constant">&quot;234.0&quot;</span><span class="Delimiter">));</span> <span id="L104" class="LineNr">104 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span><a href='002test.cc.html#L85'>is_integer</a><span class="Delimiter">(</span><span class="Constant">&quot;-567&quot;</span><span class="Delimiter">));</span> <span id="L105" class="LineNr">105 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span>!is_integer<span class="Delimiter">(</span><span class="Constant">&quot;89-0&quot;</span><span class="Delimiter">));</span> <span id="L106" class="LineNr">106 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span>!is_integer<span class="Delimiter">(</span><span class="Constant">&quot;-&quot;</span><span class="Delimiter">));</span> <span id="L107" class="LineNr">107 </span> <a href='002test.cc.html#L24'>CHECK</a><span class="Delimiter">(</span>!is_integer<span class="Delimiter">(</span><span class="Constant">&quot;1e3&quot;</span><span class="Delimiter">));</span> <span class="Comment">// not supported</span> <span id="L108" class="LineNr">108 </span><span class="Delimiter">}</span> <span id="L109" class="LineNr">109 </span> <span id="L110" class="LineNr">110 </span><span class="Delimiter">:(before &quot;End Includes&quot;)</span> <span id="L111" class="LineNr">111 </span><span class="PreProc">#include </span><span class="Constant">&lt;stdlib.h&gt;</span> </pre> </body> </html> <!-- vim: set foldmethod=manual : -->