Using Data Types

Primitives communicate with each other by sending objects of Particle type. A basic set of types, including scalar and array types, inherited from the Particle class, is built into the MLDesigner kernel. Since all of these particle types are derived from the same base class, it is possible to write primitives that operate on any of them (by referring only to the base class). It is also possible to define new types that contain arbitrary C++ objects.

Scalar Numeric Types

There are four numeric scalar types: complex, fixed-point, double precision floating-point, and integer.

Defining New Data Types

There is a limited form of user-defined type, the Message type.

Matrix Data Types

Each of the scalar numeric types has an equivalent matrix type, which uses a more complex version of the user-defined type mechanism.

File and String Types

There are two experimental types included in the basic set, containing strings and file references.

Manipulating Particles of Type anytype

MLDesigner allows primitives to be written that will read and write particles of any type.

Unsupported Types

There are a number of data types in MLDesigner that are NOT recommended to be used by external developers because they are either insufficiently mature or most likely to be changed in the future.