## `Type::SetOf` -- type for testing sets

#### Introduction

``Type::SetOf`(obj_type)` describes sets of elements of type `obj_type`.

#### Call(s)

`testtype(obj,` Type::SetOf(obj_type <, min_nr <, max_nr>>`)`)

#### Parameters

`obj` | - | any MuPAD object
`obj_type` | - | the type of the objects; a type can be an object of the library `Type` or one of the possible return values of `domtype` and `type`
`min_nr` | - | the minimal number of objects as nonnegative integer
`max_nr` | - | the maximal number of objects as nonnegative integer

#### Returns

see `testtype`

#### Related Functions

`testtype`, `Type::ListOf`, `Type::Union`, `DOM_SET`

#### Details

- The call `testtype(obj,` Type::SetOf(obj_type`)`) checks, whether `obj` is a set with elements of the given type `obj_type`. If it is, the function returns `TRUE`, otherwise `FALSE`.
- A set has the domain type `DOM_SET`.
- This type expects one or more arguments `obj_type <, min_nr <, max_nr>>`.

  The two optional parameters `min_nr` and `max_nr` determine the minimum and maximum number of elements in the analysed set. If the numbers are not be given, the number of elements in the set will not be checked. If only the minimum is given, the set must contain at least `min_nr` elements for the test to succeed.

- This type does not represent a property.

#### Example 1

Is the given set a set of identifiers?

    >> testtype({a, b, c, d, e, f}, Type::SetOf(DOM_IDENT))

                                       TRUE

Is the given set a set of at least five real numbers?

    >> testtype({0, 0.5, 1, 1.5, 2, 2.5, 3}, Type::SetOf(Type::Real, 5))

                                       TRUE

#### Example 2

`testtype` is used to select sets with exactly two idetifiers:

    >> S := {{a}, {a, b}, {d, 1}, {0, d}, {e}, {d, e}}:
       select(S, testtype, Type::SetOf(DOM_IDENT, 2, 2))

                                 {{d, e}, {a, b}}

#### Changes

- no changes

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