<!-- Note: This file is automatically generated from source code comments. Changes made in this file will be overridden. -->

# Function and

Logical `and`. Test whether two values are both defined with a nonzero/nonempty value.
For matrices, the function is evaluated element wise.


## Syntax

```js
math.and(x, y)
```

### Parameters

Parameter | Type | Description
--------- | ---- | -----------
`x` | number &#124; BigNumber &#124; Complex &#124; Unit &#124; Array &#124; Matrix | First value to check
`y` | number &#124; BigNumber &#124; Complex &#124; Unit &#124; Array &#124; Matrix | Second value to check

### Returns

Type | Description
---- | -----------
boolean &#124; Array &#124; Matrix |  Returns true when both inputs are defined with a nonzero/nonempty value.


### Throws

Type | Description
---- | -----------


## Examples

```js
math.and(2, 4)   // returns true

a = [2, 0, 0]
b = [3, 7, 0]
c = 0

math.and(a, b)   // returns [true, false, false]
math.and(a, c)   // returns [false, false, false]
```


## See also

[not](not.md),
[or](or.md),
[xor](xor.md)
