This page is dedicated to showcase small snippets of code may be useful. These small routines are designed to accomplish tasks involving lists, matrices, and their attributes. Unless specified, output is in `Ans`.

**Index of Maximum List Element – jonbush**

This line finds the index of first occurrence of a specific value in a list.

The list to be searched is in `Ans` at the beginning.

`:1+sum(not(cumSum(Ans=max(Ans`

This can also be used to find the index of the minimum or of any other value in place of

`max(Ans`

**Number of Elements Less than X – kg583**

This line counts the number of elements in a list less than some number `X`.

The list to be searched is in `Ans`.

`:sum(0<Ans-X`

Replace

`<`with

`>`to return the number of elements greater than

`X`,

`≤`for numbers less than or equal to X and

`≥`for numbers greater than or equal to

`X`.

**Shuffle a list**

This routine is the fastest way to shuffle a list. `L₁` is the list to be shuffled and `L₂` is a temporary list used to do the shuffling. Make sure to clean up `L₂` after your program.

```
:rand(dim(L₁->L₂
:SortA(L₂,L₁
```

**Reverse a list – Xeda Elnara**

This routine is the smallest way to reverse a list. `L₁` is reversed without affecting `Ans`.

```
:dim(L₁
:seq(L₁(Ans-K),K,0,Ans-1
```

**Remove list element – jonbush**

This routine is the smallest way to remove a single element from a list. The position of the element to be removed from `L₁` is in `Ans`, and the result is a list with that element removed.

`:seq(L₁(A+(A≥Ans)),A,1,dim(L₁)-1`

**Enter List using Input - Trenly**

This routine is a way to allow a list to be entered using the `Input` command. The values to store in the list should be a comma separated string of numbers e.g "1,2,3"

```
:Input Str1
:expr("{"+Str1→L₁
```

**Nth Occurrence of Element — kg583**

This routine will find the index of the N^{th} occurrence of an element `X` in a list. If it does not exist, the output will be `dim(Ans)+1`

`:1+Σ(sum(not(cumSum(Ans=X)-K)),K,0,N-1`

**Partial Probability - Timothy Foster**

This routine takes a single list in `Ans`, and randomly selects an element according to the bin sizes in the list. As an example, if the input is {4,11,2,3,0} there is a 4/20 chance that Bin 1 is chosen, an 11/20 chance for bin 2, 2/20 for bin 3, a 3/20 chance for bin 4, and a 0/20 chance for bin 5.

`1+sum(cumSum(Ans)<randsum(Ans`

.