Accelerating the pace of engineering and science

# Type::NonNegInt

Type and property representing nonnegative integers

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```testtype(obj, Type::NonNegInt)
assume(x, Type::NonNegInt)
is(ex, Type::NonNegInt)
```

## Description

Type::NonNegInt represents nonnegative integers. Type::NonNegInt is a property, too, which can be used in an assume call.

The call testtype(obj, Type::NonNegInt) checks, whether obj is a nonnegative integer number and returns TRUE, if it holds, otherwise FALSE.

testtype only performs a syntactical test identifying MuPAD® objects of type DOM_INT and checks, if bool(obj >= 0) holds.

The call assume(x, Type::NonNegInt) marks the identifier x as a nonnegative integer number.

The call is(ex, Type::NonNegInt) derives, whether the expression ex is a nonnegative integer number (or this property can be derived).

This type represents a property that can be used in assume and is.

## Examples

### Example 1

The following numbers are of type Type::NonNegInt:

```testtype(2, Type::NonNegInt),
testtype(3/4, Type::NonNegInt),
testtype(55/111, Type::NonNegInt),
testtype(1, Type::NonNegInt),
testtype(111/111111, Type::NonNegInt)```

### Example 2

Assume an identifier is nonnegative rational:

```assume(x, Type::NonNegInt):
is(x, Type::NonNegInt)```

Also nonnegative integers are integers:

```assume(x, Type::NonNegInt):
is(x, Type::Integer)```

However, integers can be nonnegative or not:

```assume(x, Type::Integer):
is(x, Type::NonNegInt)```

`delete x:`

## Parameters

 obj Any MuPAD object x An identifier or a mathematical expression containing identifiers ex

## Return Values

See testtype, assume and is