The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Types::PDL - PDL types using Type::Tiny

VERSION

version 0.01

SYNOPSIS

  use Types::PDL -types;
  use Type::Params qw[ validate ];
  use PDL;

  validate( [ pdl ], Piddle );

DESCRIPTION

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

Piddle0D

Allows an object blessed into the class PDL with ndims = 0. It accepts the following parameters:

  null

Piddle1D

Allows an object blessed into the class PDL with ndims = 1. It accepts the following parameters:

  null
  empty

Piddle2D

Allows an object blessed into the class PDL with ndims = 2. It accepts the following parameters:

  null
  empty

Piddle3D

Allows an object blessed into the class PDL with ndims = 3. It accepts the following parameters:

  null
  empty

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.

BUGS AND LIMITATIONS

You can make new bug reports, and view existing ones, through the web interface at https://rt.cpan.org/Public/Dist/Display.html?Name=Types-PDL.

AUTHOR

Diab Jerius <djerius@cpan.org>

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