this is for holding javascript data
Camil Demetrescu
over 8 years ago
Commit id: b191a68a98005f53f78a0e34161543495e76c954
deletions | additions
diff --git a/figures/isord-example/caption.tex b/figures/isord-example/caption.tex
new file mode 100644
index 0000000..d26bba4
--- /dev/null
+++ b/figures/isord-example/caption.tex
...
\label{fig:isordfrom} OSR instrumentation of base function in LLVM IR (in grey). The OSR is fired at the beginning of the loop body after 1000 iterations.
diff --git a/figures/isord-example/isord.eps b/figures/isord-example/isord.eps
new file mode 100644
index 0000000..7e084ff
--- /dev/null
+++ b/figures/isord-example/isord.eps
...
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.14.0 (http://cairographics.org)
%%CreationDate: Mon Sep 14 23:08:54 2015
%%Pages: 1
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%BoundingBox: 0 -1 275 121
%%EndComments
%%BeginProlog
save
50 dict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%BeginSetup
%%BeginResource: font Courier
11 dict begin
/FontType 42 def
/FontName /Courier def
/PaintType 0 def
/FontMatrix [ 1 0 0 1 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding 32 /space put
Encoding 40 /parenleft put
Encoding 41 /parenright put
Encoding 42 /asterisk put
Encoding 43 /plus put
Encoding 44 /comma put
Encoding 45 /hyphen put
Encoding 48 /zero put
Encoding 49 /one put
Encoding 59 /semicolon put
Encoding 60 /less put
Encoding 61 /equal put
Encoding 62 /greater put
Encoding 91 /bracketleft put
Encoding 93 /bracketright put
Encoding 95 /underscore put
Encoding 97 /a put
Encoding 99 /c put
Encoding 100 /d put
Encoding 101 /e put
Encoding 102 /f put
Encoding 103 /g put
Encoding 105 /i put
Encoding 108 /l put
Encoding 110 /n put
Encoding 111 /o put
Encoding 114 /r put
Encoding 115 /s put
Encoding 116 /t put
Encoding 117 /u put
Encoding 118 /v put
Encoding 123 /braceleft put
Encoding 125 /braceright put
/CharStrings 34 dict dup begin
/.notdef 0 def
/i 1 def
/n 2 def
/t 3 def
/space 4 def
/s 5 def
/o 6 def
/r 7 def
/d 8 def
/parenleft 9 def
/l 10 def
/g 11 def
/asterisk 12 def
/v 13 def
/comma 14 def
/c 15 def
/parenright 16 def
/braceleft 17 def
/f 18 def
/equal 19 def
/one 20 def
/semicolon 21 def
/less 22 def
/plus 23 def
/hyphen 24 def
/greater 25 def
/zero 26 def
/e 27 def
/u 28 def
/braceright 29 def
/underscore 30 def
/a 31 def
/bracketleft 32 def
/bracketright 33 def
end readonly def
/sfnts [
<00010000000900800003001063767420f78470aa00001d80000002906670676d6117704c0000
20100000008d676c79667130379b0000009c00001ce468656164ce375b3a000020a000000036
6868656106ebff83000020d800000024686d7478a33b174c000020fc000000886c6f63610002
1634000021840000008c6d617870083d0cef000022100000002070726570787ac61a00002230
00000a9d00020066fe96046605a400030007001740090400060108050204002fccdccc310010
d4ccd4cc301311211125211121660400fc73031bfce5fe96070ef8f2720629000000000200a6
000004500560000b0027007a412a00270023001c0003010600090105001c010000230104001a
000c00fb00130014001a002000170024001b000c0013000d001000060023001d00200000005e
00060040001000010010000c002700170020001b002810dcc4c4fcc45dd4ec11393911123939
1112391112393931002fec32fcecf4ec11123930013436333216151406232226132132161514
06232122263534363321112322263534363321321615020a27403e2825414027b90141272523
2ffcf828282a2a0131c3292b282801251b1f04bc6c382f58562926fc0d2124291f2424232202
8125232323161300000100680000047f03b4003b00cf414a000d000e002800080014002b0025
000300010000002800fa00110001010000080104001100f7002c002300150003000000fb0033
001c0023001d00240020001c0016001900140033002d0030000d000800090005003b00350009
00030038000a000d000200050000002000520024005c00190057001400300057002b000d0027
000500530014005b00380052003400000059003c10fc3ce4ece4fc3ce410e4fee41112391239
12173911123911123939111239391112393931002f3cee1732eefeee10ee1112173911123939
3037112322263534363b0232161d013e0133321615113332161514062b0122263534363b0111
342623220615113332161514062b02222635343633f21344332a2f2f601b1e498f4d97ad2f32
2c2f3cdd40242a3a236a65669c233c2a2446b63629292f448d0281202825211613444441bca6
fe3b212427211e2a271e01a0757b8a66fe601e272a1e2325281d00010058ffee046204ba0030
00a0413a0064000d0074000d0084000d0094000d00a4000d0005001d00170008001e0008000e
0006002f0029002c0000000e000b00fa0017001f000600b9002c0026008f0000000100000108
001700d30031002600200023001d000600000007000300230011002f000700270027000f001d
0001001d003110d45d3cec32c4c4c411393911123939310010e4fc5d3cc4ec3210fec4111239
3911123939111239305d0132161514062321111416333236333216151406070e01232226272e
013d01112322263534363b013d0134363332161d010377312d2a2afe6b55675bfe1e1c27313b
629d45759f271411aa2a2634557125272c22036422252323feb2a4686a281d21311727244b4a
2360641f014e2125291ecd352b293259cb00000100b2ffe9041703b40040015b419500470032
004600110057003200560011008d003b0082001a0082001b0082001c008b0013008900120084
003300860032009d003b0093001a0093001b0093001c009b0013009900120094003300960032
0096000d0099002a00ad003b00a3001a00a3001b00a3001c00a9002a00a5000d00a4003000aa
002e00bb003b00b3001a00b3001b00b3001c00ba002a00b9002d00b400310025002200250021
001b002c001e003b00000038000b00320012001100030038001800010004000b00e00038007f
0025007b0028000200250140002c00e0001e001800f7003e003800d300700004000100040140
00410036003400b9000d00b600300003000b003b000800320004002f001200110015000e0065
009f002100af002100bf0021000300210035002f006500000015004110dcc4ecd4c45dec1139
39111739315d0010ec5de432fcc4ecec5d10ee11391112173911123939111239391139305d37
35343633321716171e013332363534262b0122263534363332163332363332161d0114062322
2726272e01232206151416171e01151406232226270e01232226b221252918100d2aa4636a80
677d37ccd6d1bd4da0040b3e1e222120231e2c1f143578515e7376c3d0c0d4b4398c6a233211
232548b22c2638221136415646473c8e8784922b27323275352f332312312b53403f36040587
8d87a2151917173100000002005affe7047303b2000b00170045403400e00f06e015f70fd318
4407440b4b054b015407540b5b055b01aa11aa13a517a50dba11ba13b517b50d1003280c6409
2812561810fcecf4ec315d0010e4fcec10ee3025323635342623220615141601140023220035
340033320002669ac5c69999c5c402a7fedce9e8fedc0124e8e8012573c39797c5c59798c201
5ad6fef00110d6d6010ffef000000001006d0000046f03b4002b0083412f001b00280017001c
002b002500000010010000170025002800e0001f00f700170104000e000000fb000700940021
00a4002100b400210003000e001700110008000400140018000f000700010004001b00000027
00140022000b000f002c10dcc4c4c4fc3cc439391239111739315d002fec32ecfcfcc410ee11
1239391112393025213216151406232122263534363b01112322263534363b0132161d013e01
333216151406232226232206070204014c2725232ffd722728292bae4461302728e41b1c5fce
77596e3721176d2b4ead698d2124291f2424232202811f2923231514aa7774483925393d6f78
00020058ffe7049a051d0024003000d741560043000f0053000f00ac000500aa000800a3000f
00bc000500ba000800b3000f0008001c001800110010002e000d000300040000002800e00007
001101000018002e00e0000d00f7000700d3001800ff001d00fb00000044002f004400270054
002f0054002700aa000b00aa000900ba000b00ba0009000800190000002b0024001e0021001c
00180012000400030004001500aa002b0010002700210057001c005500250028000a00560031
10fcecf4e4fcc4e4173911123939123939315d002fecece4fcec10ee10ee1139391112391112
39305d2122263d010e0123220235340033321617112322263534363b01321615113332161514
0623011416333236353426232206039315113cb469bdff0110cb67a43b3557332927cd1e1b2d
312c2620fcb0b2898ab2b18b8dae151e524b53010dc8cf01134947017f1f2924241415fb9921
24222601c18ab0b78d8bb4b600000001019cfe6f033104c5001d0021401103090fc71bb31e0c
00139006010611151e10d4ec5de432310010fce4393930011406070602151416171e01151406
232226272602353412373e013332160331431144393031195713101f4c326b6a57593a622610
130498158b299ffef88e83f57a42b31516194148990150b9a90133905f601900000100ba0000
043d051d001b0059411f000b00000100000700ff001a000c00fb00130013000d00100008000b
000700010014001a0004000400000010000b0027005000170001001700040000001c10d4c4c4
5dfcc411121739123911393931002fec32fcec39300123222635343633213216151121321615
14062321222635343633210223aa61312927014a1b1e013a2623222ffd1e27292a2a0115048d
1f2924241613fb992124291f24242322000000020085fe710485039e000b003700ed41610043
002a004c00200053002a005c0020006c00200073002a007c002000ac002000a3002a00bc0020
00ba002300b3002a000c002c002b0036002f001f001e000c00030022000600360100002f0018
001b00e00012000000e00028000600e0002200120103002800f7002f01040038004400010044
00050054000100540005008a001d00aa002600aa002400ba002600ba00240009003600300033
002f000c0009002b001e00270033001f008f000c00af000c0002000c00540003002700150025
003810d4c4ecf45de4fc3cc41139123939315d0010ecece4d4ec10ee10fec410ee1112173911
123939305d012206151416333236353426011406070e012322263534363332163332363d010e
01232226353436333216173534363b0132161514062b01024a83a6a68382a7a701301c2238ca
89726933231b701d947c3d9460bbf5fcba4d934b1b1d9728283245120308a2817fa3a37f7fa4
fd2d8c752c4a4d2c301f2f0f88a5794742f9bfc0fd393a48151423232820000100d1019c03fa
04a200460076404e453e413c3b35342e2d2c26251f1e1d1716100f0e080701001504221a3804
41b34742413c001e05452c26251f2d053d3b35342e0431291d1716100f05450e08070104130b
15131445311529143d4710d4e4e4dce4e411173912173911121739121739111739310010fccc
32c4321117391239393001253e013332161f011e011514060705171e011514060f010e012322
262f01070e012322262f012e013534363f01252e013534363f013e013332161705033534363b
0132161d0102a00108070e04080b07190303100ffee8bc07070d0b420c0e05060e069493070f
0704100a400d0e0807bcfeea1011070119060c08080c0501081b121b4e1c11035a7102040f14
4c0c0f03080c033fda060f07050f092f09070c0af8f80b0b08082f090f07050f06da3f030d09
0215054c140f020273011f0c110c0c110c00000000010029ffdd04a0039c002600a141270096
000f009a002500020028000f0006002600200023001e0010000e000300000100001700060104
002300d3002700000026001f0020000e000f00100007001b00030014001b0028000a00030027
10d4c410d4c4111217390010e4fc3cec17321139391239304b53584112000f01450020002600
0000100145001f0020001f000f01450026000e0145000000000026070510ec10ec0710ec0810
ec5931005d132226353436332132161514062b010901232226353436332132161514062b0101
0e01232226279c4231282801183926324325010401213c4d36263901352828314212feb61931
2f2b2f19030e202823231f272820fd7902871f29271f23232820fd273721203800000001016d
febe032d014c0018002d401a1812110b040e0a00190e03cd191812110b0a0403000807191519
10d4ec1739310010fccc12393911173930013e013b01321615140607010e012322262f012e01
353c013701f0081a1fdb0f120404feed07180e03070846101002011722130c09051007fdc40f
1202031a07120c0b090500010060ffe7042d03b4002c007b405c851c8f0f99239f0f9b0e9912
a42cbb0fba23b42c0a080b0701000311044f0b5f0b6f0b641c741c7f0b9f0baf0ba41cb01e0a
1e17fa240b11e0042af724d32d4412441654125416a926a928ba26ba28080e14003121075414
2827562d10fcecf4c4ec1139315d0010e4fcc4ecc410fec45d111217391139305d0135343633
32161d011406232226272e012322061514163332363736373633321615140423220035340033
321603932628291f26261b271c3089599cc3bb93437936132041251f27fed5a8d9fedf0120d8
4c99036004211f304bba25251f315153b89295bd25250c1935271f4fa50116d0d00117290000
0001019afe6f033104c5001d0033402209031bc70fb31e190919031913191729092903291329
17089f0601061115130c001e10d43cf4ec5d315d0010fce4393930013436373612353426272e
01353436333216171612151402070e01232226019a4412433a31321a561410214b326b6a5959
3e5d261014fe9e148929a001098d80f77c42b3161419414798feaeb9a9fecc90625c1a000000
0001011bfe8b03b2051000300080412d002d001f002e00200004002a001b0012003100180000
001b0015000400310011000300150007010a000e001b010a0015010b000e010c002a010a0023
00e4003100000018002d0003006f001f0011006e0026000b00700018003110d4e432f43cec32
1239310010fcece4f4ec10ee11393911391112393912391112173930011e011d011416171617
161514062322263d013426272e01353436373637363d01343633321615140706070e011d0114
06021b64502c3a0d18582e2aa98a428127221c1f0f1ca68ca9292d58110a3f315001cd1f8da6
9468460e03030c462226a8e874756116062527202408030723c277e7aa2722450b03010c4b6c
93a78c000000000100bc0000043b051f0031008f4133002700240018001b00160021002400e0
001b002f000f00b90028000f0016000100160102001b00ff000d000000fb000600160010000d
000700040017000a000600000029002f0004003000030017002700270003001e002c00270030
00270013000a000e003210dcc432fcc4d4c4c410ee111217391112173931002fee32eefe5d3c
ee3210fec4111239123930253216151406232122263534363b01112322263534363b01353436
3332161514062322262322061d01213216151406232111039a292b2927fd72292b2927aaa429
2d2a289ecee6706b2e2412893171620162292b2c26fea68f2423242424242324026326232424
44b5a332351f28185f6e3924242227fd9d00000000020066018504660368000d001b00294018
0ecc15df07cc00de1c16150f0e0807010008120425190b1c10d43cec321739310010fcecfcec
3013213216151406232122263534361321321615140623212226353436a603811e21211efc7f
1f21211f03811e21211efc7f1f212102192723242626242426014f2623242625252425000000
00010104000003fa050800210041402421100a090005030dbe1f11c4180a2018121510001909
1f04200615101d20060f1c011c2210d45dc4d4fcc41112173911123939123931002fec32fcc4
173930010e0123222635343637253e013332161511333216151406232122263534363b011101
770d0d051f27222001290b150b1316a059302828fdaa28283059a604310202231d1824095003
03231efbc61d2824242424281d03d1000002016dfec10327037f00180024004140251812110b
040e0a00250ecf0322d41cf303cd25181215110b0a04030006191524071f1b192510d4fcd4ec
121739113939310010ecfcec10e612393911173930253e013b01321615140607010e01232226
2f012e013534363713343633321615140623222601e909181dcf0d110404fefe08130e080903
420f0f01032b6d57596e6e59586cf421120c09031007fde7100e01011806120b040a0b03b64e
64634f4f636200010044008d0456045e001d0040402c08141814021d14130b0a010007000701
17dd07dc1e2b00500002490f6a13021d14130b0a0100071a04250f1e10d4ec3217395d315d00
10f4ec5d1739305d09011e0115140623222627012627263534373637013e0133321615140607
012702dd2c26231f0e221ffce504065c5a0804031b1b260e1f23262c0279feae15291a1e240a
0f017301032a3232280402016d0d0b221d1b29140000000100620066046a0487001f00404021
0f090c071f191ccb1700cc0ccb1007c9201711140f070104160800171416180f2010d43ce4fc
3ce4393911123939310010f43ce4fc3ce4393911123939300121321615140623211114062322
26351121222635343633211134363332161502b0016b222d2c23fe9528221e2dfe97232d3020
01692a21222802c12c202028fe89242c3020017728201e2e0176242c2c240001009a016d0433
022f000f002140120c0b04030407d100d0100f080700040b031010d4c41739310010f4e41739
301322263d013436332132161d01140623c514171714033d171a1e13016d19166a131616136a
121d000000010042008d0454045e001d0040402c080a180a021d15130b0a01000700170107dd
17dc1e24005f0002460f650b021d15130b0a0100070f251a041e10d43cec17395d315d0010f4
ec5d1739305d09012e0135343633321617011617161514070607010706232226353436370371
fd252e26231e0f251c031b04085a580a04fce50434181e23262e0279014e15291a1d220b0dfe
930204283231290402fe8d0217241e1a29150000000200cdffdf0400050e000b0017006c405b
06b90c00b912be0cd5183b0b3b07340134054b0b4b07440144055b115b0d54136b116b0d6413
9b0b9b0794019405a90ba907a601a605b90bb907b601b605c601c605d711d70dd813d817e711
e70de813e8172409071503070f1c1810f4ecd4ec315d0010e4fcec10ee300122021514123332
1235340203220211101233321211100202667380807374808074bcddddbcbcdede047ffef0f8
f9feef0111f9f80110fb600163013501340163fe9cfecdfecdfe9b00000000020066ffe7045a
03b6001c002300bd414e006600050076000500a6000500a6001600a9001000a9000200b60005
0007000300e0000f002100e00015001d00b90080000600010006008f000000e0000000020000
0101001500f7000f00d30024004400020054000200a6001700a9001300a9001100a9000100b5
001700ba001300ba001100ba0001000a001b001c00180000001d0012001c0009001e00280009
00180058001d002800120056002410fcecf4c4ec1139111239111239315d0010e4ecfc5dc45d
ec10ee10ee305d011e01333224333216151406070e012322003534003332001514062b012521
2e01232206011408b39b7501141d1e282a2e64d569e4feee0122e9d301162f680ffd65028b0f
a97b85b601a2909d7d261c1d301731340107d9dd0112ff00b638268377918c00000000010048
ffec0473039c003100a8413b0000002500060003001300310012000e0007001e001f001a0003
00e00022002600070100002d000e0104002200d3001300fb001a0027002d002a0025001a0014
0017000f001b00120008000e000b0006002e00250000000b001f001e00060027001700570012
0066002a00530000002700250051003210fcece4fce4fc3ce411123911123939123939113939
1112393931002fece4fc3cec3210ee1139391112393912173930011416333236351123222635
34363b01321615113332161514062b0122263d010e0123222635112322263534363b01321615
016d6a736d9b892723262ad5261f2e312b2927981b1e60894ca5a5154432272997231b01717e
748a68019d212326242140fd52202524241613444a37afb101c2202823231c3000000001011b
fe8b03b2051000310084412f002e002b00200032002f0021002b00190000001c001200040011
0003000400160007002b010a00240016010a001c010b0024010c0007010a000e00e400320024
0023000100000019002e0003006f00200011006e001900700027000b003210d43cf4f43cec32
1239315d0010fcece4f4ec10ee111217391139391239391239113930012e013d013426272627
263534363332161d01141716171e01151406070607061d01140623222635343736373e013d01
343602b265512c380d1a562a2aa98ca21f10201d1f200b14b08aa92b2b56120841305101cd1d
8da6936a490e03030c402627aae777c3220604092320222806020422c674e8a82727400c0202
0b466d94a48f0001ffeefe1d04dffe9300030011400601000400020410d4c4310010d4c43001
15213504dffb0ffe9376760000020087ffe7048703b4000c0035008340577a058b059b059a15
9507ab05a407a425ab28aa15b50abb1fba110d1a1d19350d3109000c2a192903e0e0160116fc
09fa1020f81de026f710d32afb312b113a12ba1203312b2e35320d03002e1f19002729500628
23133610dcc4ecf4ec32e4121739123939315d002fece4fcfce410eefe5dee39391139391112
3939111239305d012e0123220615141633323635170e01232226353436333216173534262322
0623222635343633321615113332161514062b0122262703443767339ab26f567fd90852c166
95b7f3dc3a763e6e744ec01f1d26ddacb0b431473028289d1c240601ba1211685844588548cf
4a4ea6859eae0f1007736e542f253b52b3affe3b1e27242422200001019cfe8d033104a20017
003a40200c160f0b00f107f216f10fe4180f080b161007010400130413900001004f0b1810d4
ec5de432111739123939310010fcecf4ec391112393005333216151406232122263511343633
2132161514062b010248a81d24221dfef31f2a2a1f010d1d22241da8f8201b1d23261c05911c
26211d1b22000001019cfe8d033104a20017003e40220c160f0b070016f10ff200f107e4180f
080b1610070104049f0001004f0b1313041810d43cf4ec5d111739113939310010fcecf4ec11
123911123930012322263534363321321615111406232122263534363b010285a81e23211e01
0c202a2a20fef41d22231ea80427211c1d21261cfa6f1c26231d1c1f0000009800ba005a00c8
00cd009800a6000a021b0248007b007d00b40098009c00ac00c5020a019600d5013f01b80093
018901c10164018900cd009800cd00000014032f0010000c01c1040802ec009800ae00000089
008700cd01e304d900db004a008d00db039a0079033f0000007900ae015a0342001d00710414
0000007900a400db00d500000439033b0096010a01bc01d901db018b00a601c7019c00ac0358
00f200890089039c03b6005a0089041900f2033303020098009600cd01a80000007900000079
04190098030201a201dd01ee00b60017016601ae010c00a802980079007701fa007500960089
012d00910091013f0060006204a00075008100580058005800f000f20098008d01cb007d008d
007d00c1034c009600ae018901cd011b019c00cd00b4017100640308018100fc00fe01fa030e
031700910091009e0087008700930098028301460191021d00df00000089008d0000000004f6
04a204a204a204a20000001f016401ee0075008d002104ee04ee04ee050e0075021b006204a2
04a2008d008d0614065601c7022d01b801c7009301640217028d016d00c30000001901640021
04ee030a008d0091024e037f008d03d1021900bc008d00810081017b04a202a40266008d000c
00f2008f0198025a00000096023b0052007b0614040a039c039c039c039c0000008d0098008d
024805cd053d051d008d0196039c018f039c00be01060019039c007b009e0396068501fa0077
01aa0079007d008900890071013f006404a004a2006f006f0071006f007b00000058006a00f0
0068006f0308005e00cd016d00c3021702170064030a018100fc01fa0071030e0321007b0571
00be007302d10073007302d1009302830179007f00df008d000000007fff0098009800820030
4007060504030201002c2010b002254964b040515820c859212d2cb002254964b040515820c8
59212d2c20100720b00050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b0
0050b00d7920b8ffff5058041b0559b0051cb0032508e12d2c4b505820b80143454459212d2c
b002254560442d2c4b5358b00225b0022545445921212d2c45442d0000000001000000010000
7707c37b5f0f3cf50111080000000000a380f9f000000000c9b116dcfac3fcbb061e08b70000
00060001000100000000000100000608fe0800000696fac3fac2061e00010000000000000000
000000000000002204cd006604cd00a604cd006804cd005804cd000004cd00b204cd005a04cd
006d04cd005804cd019c04cd00ba04cd008504cd00d104cd002904cd016d04cd006004cd019a
04cd011b04cd00bc04cd006604cd010404cd016d04cd004404cd006204cd009a04cd004204cd
00cd04cd006604cd004804cd011b04cdffee04cd008704cd019c04cd019c0000000000000044
000001340000029c000003c4000003c4000005d00000066c00000768000008cc000009500000
0a0000000b8800000cd400000dec00000e6c00000f6c00001004000011140000122c000012b0
000013580000140c000014b400001554000015ac000016540000171c00001850000019800000
1a9400001ac000001bd800001c5c00001ce400010000002201910009007a0005000200100040
0011000007e80aa10003000141ff02800141001300030140000c0003013e00fe0003013d00fe
0003013a003e0003013900bb0003013800fe0003013700bb00030136005d0003013500960003
013400fe0003013300bb0003013200640003013000fe0003012d00fe0003012c012400fe0005
012a00fe00030129006b00030128003500030127006b00030126000c0003012500fe00030124
00fe00030123009600030120011f00220005012000fe0003011f00220003011e000c0003011d
011c00530005011d00960003011c00530003011b004c0003011a00530003011900fe00030118
011700fe0005011700fe0003011600c100fe0005011400fe0003011300350003011200470003
0111011000fa0005011100fe0003011000fa0003010f00fe0003010c00fe0003010b00fe0003
010a0109001d00050109001d0003010800f3000a0005010800100003010700d2004700050107
00440003010600fe0003010500fe0003010400f3000a0005010400fe0003010300fe00030102
003e00030101002e000301000096000300ff00fe000e000500ff00fe000300fe00fd00090005
00fe000e000300fd0009000300fc002e000300fb00fe000300fa00f9007d000500fa00fe0003
00f9007d000300f80012000300f700f60094000500f700fe000300f700c0000400f600f50061
000500f60094000300f60080000400f500f4002e000500f50061000300f541ff0040000400f4
00f3000a000500f4002e000300f3000a000300f00015000300ef00fe000300ee00ed000b0005
00ee00fe000300ed000b000300ec00e60017000500ec00fe000300eb00ea000b000500eb00fe
000300ea000b000300e9001e000300e800a6000300e70039000300e600e50008000500e60017
000300e50008000300e400af000a000500e400fe000300e300fe000300e2005d000300e100fe
000300e000af000300df00fe000300de00fe000300db00fe000300da0014000300d900d8007d
000500d900fe000300d8007d000300d70014000300d600fe000300d500b40041000500d500fe
000300d400fe000300d300d20047000500d30096000300d20047000300d100fe000300d000fe
000300cf001a000300ce0014000300cd001a000300cc00fe000300cb00ca0047000500cb00fe
000300ca0047000300c900c80014000500c900fe000300c80014000300c700c60014000500c6
0014000300c5006b000300c400bb000300c300c20014000500c30025000300c3ffc0000400c2
00af000a000500c20014000300c100fe000300be00bd008c000500be00fe000300be00c00004
00bd00bc0059000500bd008c000300bd0080000400bc00bb0026000500bc0059000300bc0040
000400bb0026000300ba00b40041000500ba0032000300b9007d000300b800fe000300b700fe
000300b6001a000300b541ff00b40041000500b500fe000300b5ffd0000400b40041000300b3
00b2008c000500b300fe000300b300c0000400b200b10059000500b2008c000300b200800004
00b100b00026000500b10059000300b10040000400b000af000a000500b00026000300af000a
000301450028000301440028000300ae00af000300ad00fe000300ac00fe000300ab00fe0003
00aa0008000300a800fe000300a700fe000300a600fe000300a400a300fa000500a300fa0003
00a200fa000300a1004b000300a0009f0053000500a000bb0003009f00530003009e00fe0003
009d009c007d0005009c007d0003009a009900fe0005009900fe0003009800fe00030095007d
000300940006003a00050094004b00030093000c0003009200fe000300910090000b00050090
000b0003008f003e0003008e008d00290005008e002e0003008d00290003008c00fe0003008b
00fe0003008a00fe000300890088003e00050089007d00030088003e0003008700fe00030086
005d00030085006b00030084008300fe0005008300fe0003008200fe00030081003a00030080
00220003007f007e00460005007f00aa0003007e004600030079005d00030078007d00030077
00fe000300760075003a0005007600fe00030075003a0003007100fe0003006e00fe0003006d
006c000f0005006d00330003006c000f0003006b00fe0003006a00fe41ff0003006900680010
0005006900af00030068001000030067003700030066005a000a00050066004400030065007d
00030064005400100005006400fa000300630062000c0005006300fe00030062000c00030061
0060000d00050061002d00030060000d0003005e005d00140005005d00140003005b005a000a
0005005b00fe0003005a000a0003005900fe000300580054001000050058002900030057001f
00090005005700fe00030056007d00030055005400100005005500fe00030054001000030053
00fe000300520036000b0005005200fe0003005100290003005000fe0003004e001a0003004d
007d0003004c007d0003004b00380003004a00fe0003004900640003004800fe000300470096
0003004600a60003004500fe00030043001e000300420036000b000500420078000300410029
00030040003e000a0005004000640003003f003e000a0005003f00960003003e000a0003003d
000a0003003c00fe0003003b00fe0003003a00fe0003003900fe000300380037001800050038
00fa000300370036000b00050037001800030036000b0003003400960003003300fe00030032
00fe0003003100fe0003003000fa0003002f002c0003002e00fe0003002d00fe0003002c00fe
0003002b00fe0003002a00fa000300290007000300280006003a00050028007d0003002700bb
0003002600fe0003419600250096000300240018001400050024003e0003002300fe00030022
00fe0003002100fe0003002000fe0003001f00090003001e000400140005001e00440003001d
004a0003001c000400140005001c00fe0003001b001a00280005001b00fe0003001a00280003
0019001800140005001900fe0003001800140003001700fe0003001600fe0003001400fe0003
00130012000800050012000800030011001000290005001000290003000f000e004c0005000f
00fa0003000e004c0003000d0006003a0005000d00fe0003000c000b00fe0005000b00fe0003
000a000900160005000900160003000800fe000300070006003a0005000700bb00030006003a
000300050004001400050005004b0003000400140003000300fe00030001001a000300000012
000300010118858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00000000>
] def
/f-0-0 currentdict end definefont pop
%%EndResource
%%EndSetup
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 0 -1 275 121
%%EndPageSetup
q 0 -1 275 122 rectclip q
0 g
BT
9 0 0 9 0 114.13916 Tm
/f-0-0 1 Tf
[(int isord\(long* v, long n, int \(*c\)\(void*,void)3(*\)\) {)]TJ
0.599609 -1.25 Td
[( for \(long i=1; i
0 -1.25 Td
[( )3( if \(c)-3(\(v+i-1,v+i)3(\)>0\) r)3(eturn 0;)]TJ
0 -1.25 Td
[( ret)3(urn 1;)]TJ
-0.599609 -1.25 Td
(})Tj
0 -2.5 Td
[(int isord_as)-4(c\()-3(long* v, )3(long n\) {)]TJ
0.599609 -1.25 Td
[( for \(long i=1; i
0 -1.25 Td
[( )3( if \(v[)-3(i-1]>v[i]\) return 0;)]TJ
0 -1.25 Td
[( ret)3(urn 1;)]TJ
-0.599609 -1.25 Td
(})Tj
ET
Q Q
showpage
%%Trailer
end restore
%%EOF
diff --git a/figures/isord-example/isord.png b/figures/isord-example/isord.png
new file mode 100644
index 0000000..ceded5a
Binary files /dev/null and b/figures/isord-example/isord.png differ
diff --git a/figures/isord-example/isord.svg b/figures/isord-example/isord.svg
new file mode 100644
index 0000000..2b15d17
--- /dev/null
+++ b/figures/isord-example/isord.svg
...
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 744.09448819 1052.3622047"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="isord.svg">
id="defs4" />
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.07"
inkscape:cx="83.982131"
inkscape:cy="885.16055"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="851"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
id="metadata7">
rdf:about="">
image/svg+xml
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
transform="translate(-18.13636,-93.181818)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="flowRoot5588"
xml:space="preserve">
id="flowRegion5590">
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
y="126.55576"
x="56.451614"
height="319.92371"
width="344.58978"
id="rect5592" />
id="flowPara4399">int isord(long* v, long n, int (*c)(void*,void*)) {
id="flowPara4381"> for (long i=1; i<n; i++)
id="flowPara4384"> if (c(v+i-1,v+i)>0) return 0;
id="flowPara4387"> return 1;
id="flowPara4390">}
id="flowPara4393" />
id="flowPara5640">int isord_asc(long* v, long n) {
id="flowPara4578"> for (long i=1; i<n; i++)
id="flowPara4580"> if (v[i-1]>v[i]) return 0;
id="flowPara4582"> return 1;
id="flowPara4586">}
id="flowPara5680" />
diff --git a/figures/isord-example/size.tex b/figures/isord-example/size.tex
new file mode 100644
index 0000000..ed514c3
--- /dev/null
+++ b/figures/isord-example/size.tex
...
width=400