# values_product proc

Source: https://ref.dm-lang.org/proc/values_product
Added in BYOND 516.

### Format
> `values_product(Alist)`

### Returns
> The product of all associated numbers in Alist, or 1 if no numbers were found

### Args
> Alist: An [associative list](https://ref.dm-lang.org/list/associations.md) or [alist](https://ref.dm-lang.org/proc/alist.md)

Returns the product of all associated values in this list that are numbers. Other values, including [vectors](https://ref.dm-lang.org/vector/index.md), are not multiplied.

```dm /values_product/
var/list/stuff = list("foo" = 3, "bar" = -4, "banana" = 5)
usr << values_product(stuff)  // outputs -60
```

This is a convenience proc for games trying to eke out high performance.

If Alist is not an associative list or no numbers were found among the associated values, the result is 1.

### See also
- [list associations](https://ref.dm-lang.org/list/associations.md)
- [values_sum proc](https://ref.dm-lang.org/proc/values_sum.md)
- [values_dot proc](https://ref.dm-lang.org/proc/values_dot.md)
- [values_cut_over proc](https://ref.dm-lang.org/proc/values_cut_over.md)
- [values_cut_under proc](https://ref.dm-lang.org/proc/values_cut_under.md)
- [alist proc](https://ref.dm-lang.org/proc/alist.md)
