pygments.rb 0.3.7 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. data/CHANGELOG +9 -0
  2. data/CHANGELOG.md +6 -0
  3. data/LICENSE +1 -1
  4. data/README.md +1 -1
  5. data/lexers +0 -0
  6. data/lib/pygments/version.rb +1 -1
  7. data/test/test_pygments.rb +0 -1
  8. data/vendor/pygments-main/AUTHORS +14 -1
  9. data/vendor/pygments-main/CHANGES +56 -6
  10. data/vendor/pygments-main/LICENSE +1 -1
  11. data/vendor/pygments-main/Makefile +1 -1
  12. data/vendor/pygments-main/REVISION +1 -0
  13. data/vendor/pygments-main/docs/generate.py +1 -1
  14. data/vendor/pygments-main/docs/src/api.txt +1 -1
  15. data/vendor/pygments-main/docs/src/index.txt +1 -1
  16. data/vendor/pygments-main/docs/src/integrate.txt +5 -0
  17. data/vendor/pygments-main/docs/src/java.txt +70 -0
  18. data/vendor/pygments-main/external/autopygmentize +64 -0
  19. data/vendor/pygments-main/external/markdown-processor.py +2 -2
  20. data/vendor/pygments-main/external/moin-parser.py +1 -1
  21. data/vendor/pygments-main/external/rst-directive-old.py +1 -1
  22. data/vendor/pygments-main/external/rst-directive.py +1 -1
  23. data/vendor/pygments-main/pygments/__init__.py +2 -2
  24. data/vendor/pygments-main/pygments/cmdline.py +14 -6
  25. data/vendor/pygments-main/pygments/console.py +1 -1
  26. data/vendor/pygments-main/pygments/filter.py +1 -1
  27. data/vendor/pygments-main/pygments/filters/__init__.py +1 -1
  28. data/vendor/pygments-main/pygments/formatter.py +1 -1
  29. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  30. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  32. data/vendor/pygments-main/pygments/formatters/html.py +73 -2
  33. data/vendor/pygments-main/pygments/formatters/img.py +1 -1
  34. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  35. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  36. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  37. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  38. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  39. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  40. data/vendor/pygments-main/pygments/lexer.py +76 -12
  41. data/vendor/pygments-main/pygments/lexers/__init__.py +2 -2
  42. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +4 -1
  45. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +1 -1
  46. data/vendor/pygments-main/pygments/lexers/_mapping.py +26 -10
  47. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +11 -0
  48. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +2 -2
  49. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +4 -2
  50. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +14 -3
  51. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +11 -0
  52. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +2 -2
  53. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +6 -6
  54. data/vendor/pygments-main/pygments/lexers/agile.py +6 -4
  55. data/vendor/pygments-main/pygments/lexers/asm.py +40 -2
  56. data/vendor/pygments-main/pygments/lexers/compiled.py +751 -438
  57. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -2
  58. data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  60. data/vendor/pygments-main/pygments/lexers/functional.py +6 -5
  61. data/vendor/pygments-main/pygments/lexers/hdl.py +3 -3
  62. data/vendor/pygments-main/pygments/lexers/jvm.py +130 -16
  63. data/vendor/pygments-main/pygments/lexers/math.py +250 -9
  64. data/vendor/pygments-main/pygments/lexers/other.py +518 -13
  65. data/vendor/pygments-main/pygments/lexers/parsers.py +3 -2
  66. data/vendor/pygments-main/pygments/lexers/shell.py +48 -2
  67. data/vendor/pygments-main/pygments/lexers/special.py +1 -1
  68. data/vendor/pygments-main/pygments/lexers/sql.py +1 -1
  69. data/vendor/pygments-main/pygments/lexers/templates.py +7 -6
  70. data/vendor/pygments-main/pygments/lexers/text.py +9 -9
  71. data/vendor/pygments-main/pygments/lexers/web.py +264 -51
  72. data/vendor/pygments-main/pygments/plugin.py +1 -1
  73. data/vendor/pygments-main/pygments/scanner.py +1 -1
  74. data/vendor/pygments-main/pygments/style.py +1 -1
  75. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  76. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  77. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  78. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  79. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  80. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  81. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  82. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  83. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  84. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  85. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  86. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  87. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  88. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  89. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  90. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  91. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  92. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  93. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  94. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  95. data/vendor/pygments-main/pygments/token.py +1 -1
  96. data/vendor/pygments-main/pygments/unistring.py +1 -1
  97. data/vendor/pygments-main/pygments/util.py +1 -1
  98. data/vendor/pygments-main/scripts/check_sources.py +2 -2
  99. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +2 -0
  100. data/vendor/pygments-main/scripts/find_codetags.py +1 -1
  101. data/vendor/pygments-main/scripts/find_error.py +5 -6
  102. data/vendor/pygments-main/setup.cfg +1 -0
  103. data/vendor/pygments-main/setup.py +6 -4
  104. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  105. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  106. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  107. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  108. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  109. data/vendor/pygments-main/tests/examplefiles/classes.dylan +89 -4
  110. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  111. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  112. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  113. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  114. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +2 -2
  115. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  116. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  117. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  118. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  119. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  120. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +191 -701
  121. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  122. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  123. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  124. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  125. data/vendor/pygments-main/tests/old_run.py +1 -1
  126. data/vendor/pygments-main/tests/run.py +3 -2
  127. data/vendor/pygments-main/tests/support/tags +36 -0
  128. data/vendor/pygments-main/tests/test_basic_api.py +3 -2
  129. data/vendor/pygments-main/tests/test_clexer.py +1 -1
  130. data/vendor/pygments-main/tests/test_cmdline.py +1 -1
  131. data/vendor/pygments-main/tests/test_examplefiles.py +1 -1
  132. data/vendor/pygments-main/tests/test_html_formatter.py +17 -1
  133. data/vendor/pygments-main/tests/test_latex_formatter.py +1 -1
  134. data/vendor/pygments-main/tests/test_perllexer.py +1 -1
  135. data/vendor/pygments-main/tests/test_regexlexer.py +1 -1
  136. data/vendor/pygments-main/tests/test_token.py +1 -1
  137. data/vendor/pygments-main/tests/test_using_api.py +1 -1
  138. data/vendor/pygments-main/tests/test_util.py +5 -4
  139. metadata +26 -2
@@ -0,0 +1,161 @@
1
+ && This is a concatenation of all VFP examples on Wikipedia.
2
+ && Copyright 2013 Wikimedia, under the GFDL.
3
+
4
+ FOR i = 1 to 10
5
+ x = x + 6.5
6
+ ENDFOR
7
+
8
+ IF i = 25
9
+ i = i + 1
10
+ ELSE
11
+ i = i + 3
12
+ ENDIF
13
+
14
+ x = 1
15
+ DO WHILE x < 50
16
+ x = x + 1
17
+ ENDDO
18
+
19
+ x = 1
20
+ DO WHILE .T.
21
+ x = x + 1
22
+ IF x < 50
23
+ LOOP
24
+ ELSE
25
+ EXIT
26
+ ENDIF
27
+ ENDDO
28
+
29
+ nMonth = MONTH(DATE())
30
+ DO CASE
31
+ CASE nMonth <= 3
32
+ MESSAGEBOX("Q1")
33
+
34
+ CASE nMonth <= 6
35
+ MESSAGEBOX("Q2")
36
+
37
+ CASE nMonth <= 9
38
+ MESSAGEBOX("Q3")
39
+
40
+ OTHERWISE
41
+ MESSAGEBOX("Q4")
42
+ ENDCASE
43
+
44
+ FOR EACH oControl IN THISFORM.Controls
45
+ MESSAGEBOX(oControl.Name)
46
+ ENDFOR
47
+
48
+ f = Factorial(10)
49
+
50
+ FUNCTION Factorial(n)
51
+ LOCAL i,r
52
+ r = 1
53
+ FOR i = n TO 1 STEP -1
54
+ r = r * n
55
+ ENDFOR
56
+ RETURN r
57
+ ENDFUNC
58
+
59
+ loForm = CREATEOBJECT("HiForm")
60
+ loForm.Show(1)
61
+
62
+ DEFINE CLASS HiForm AS Form
63
+ AutoCenter = .T.
64
+ Caption = "Hello, World"
65
+
66
+ ADD OBJECT lblHi as Label WITH ;
67
+ Caption = "Hello, World!"
68
+ ENDDEFINE
69
+
70
+ loMine = CREATEOBJECT("MyClass")
71
+ ? loMine.cProp1 && This will work. (Double-ampersand marks an end-of-line comment)
72
+ ? loMine.cProp2 && Program Error: Property CPROP2 is not found.
73
+
74
+ ? loMine.MyMethod1() && This will work.
75
+ ? loMine.MyMethod2() && Program Error: Property MYMETHOD2 is not found.
76
+
77
+ DEFINE CLASS MyClass AS Custom
78
+ cProp1 = "My Property" && This is a public property
79
+ HIDDEN cProp2 && This is a private (hidden) property
80
+ dProp3 = {} && Another public property
81
+
82
+ PROCEDURE Init() && Class constructor
83
+ This.cProp2 = "This is a hidden property."
84
+ ENDPROC
85
+
86
+ PROCEDURE dProp3_Access && Property Getter
87
+ RETURN DATE()
88
+ ENDPROC
89
+ PROCEDURE dProp3_Assign(vNewVal) && Property Setter
90
+ IF VARTYPE(vNewVal) = "D"
91
+ THIS.dProp3 = vNewVal
92
+ ENDIF
93
+ ENDPROC
94
+
95
+ PROCEDURE MyMethod1()
96
+ * This is a public method, calling a hidden method that returns
97
+ * the value of a hidden property.
98
+ RETURN This.MyMethod2()
99
+ ENDPROC
100
+
101
+ HIDDEN PROCEDURE MyMethod2() && This is a private (hidden) method
102
+ RETURN This.cProp2
103
+ ENDPROC
104
+ ENDDEFINE
105
+
106
+ && Create a table
107
+ CREATE TABLE randData (iData I)
108
+
109
+ && Populate with random data using xBase and SQL DML commands
110
+ FOR i = 1 TO 50
111
+ APPEND BLANK
112
+ REPLACE iData WITH (RAND() * 100)
113
+
114
+ INSERT INTO randData (iData) VALUES (RAND() * 100)
115
+ ENDFOR
116
+
117
+ && Place a structural index on the data
118
+ INDEX ON iData TAG iData
119
+ CLOSE ALL
120
+
121
+ && Display ordered data using xBase-style commands
122
+ USE randData
123
+ SET ORDER TO iData
124
+ GO TOP
125
+ LIST NEXT 10 && First 10
126
+ GO BOTTOM
127
+ SKIP -10
128
+ LIST REST && Last 10
129
+ CLOSE ALL
130
+
131
+ && Browse ordered data using SQL DML commands
132
+ SELECT * ;
133
+ FROM randData ;
134
+ ORDER BY iData DESCENDING
135
+
136
+
137
+ && Connect to an ODBC data source
138
+ LOCAL nHnd
139
+ nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd")
140
+
141
+ && Execute a SQL command
142
+ LOCAL nResult
143
+ nResult = SQLEXEC (nHnd, "USE master")
144
+ IF nResult < 0
145
+ MESSAGEBOX ("MASTER database does not exist!")
146
+ RETURN
147
+ ENDIF
148
+
149
+ && Retrieve data from the remote server and stores it in
150
+ && a local data cursor
151
+ nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS")
152
+
153
+ && Update a record in a remote table using parameters
154
+ PRIVATE cAuthorID, cAuthorName
155
+ cAuthorID = "1001"
156
+ cAuthorName = "New name"
157
+ nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID")
158
+
159
+ && Close the connection
160
+ SQLDISCONNECT(nHnd)
161
+
@@ -0,0 +1,45 @@
1
+ [user@linuxbox imx-bootlets-src-10.05.02]$ make CROSS_COMPILE=arm-none-eabi- clean
2
+ rm -rf *.sb
3
+ rm -f sd_mmc_bootstream.raw
4
+ rm -f linux_prep/board/*.o
5
+ ...
6
+ Files:
7
+ rm -f power_prep.o eabi.o
8
+ Build output:
9
+ make[1]: Leaving directory `/home/...'
10
+ [user@linuxbox imx-bootlets-src-10.05.02]$ make CROSS_COMPILE=arm-none-eabi-
11
+ make[1]: Entering directory `/home/...'
12
+ ...
13
+ #@echo "generating U-Boot boot stream image"
14
+ #elftosb2 -z -c ./uboot_prebuilt.db -o imx23_uboot.sb
15
+ echo "generating kernel bootstream file sd_mmc_bootstream.raw"
16
+ generating kernel bootstream file sd_mmc_bootstream.raw
17
+ #Please use cfimager to burn xxx_linux.sb. The below way will no
18
+ #work at imx28 platform.
19
+ > test
20
+ $ test
21
+ rm -f sd_mmc_bootstream.raw
22
+ [user@linuxbox imx-bootlets-src-10.05.02]$
23
+ pi@raspberrypi ~ $ sudo sh -c "echo 17 > /sys/class/gpio/export"
24
+ pi@raspberrypi ~ $ sudo sh -c "echo out > /sys/class/gpio/gpio17/direction"
25
+ pi@raspberrypi ~ $ sudo sh -c "echo 1 > /sys/class/gpio/gpio17/value"
26
+ pi@raspberrypi ~ $ sudo sh -c "echo 0 > /sys/class/gpio/gpio17/value"
27
+ pi@raspberrypi ~ $
28
+ [user@linuxbox ~]$ # copy other stuff to the SD card
29
+ root@imx233-olinuxino-micro:~# lsmod
30
+ Not tainted
31
+ [user@linuxbox ~]$ tail -n 2 /mnt/rpi/etc/inittab
32
+ #Spawn a getty on Raspberry Pi serial line
33
+ T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
34
+ pi@raspberrypi:~/Adafruit-WebIDE$ mkdir tmp
35
+ pi@raspberrypi:~/Adafruit-WebIDE$ npm config set tmp tmp
36
+ pi@raspberrypi:~/Adafruit-WebIDE$ npm install
37
+ pi@raspberrypi ~/Adafruit-WebIDE $ ifconfig eth0
38
+ eth0 Link encap:Ethernet HWaddr b5:33:ff:33:ee:aq
39
+ inet addr:10.42.0.60 Bcast:10.42.0.255 Mask:255.255.255.0
40
+ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
41
+ RX packets:21867 errors:0 dropped:0 overruns:0 frame:0
42
+ TX packets:8684 errors:0 dropped:0 overruns:0 carrier:0
43
+ collisions:0 txqueuelen:1000
44
+ RX bytes:27338495 (26.0 MiB) TX bytes:1268356 (1.2 MiB)
45
+
@@ -0,0 +1,28 @@
1
+ class Animal {
2
+ constructor(public name) { }
3
+ move(meters) {
4
+ alert(this.name + " moved " + meters + "m.");
5
+ }
6
+ }
7
+
8
+ class Snake extends Animal {
9
+ constructor(name) { super(name); }
10
+ move() {
11
+ alert("Slithering...");
12
+ super.move(5);
13
+ }
14
+ }
15
+
16
+ class Horse extends Animal {
17
+ constructor(name) { super(name); }
18
+ move() {
19
+ alert("Galloping...");
20
+ super.move(45);
21
+ }
22
+ }
23
+
24
+ var sam = new Snake("Sammy the Python")
25
+ var tom: Animal = new Horse("Tommy the Palomino")
26
+
27
+ sam.move()
28
+ tom.move(34)
@@ -39,7 +39,7 @@ unhex = q -> q and map p -> (int p 16) (q.split ':')
39
39
  # :return: an integer which, written in binary form, points to the same node.
40
40
  #
41
41
  inet_pton6 = address ->
42
- raise $ ValueError 'not a valid IPv6 address' unless match = addrv6.match address
42
+ raise $ ValueError 'not a valid IPv6 address' if not (match = addrv6.match address)
43
43
  start, end, *ipv4 = match.groups!
44
44
 
45
45
  is_ipv4 = not $ None in ipv4
@@ -47,7 +47,7 @@ inet_pton6 = address ->
47
47
 
48
48
  raise $ ValueError 'not a valid IPv6 address' if (end is None and shift) or shift < 0
49
49
  hexaddr = (base_n 0x10000 (unhex start) << shift) + base_n 0x10000 (unhex $ end or '')
50
- hexaddr unless is_ipv4 else (hexaddr << 32) + base_n 0x100 (map int ipv4)
50
+ (hexaddr << 32) + base_n 0x100 (map int ipv4) if is_ipv4 else hexaddr
51
51
 
52
52
 
53
53
  inet6_type = q -> switch
@@ -0,0 +1,28 @@
1
+ %hook ABC
2
+ - (id)a:(B)b {
3
+ %log;
4
+ return %orig(nil);
5
+ }
6
+ %end
7
+
8
+ %subclass DEF: NSObject
9
+ - (id)init {
10
+ [%c(RuntimeAccessibleClass) alloc];
11
+ return nil;
12
+ }
13
+ %end
14
+
15
+ %group OptionalHooks
16
+ %hook ABC
17
+ - (void)release {
18
+ [self retain];
19
+ %orig;
20
+ }
21
+ %end
22
+ %end
23
+
24
+ %ctor {
25
+ %init;
26
+ if(OptionalCondition)
27
+ %init(OptionalHooks);
28
+ }
@@ -0,0 +1,73 @@
1
+ ; docformat = 'rst'
2
+
3
+ ; Example IDL (Interactive Data Language) source code.
4
+
5
+ ;+
6
+ ; Get `nIndices` random indices for an array of size `nValues` (without
7
+ ; repeating an index).
8
+ ;
9
+ ; :Examples:
10
+ ; Try::
11
+ ;
12
+ ; IDL> r = randomu(seed, 10)
13
+ ; IDL> print, r, format='(4F)'
14
+ ; 0.6297589 0.7815896 0.2508559 0.7546844
15
+ ; 0.1353382 0.1245834 0.8733745 0.0753110
16
+ ; 0.8054136 0.9513228
17
+ ; IDL> ind = mg_sample(10, 3, seed=seed)
18
+ ; IDL> print, ind
19
+ ; 2 4 7
20
+ ; IDL> print, r[ind]
21
+ ; 0.250856 0.135338 0.0753110
22
+ ;
23
+ ; :Returns:
24
+ ; lonarr(`nIndices`)
25
+ ;
26
+ ; :Params:
27
+ ; nValues : in, required, type=long
28
+ ; size of array to choose indices from
29
+ ; nIndices : in, required, type=long
30
+ ; number of indices needed
31
+ ;
32
+ ; :Keywords:
33
+ ; seed : in, out, optional, type=integer or lonarr(36)
34
+ ; seed to use for random number generation, leave undefined to use a
35
+ ; seed generated from the system clock; new seed will be output
36
+ ;-
37
+ function mg_sample, nValues, nIndices, seed=seed
38
+ compile_opt strictarr
39
+
40
+ ; get random nIndices by finding the indices of the smallest nIndices in a
41
+ ; array of random values
42
+ values = randomu(seed, nValues)
43
+
44
+ ; our random values are uniformly distributed, so ideally the nIndices
45
+ ; smallest values are in the first bin of the below histogram
46
+ nBins = nValues / nIndices
47
+ h = histogram(values, nbins=nBins, reverse_indices=ri)
48
+
49
+ ; the candidates for being in the first nIndices will live in bins 0..bin
50
+ nCandidates = 0L
51
+ for bin = 0L, nBins - 1L do begin
52
+ nCandidates += h[bin]
53
+ if (nCandidates ge nIndices) then break
54
+ endfor
55
+
56
+ ; get the candidates and sort them
57
+ candidates = ri[ri[0] : ri[bin + 1L] - 1L]
58
+ sortedCandidates = sort(values[candidates])
59
+
60
+ ; return the first nIndices of them
61
+ return, (candidates[sortedCandidates])[0:nIndices-1L]
62
+ end
63
+
64
+
65
+ ; main-level example program
66
+
67
+ r = randomu(seed, 10)
68
+ print, r
69
+ ind = mg_sample(10, 3, seed=seed)
70
+ print, ind
71
+ print, r[ind]
72
+
73
+ end
@@ -0,0 +1,112 @@
1
+ /****************************************************************************
2
+ **
3
+ ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4
+ ** All rights reserved.
5
+ ** Contact: Nokia Corporation (qt-info@nokia.com)
6
+ **
7
+ ** This file is part of the QtDeclarative module of the Qt Toolkit.
8
+ **
9
+ ** $QT_BEGIN_LICENSE:LGPL$
10
+ ** GNU Lesser General Public License Usage
11
+ ** This file may be used under the terms of the GNU Lesser General Public
12
+ ** License version 2.1 as published by the Free Software Foundation and
13
+ ** appearing in the file LICENSE.LGPL included in the packaging of this
14
+ ** file. Please review the following information to ensure the GNU Lesser
15
+ ** General Public License version 2.1 requirements will be met:
16
+ ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17
+ **
18
+ ** In addition, as a special exception, Nokia gives you certain additional
19
+ ** rights. These rights are described in the Nokia Qt LGPL Exception
20
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21
+ **
22
+ ** GNU General Public License Usage
23
+ ** Alternatively, this file may be used under the terms of the GNU General
24
+ ** Public License version 3.0 as published by the Free Software Foundation
25
+ ** and appearing in the file LICENSE.GPL included in the packaging of this
26
+ ** file. Please review the following information to ensure the GNU General
27
+ ** Public License version 3.0 requirements will be met:
28
+ ** http://www.gnu.org/copyleft/gpl.html.
29
+ **
30
+ ** Other Usage
31
+ ** Alternatively, this file may be used in accordance with the terms and
32
+ ** conditions contained in a signed written agreement between you and Nokia.
33
+ **
34
+ **
35
+ **
36
+ **
37
+ **
38
+ ** $QT_END_LICENSE$
39
+ **
40
+ ****************************************************************************/
41
+
42
+ import QtQuick 1.0
43
+ import "MinehuntCore" 1.0
44
+
45
+ Item {
46
+ id: field
47
+ property int clickx: 0
48
+ property int clicky: 0
49
+
50
+ width: 450; height: 450
51
+
52
+ Image { source: "MinehuntCore/pics/background.png"; anchors.fill: parent; fillMode: Image.Tile }
53
+
54
+ Grid {
55
+ anchors.horizontalCenter: parent.horizontalCenter
56
+ columns: 9; spacing: 1
57
+
58
+ Repeater {
59
+ id: repeater
60
+ model: tiles
61
+ delegate: Tile {}
62
+ }
63
+ }
64
+
65
+ Row {
66
+ id: gamedata
67
+ x: 20; spacing: 20
68
+ anchors.bottom: field.bottom; anchors.bottomMargin: 15
69
+
70
+ Image {
71
+ source: "MinehuntCore/pics/quit.png"
72
+ scale: quitMouse.pressed ? 0.8 : 1.0
73
+ smooth: quitMouse.pressed
74
+ y: 10
75
+ MouseArea {
76
+ id: quitMouse
77
+ anchors.fill: parent
78
+ anchors.margins: -20
79
+ onClicked: Qt.quit()
80
+ }
81
+ }
82
+ Column {
83
+ spacing: 2
84
+ Image { source: "MinehuntCore/pics/bomb-color.png" }
85
+ Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numMines }
86
+ }
87
+
88
+ Column {
89
+ spacing: 2
90
+ Image { source: "MinehuntCore/pics/flag-color.png" }
91
+ Text { anchors.horizontalCenter: parent.horizontalCenter; color: "white"; text: numFlags }
92
+ }
93
+ }
94
+
95
+ Image {
96
+ anchors.bottom: field.bottom; anchors.bottomMargin: 15
97
+ anchors.right: field.right; anchors.rightMargin: 20
98
+ source: isPlaying ? 'MinehuntCore/pics/face-smile.png' :
99
+ hasWon ? 'MinehuntCore/pics/face-smile-big.png': 'MinehuntCore/pics/face-sad.png'
100
+
101
+ MouseArea { anchors.fill: parent; onPressed: reset() }
102
+ }
103
+ Text {
104
+ anchors.centerIn: parent; width: parent.width - 20
105
+ horizontalAlignment: Text.AlignHCenter
106
+ wrapMode: Text.WordWrap
107
+ text: "Minehunt demo has to be compiled to run.\n\nPlease see README."
108
+ color: "white"; font.bold: true; font.pixelSize: 14
109
+ visible: tiles == undefined
110
+ }
111
+
112
+ }