Types::PDL This module provides Type::Tiny compatible types for PDL. Types Types which accept parameters (see "Parameters") will list them. "Piddle" Allows an object blessed into the class "PDL", e.g. validate( [pdl], Piddle ); It accepts the following parameters: null empty ndims ndims_min ndims_max type "Piddle0D" Allows an object blessed into the class "PDL" with "ndims" = 0. It accepts the following parameters: null type "Piddle1D" Allows an object blessed into the class "PDL" with "ndims" = 1. It accepts the following parameters: null empty type "Piddle2D" Allows an object blessed into the class "PDL" with "ndims" = 2. It accepts the following parameters: null empty type "Piddle3D" Allows an object blessed into the class "PDL" with "ndims" = 3. It accepts the following parameters: null empty type Coercions The following coercions are provided, and may be applied via a type object's "plus_coercions" in Type::Tiny or "plus_fallback_coercions" in Type::Tiny methods, e.g. Piddle->plus_coercions( PiddleFromAny ); "PiddleFromAny" Uses "topdl" in PDL::Core to coerce the value into a piddle. Parameters Some types take optional parameters which add additional constraints on the object. For example, to indicate that only empty piddles are accepted: validate( [pdl], Piddle[ empty => 1 ] ); The available parameters are: "empty" This accepts a boolean value; if true the piddle must be empty (i.e. the "isempty" method returns true), if false, it must not be empty. "null" This accepts a boolean value; if true the piddle must be a null piddle, if false, it must not be null. "ndims" This specifies a fixed number of dimensions which the piddle must have. Don't mix use this with "ndims_min" or "ndims_max". "ndims_min" The minimum number of dimensions the piddle may have. Don't specify this with "ndims". "ndims_max" The maximum number of dimensions the piddle may have. Don't specify this with "ndims". "type" The type of the piddle. The value may be a PDL::Type object or a string containing the name of a type (e.g., "double"). For a complete list of types, run this command: perl -MPDL::Types=mapfld,ppdefs \ -E 'say mapfld( $_ => 'ppsym' => 'ioname' ) for ppdefs' INSTALLATION This is a Perl module distribution. It should be installed with whichever tool you use to manage your installation of Perl, e.g. any of cpanm . cpan . cpanp -i . Consult http://www.cpan.org/modules/INSTALL.html for further instruction. Should you wish to install this module manually, the procedure is perl Makefile.PL make make test make install COPYRIGHT AND LICENSE This software is Copyright (c) 2017 by Smithsonian Astrophysical Observatory. This is free software, licensed under: The GNU General Public License, Version 3, June 2007