"; docformat = 'rst'" Comment.Single
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'; Example IDL (Interactive Data Language) source code.' Comment.Single
'\n'          Text.Whitespace

'\n'          Text.Whitespace

';+'          Comment.Single
'\n'          Text.Whitespace

'; Get `nIndices` random indices for an array of size `nValues` (without ' Comment.Single
'\n'          Text.Whitespace

'; repeating an index).' Comment.Single
'\n'          Text.Whitespace

';'           Comment.Single
'\n'          Text.Whitespace

'; :Examples:' Comment.Single
'\n'          Text.Whitespace

';    Try::'  Comment.Single
'\n'          Text.Whitespace

';'           Comment.Single
'\n'          Text.Whitespace

';       IDL> r = randomu(seed, 10)' Comment.Single
'\n'          Text.Whitespace

";       IDL> print, r, format='(4F)'" Comment.Single
'\n'          Text.Whitespace

';             0.6297589      0.7815896      0.2508559      0.7546844' Comment.Single
'\n'          Text.Whitespace

';             0.1353382      0.1245834      0.8733745      0.0753110' Comment.Single
'\n'          Text.Whitespace

';             0.8054136      0.9513228' Comment.Single
'\n'          Text.Whitespace

';       IDL> ind = mg_sample(10, 3, seed=seed)' Comment.Single
'\n'          Text.Whitespace

';       IDL> print, ind' Comment.Single
'\n'          Text.Whitespace

';                  2           4           7' Comment.Single
'\n'          Text.Whitespace

';       IDL> print, r[ind]' Comment.Single
'\n'          Text.Whitespace

';            0.250856     0.135338    0.0753110' Comment.Single
'\n'          Text.Whitespace

';'           Comment.Single
'\n'          Text.Whitespace

'; :Returns: ' Comment.Single
'\n'          Text.Whitespace

';    lonarr(`nIndices`)' Comment.Single
'\n'          Text.Whitespace

';'           Comment.Single
'\n'          Text.Whitespace

'; :Params:'  Comment.Single
'\n'          Text.Whitespace

';    nValues : in, required, type=long' Comment.Single
'\n'          Text.Whitespace

';       size of array to choose indices from' Comment.Single
'\n'          Text.Whitespace

';    nIndices : in, required, type=long' Comment.Single
'\n'          Text.Whitespace

';       number of indices needed' Comment.Single
'\n'          Text.Whitespace

';'           Comment.Single
'\n'          Text.Whitespace

'; :Keywords:' Comment.Single
'\n'          Text.Whitespace

';    seed : in, out, optional, type=integer or lonarr(36)' Comment.Single
'\n'          Text.Whitespace

';       seed to use for random number generation, leave undefined to use a ' Comment.Single
'\n'          Text.Whitespace

';       seed generated from the system clock; new seed will be output' Comment.Single
'\n'          Text.Whitespace

';-'          Comment.Single
'\n'          Text.Whitespace

'function'    Keyword
' '           Text.Whitespace
'm'           Text
'g'           Text
'_'           Text
's'           Text
'a'           Text
'm'           Text
'p'           Text
'l'           Text
'e'           Text
','           Text
' '           Text.Whitespace
'n'           Text
'V'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
','           Text
' '           Text.Whitespace
'n'           Text
'I'           Text
'n'           Text
'd'           Text
'i'           Text
'c'           Text
'e'           Text
's'           Text
','           Text
' '           Text.Whitespace
's'           Text
'e'           Text
'e'           Text
'd'           Text
'='           Operator
's'           Text
'e'           Text
'e'           Text
'd'           Text
'\n'          Text.Whitespace

'  '          Text.Whitespace
'compile_opt' Keyword
' '           Text.Whitespace
's'           Text
't'           Text
'r'           Text
'i'           Text
'c'           Text
't'           Text
'a'           Text
'r'           Text
'r'           Text
'\n'          Text.Whitespace

'  \n  '      Text.Whitespace
'; get random nIndices by finding the indices of the smallest nIndices in a ' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'; array of random values' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'v'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'randomu'     Name.Builtin
'('           Text
's'           Text
'e'           Text
'e'           Text
'd'           Text
','           Text
' '           Text.Whitespace
'n'           Text
'V'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
')'           Text
'\n'          Text.Whitespace

'  \n  '      Text.Whitespace
'; our random values are uniformly distributed, so ideally the nIndices ' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'; smallest values are in the first bin of the below histogram' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'n'           Text
'B'           Text
'i'           Text
'n'           Text
's'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'n'           Text
'V'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'/'           Operator
' '           Text.Whitespace
'n'           Text
'I'           Text
'n'           Text
'd'           Text
'i'           Text
'c'           Text
'e'           Text
's'           Text
'\n'          Text.Whitespace

'  '          Text.Whitespace
'h'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'histogram'   Name.Builtin
'('           Text
'v'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
','           Text
' '           Text.Whitespace
'n'           Text
'b'           Text
'i'           Text
'n'           Text
's'           Text
'='           Operator
'n'           Text
'B'           Text
'i'           Text
'n'           Text
's'           Text
','           Text
' '           Text.Whitespace
'r'           Text
'e'           Text
'v'           Text
'e'           Text
'r'           Text
's'           Text
'e'           Text
'_'           Text
'i'           Text
'n'           Text
'd'           Text
'i'           Text
'c'           Text
'e'           Text
's'           Text
'='           Operator
'r'           Text
'i'           Text
')'           Text
'\n'          Text.Whitespace

'\n  '        Text.Whitespace
'; the candidates for being in the first nIndices will live in bins 0..bin' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'n'           Text
'C'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0L'          Literal.Number.Integer.Long
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
' '           Text.Whitespace
'b'           Text
'i'           Text
'n'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'0L'          Literal.Number.Integer.Long
','           Text
' '           Text.Whitespace
'n'           Text
'B'           Text
'i'           Text
'n'           Text
's'           Text
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'1L'          Literal.Number.Integer.Long
' '           Text.Whitespace
'do'          Keyword
' '           Text.Whitespace
'begin'       Keyword
'\n'          Text.Whitespace

'    '        Text.Whitespace
'n'           Text
'C'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'+='          Operator
' '           Text.Whitespace
'h'           Text
'['           Text
'b'           Text
'i'           Text
'n'           Text
']'           Text
'\n'          Text.Whitespace

'    '        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Text
'n'           Text
'C'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'ge'          Keyword
' '           Text.Whitespace
'n'           Text
'I'           Text
'n'           Text
'd'           Text
'i'           Text
'c'           Text
'e'           Text
's'           Text
')'           Text
' '           Text.Whitespace
'then'        Keyword
' '           Text.Whitespace
'break'       Keyword
'    '        Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'endfor'      Keyword
'\n'          Text.Whitespace

'\n  '        Text.Whitespace
'; get the candidates and sort them' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'c'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'r'           Text
'i'           Text
'['           Text
'r'           Text
'i'           Text
'['           Text
'0'           Literal.Number.Integer
']'           Text
' '           Text.Whitespace
':'           Operator
' '           Text.Whitespace
'r'           Text
'i'           Text
'['           Text
'b'           Text
'i'           Text
'n'           Text
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'1L'          Literal.Number.Integer.Long
']'           Text
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'1L'          Literal.Number.Integer.Long
']'           Text
'\n'          Text.Whitespace

'  '          Text.Whitespace
's'           Text
'o'           Text
'r'           Text
't'           Text
'e'           Text
'd'           Text
'C'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'sort'        Name.Builtin
'('           Text
'v'           Text
'a'           Text
'l'           Text
'u'           Text
'e'           Text
's'           Text
'['           Text
'c'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
']'           Text
')'           Text
'\n'          Text.Whitespace

'\n  '        Text.Whitespace
'; return the first nIndices of them' Comment.Single
'\n'          Text.Whitespace

'  '          Text.Whitespace
'return'      Name.Builtin
','           Text
' '           Text.Whitespace
'('           Text
'c'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
'['           Text
's'           Text
'o'           Text
'r'           Text
't'           Text
'e'           Text
'd'           Text
'C'           Text
'a'           Text
'n'           Text
'd'           Text
'i'           Text
'd'           Text
'a'           Text
't'           Text
'e'           Text
's'           Text
']'           Text
')'           Text
'['           Text
'0'           Literal.Number.Integer
':'           Operator
'n'           Text
'I'           Text
'n'           Text
'd'           Text
'i'           Text
'c'           Text
'e'           Text
's'           Text
'-'           Operator
'1L'          Literal.Number.Integer.Long
']'           Text
'\n'          Text.Whitespace

'end'         Keyword
'\n'          Text.Whitespace

'\n\n'        Text.Whitespace

'; main-level example program' Comment.Single
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'r'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'randomu'     Name.Builtin
'('           Text
's'           Text
'e'           Text
'e'           Text
'd'           Text
','           Text
' '           Text.Whitespace
'10'          Literal.Number.Integer
')'           Text
'            ' Text.Whitespace
'\n'          Text.Whitespace

'print'       Name.Builtin
','           Text
' '           Text.Whitespace
'r'           Text
'\n'          Text.Whitespace

'i'           Text
'n'           Text
'd'           Text
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'm'           Text
'g'           Text
'_'           Text
's'           Text
'a'           Text
'm'           Text
'p'           Text
'l'           Text
'e'           Text
'('           Text
'10'          Literal.Number.Integer
','           Text
' '           Text.Whitespace
'3'           Literal.Number.Integer
','           Text
' '           Text.Whitespace
's'           Text
'e'           Text
'e'           Text
'd'           Text
'='           Operator
's'           Text
'e'           Text
'e'           Text
'd'           Text
')'           Text
'\n'          Text.Whitespace

'print'       Name.Builtin
','           Text
' '           Text.Whitespace
'i'           Text
'n'           Text
'd'           Text
'\n'          Text.Whitespace

'print'       Name.Builtin
','           Text
' '           Text.Whitespace
'r'           Text
'['           Text
'i'           Text
'n'           Text
'd'           Text
']'           Text
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'end'         Keyword
'\n'          Text.Whitespace
