Fortran 90 provides 21 intrinsic array functions, some (such as SIZE) that allow inquiries to be made about array properties and others that either construct arrays or extract information from arrays. These functions, all of which are transformational, are listed in Table 5
Table 5: Intrinsic Array Functions.
Users may define array-valued functions; all such functions are transformational. Function F18 in the previous section is an example of a user-defined array-valued function. In this case the shape of the array is determined (dynamically) from arguments, such as the shape properties of an array argument; this is probably the most useful form of array- valued functions. See also the examples in sections 4.5.