## `Type::Product` -- type for testing sequences

#### Introduction

`Type::Product` is the type of sequences of objects of different types.

#### Call(s)

`testtype(obj,` Type::Product(typedef...`)`)

#### Parameters

`obj` | - | any MuPAD object
`typedef` | - | a sequence of types; a type can be an object of the library `Type` or one of the possible return values of `domtype` and `type`

#### Returns

see `testtype`

#### Related Functions

`testtype`, `Type::ListProduct`

#### Details

- The call `testtype(obj,` Type::Product(typedef`)`) checks, whether `obj` is a sequence of objects, which have the types given by `typedef` and returns `TRUE`, if it holds, otherwise `FALSE`.
- `obj` must have the same number of arguments as the sequence `typedef`. The elements of `obj` are checked one after another: the first element of `obj` is checked against the type given by the first element of `typedef` and so on. All elements and types must match.
- This type expects one or more arguments `Type::Product(`typedef...`)`.
- typedef... must be a nonempty sequence of types. A type can be an object of the library `Type` or one of the possible return values of `domtype` and `type`.
- This type does not represent a property.

#### Example 1

The argument is a sequence of a positive integer followed by an identifier:

    >> testtype((5, x), Type::Product(Type::PosInt, Type::Unknown))

                                       TRUE

Is the argument is a sequence of five positive integers? (For help on `$` see `_seqgen`.)

    >> testtype((5, 3, 5, -1, 0), Type::Product(Type::PosInt $ 5))

                                       FALSE

#### Changes

- no changes

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000