PDL types using Type::Tiny
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Types
t
.hgtags
Changes
LICENSE
MANIFEST.SKIP
Makefile.PL
README.mkdn
cpanfile
dist.ini
weaver.ini

README.mkdn

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