2 x 4 dimensions
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 8558
2-Disk X window embedded Linux 2.0.0
2-Disk X window embedded Linux is a very efficient Linux/xwindows distribution. more>>
2-Disk X window embedded Linux is a very efficient Linux/xwindows distribution, implementing a net centric operating environment and user friendly GUI
The distribution is intended to be a demonstration of Mungkie assiciates embedded appliance development environment, showing the sort of environment that can be created for small appliance GUI systems using less than 4Mb flash and 4Mb RAM.
The embedded development environment is based around a standard source tree containing all the required utilities for a standard POSIX unix implementation with a number of XML based GUI configuration and compilation tools. Simple GUI utilities are used to configure required components and set compilation options.
The distribution is targeted as a base for:
corporate users to reduce IT costs by deploying X terminals on old or low cost hardware
Or:
embedded OS for handhelds, settop boxes, or communications devices, with full support for bluetooth, wifi, internet, and MMS protocols
Or:
Hobbyist or small companies to develop specialist applications for cheap commodity hardware
Main features:
- kernel 2.0.x/2.2.x/2.4.x
- libc-2.1/libc5/uclibc,
- tcp/ip network support. full protocol stack for wifi, mms
- busybox 0.62,
- tinylogin 1.0,
- ppp, chat, some daemons, inetd, crond. dhcp client and server. iptables
- e3 editor,
- X window system 4.1 vesa
- VNC client
- merlin character recognition
- rdesktop remote windows client
- ssh
- Mungwm : a window manager
- Mungbrowse : a web browser
- Mungterm : a terminal program
- Mungames : a collection of 12 games
- Mungedit : a text editor
- Mungfile : embedded file manager
- NEW Evil bastard operator tools
- NEW Cheese dynamics context apropriation modeling
- NEW Mini Mung beans (beans of mung for all your network environment)
Enhancements:
- Script cleanups were done to the build system.
- Bugs were fixed concerning HTTPS access with the Mweb browser.
<<lessThe distribution is intended to be a demonstration of Mungkie assiciates embedded appliance development environment, showing the sort of environment that can be created for small appliance GUI systems using less than 4Mb flash and 4Mb RAM.
The embedded development environment is based around a standard source tree containing all the required utilities for a standard POSIX unix implementation with a number of XML based GUI configuration and compilation tools. Simple GUI utilities are used to configure required components and set compilation options.
The distribution is targeted as a base for:
corporate users to reduce IT costs by deploying X terminals on old or low cost hardware
Or:
embedded OS for handhelds, settop boxes, or communications devices, with full support for bluetooth, wifi, internet, and MMS protocols
Or:
Hobbyist or small companies to develop specialist applications for cheap commodity hardware
Main features:
- kernel 2.0.x/2.2.x/2.4.x
- libc-2.1/libc5/uclibc,
- tcp/ip network support. full protocol stack for wifi, mms
- busybox 0.62,
- tinylogin 1.0,
- ppp, chat, some daemons, inetd, crond. dhcp client and server. iptables
- e3 editor,
- X window system 4.1 vesa
- VNC client
- merlin character recognition
- rdesktop remote windows client
- ssh
- Mungwm : a window manager
- Mungbrowse : a web browser
- Mungterm : a terminal program
- Mungames : a collection of 12 games
- Mungedit : a text editor
- Mungfile : embedded file manager
- NEW Evil bastard operator tools
- NEW Cheese dynamics context apropriation modeling
- NEW Mini Mung beans (beans of mung for all your network environment)
Enhancements:
- Script cleanups were done to the build system.
- Bugs were fixed concerning HTTPS access with the Mweb browser.
Download (7.2MB)
Added: 2006-05-06 License: Free To Use But Restricted Price:
1266 downloads
dimnum 1.16
dimnum is a C++ template library for dimensional numbers. more>>
dimnum is a C++ template library for dimensional numbers.
The dimnum C++ library provides templated classes for storage of dimensional numbers, like lengths, masses, and so on. The classes are templated over the storage data type, and the base unit.
Output as well as input (with automatic recognition of the base unit) through standard C++ streams is supported. The dimension information is handled completely at compile time, so no additional memory is required for storage.
In both dimnum and SIunits, numbers are represented in a given base (ie. you can for instance declare a length object which is expressed in meters). In SIunits this base unit ("one meter") is fixed at compile time (ie. all values are represented in meters), while in dimnum it is a template parameter. In dimnum you can have (in one program) both values expressed in the SI basis and in, for instance, the British foot/inch/... basis, while in SIunits you have to make a choice.
Dimnum uses a different treatment of models in which dimensions merge (for instance the high energy physics model, in which the speed of light and Plancks constant are put equal to one). In dimnum models can be mixed, in SIunits you have to choose one.
Treatment of I/O differs (dimnums method uses more static data where SIunits uses dynamical switches); a bit hard to explain in one or two lines.
Dimnums actual code (i.e. excluding the constant lists and the dimensionful number declarations) is also a bit smaller.
<<lessThe dimnum C++ library provides templated classes for storage of dimensional numbers, like lengths, masses, and so on. The classes are templated over the storage data type, and the base unit.
Output as well as input (with automatic recognition of the base unit) through standard C++ streams is supported. The dimension information is handled completely at compile time, so no additional memory is required for storage.
In both dimnum and SIunits, numbers are represented in a given base (ie. you can for instance declare a length object which is expressed in meters). In SIunits this base unit ("one meter") is fixed at compile time (ie. all values are represented in meters), while in dimnum it is a template parameter. In dimnum you can have (in one program) both values expressed in the SI basis and in, for instance, the British foot/inch/... basis, while in SIunits you have to make a choice.
Dimnum uses a different treatment of models in which dimensions merge (for instance the high energy physics model, in which the speed of light and Plancks constant are put equal to one). In dimnum models can be mixed, in SIunits you have to choose one.
Treatment of I/O differs (dimnums method uses more static data where SIunits uses dynamical switches); a bit hard to explain in one or two lines.
Dimnums actual code (i.e. excluding the constant lists and the dimensionful number declarations) is also a bit smaller.
Download (0.18MB)
Added: 2006-07-28 License: GPL (GNU General Public License) Price:
1186 downloads
JMicroVision 1.2.5
JMicroVision is an image analysis toolbox for measuring and quantifying components of high-definition images. more>>
JMicroVision is an image analysis toolbox for measuring and quantifying components of high-definition images. JMicroVision contains most of the common image processing operations, has a simple and intuitive user interface, an efficient visualization system and innovative features. It contains tools to quantify either manually or automatically.
Main features:
- Read images in TIFF, BMP, FlashPiX, GIF, JPEG, PNG, and PNM formats
- Efficient visualization system
- Quantify components: objects or background
- Object analysis (size, shape, orientation, texture ...)
- Object classification
- Image processing (binary and morphology operations, filtering, segmentation...)
- Image rectification (geometric corrections by control points)
- Digital point counting
- Tools for data collection in one or two dimensions
- Image annotation and description card
- Profile (variation of granulometry, density, objects or background)
- Save all measures, data, calibration and preferences in a single project file
Enhancements:
- Fixed issues: 22, 40, 41, 42, 43, 44 , 45 and 46
- Supports Java 1.6 and Windows Vista
- Read all previous JMicroVision project files
- More texture descriptors
- Supervised classification (k-nearest neighbor)
- Improvement of UI (Table, Text field and spinner have similar behaviors)
- Aqua and GTK+ Look and Feel are supported (still some minor issues)
- Online help has been actualized
- Other minor bugs fixed
<<lessMain features:
- Read images in TIFF, BMP, FlashPiX, GIF, JPEG, PNG, and PNM formats
- Efficient visualization system
- Quantify components: objects or background
- Object analysis (size, shape, orientation, texture ...)
- Object classification
- Image processing (binary and morphology operations, filtering, segmentation...)
- Image rectification (geometric corrections by control points)
- Digital point counting
- Tools for data collection in one or two dimensions
- Image annotation and description card
- Profile (variation of granulometry, density, objects or background)
- Save all measures, data, calibration and preferences in a single project file
Enhancements:
- Fixed issues: 22, 40, 41, 42, 43, 44 , 45 and 46
- Supports Java 1.6 and Windows Vista
- Read all previous JMicroVision project files
- More texture descriptors
- Supervised classification (k-nearest neighbor)
- Improvement of UI (Table, Text field and spinner have similar behaviors)
- Aqua and GTK+ Look and Feel are supported (still some minor issues)
- Online help has been actualized
- Other minor bugs fixed
Download (28.9MB)
Added: 2007-01-18 License: GPL (GNU General Public License) Price:
1139 downloads
MersenneTwister 1.0
The Mersenne Twister is an algorithm for generating random numbers. more>>
MersenneTwister is a C++ class for generating random numbers. It was designed with consideration of the flaws in various other generators.
The period, 2^19937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines. See the inventors page for more details.
I have implemented the Mersenne Twister in a C++ class that is fast, convenient, portable, and free. Take a look at the class or download the complete package in zip or tarball format.
Main features:
- Simple creation of generator with MTRand r;
- Convenient access with double a = r();
- Generation of integers or floating-point numbers
- Easy seeding options
- Automatically from /dev/urandom or time() and clock()
- Single integer
- Arrays of any length (to access full 19937-bit range)
- Ability to save and restore state
- Thorough example program
- Validation and performance tests
- Open source code under BSD license
On my system, a Pentium III running Linux at 500 MHz, the performance test gives the following results for generation of random integers:
MersenneTwister.h 28.4 million per second
Inventors C version 14.3 million per second
Cokuss optimized C version 16.6 million per second
Standard rand() 6.8 million per second
<<lessThe period, 2^19937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines. See the inventors page for more details.
I have implemented the Mersenne Twister in a C++ class that is fast, convenient, portable, and free. Take a look at the class or download the complete package in zip or tarball format.
Main features:
- Simple creation of generator with MTRand r;
- Convenient access with double a = r();
- Generation of integers or floating-point numbers
- Easy seeding options
- Automatically from /dev/urandom or time() and clock()
- Single integer
- Arrays of any length (to access full 19937-bit range)
- Ability to save and restore state
- Thorough example program
- Validation and performance tests
- Open source code under BSD license
On my system, a Pentium III running Linux at 500 MHz, the performance test gives the following results for generation of random integers:
MersenneTwister.h 28.4 million per second
Inventors C version 14.3 million per second
Cokuss optimized C version 16.6 million per second
Standard rand() 6.8 million per second
Download (0.039MB)
Added: 2006-03-22 License: BSD License Price:
1315 downloads
PDL::Internals 2.4.3
PDL::Internals is a Perl module that contains a description of some aspects of the current internals. more>>
PDL::Internals is a Perl module that contains a description of some aspects of the current internals.
Intro
This document explains various aspects of the current implementation of PDL. If you just want to use PDL for something, you definitely do not need to read this. Even if you want to interface your C routines to PDL or create new PDL::PP functions, you do not need to read this man page (though it may be informative). This document is primarily intended for people interested in debugging or changing the internals of PDL. To read this, a good understanding of the C language and programming and data structures in general is required, as well as some Perl understanding. If you read through this document and understand all of it and are able to point what any part of this document refers to in the PDL core sources and additionally struggle to understand PDL::PP, you will be awarded the title "PDL Guru" (of course, the current version of this document is so incomplete that this is next to impossible from just these notes).
Warning: If it seems that this document has gotten out of date, please inform the PDL porters email list (pdl-porters@jach.hawaii.edu). This may well happen.
Piddles
The pdl data object is generally an opaque scalar reference into a pdl structure in memory. Alternatively, it may be a hash reference with the PDL field containing the scalar reference (this makes overloading piddles easy, see PDL::Objects). You can easily find out at the Perl level which type of piddle you are dealing with. The example code below demonstrates how to do it:
# check if this a piddle
die "not a piddle" unless UNIVERSAL::isa($pdl, PDL);
# is it a scalar ref or a hash ref?
if (UNIVERSAL::isa($pdl, "HASH")) {
die "not a valid PDL" unless exists $pdl->{PDL} &&
UNIVERSAL::isa($pdl->{PDL},PDL);
print "This is a hash reference,",
" the PDL field contains the scalar refn";
} else {
print "This is a scalar ref that points to address $$pdl in memoryn";
}
The scalar reference points to the numeric address of a C structure of type pdl which is defined in pdl.h. The mapping between the object at the Perl level and the C structure containing the actual data and structural that makes up a piddle is done by the PDL typemap. The functions used in the PDL typemap are defined pretty much at the top of the file pdlcore.h. So what does the structure look like:
struct pdl {
unsigned long magicno; /* Always stores PDL_MAGICNO as a sanity check */
/* This is first so most pointer accesses to wrong type are caught */
int state; /* Whats in this pdl */
pdl_trans *trans; /* Opaque pointer to internals of transformation from
parent */
pdl_vaffine *vafftrans;
void* sv; /* (optional) pointer back to original sv.
ALWAYS check for non-null before use.
We cannot inc refcnt on this one or wed
never get destroyed */
void *datasv; /* Pointer to SV containing data. Refcnt inced */
void *data; /* Null: no data alloced for this one */
int nvals; /* How many values allocated */
int datatype;
PDL_Long *dims; /* Array of data dimensions */
PDL_Long *dimincs; /* Array of data default increments */
short ndims; /* Number of data dimensions */
unsigned char *threadids; /* Starting index of the thread index set n */
unsigned char nthreadids;
pdl *progenitor; /* Im in a mutated family. make_physical_now must
copy me to the new generation. */
pdl *future_me; /* Im the "then" pdl and this is my "now" (or more modern
version, anyway */
pdl_children children;
short living_for; /* perl side not referenced; delete me when */
PDL_Long def_dims[PDL_NDIMS]; /* Preallocated space for efficiency */
PDL_Long def_dimincs[PDL_NDIMS]; /* Preallocated space for efficiency */
unsigned char def_threadids[PDL_NTHREADIDS];
struct pdl_magic *magic;
void *hdrsv; /* "header", settable from outside */
};
This is quite a structure for just storing some data in - what is going on?
<<lessIntro
This document explains various aspects of the current implementation of PDL. If you just want to use PDL for something, you definitely do not need to read this. Even if you want to interface your C routines to PDL or create new PDL::PP functions, you do not need to read this man page (though it may be informative). This document is primarily intended for people interested in debugging or changing the internals of PDL. To read this, a good understanding of the C language and programming and data structures in general is required, as well as some Perl understanding. If you read through this document and understand all of it and are able to point what any part of this document refers to in the PDL core sources and additionally struggle to understand PDL::PP, you will be awarded the title "PDL Guru" (of course, the current version of this document is so incomplete that this is next to impossible from just these notes).
Warning: If it seems that this document has gotten out of date, please inform the PDL porters email list (pdl-porters@jach.hawaii.edu). This may well happen.
Piddles
The pdl data object is generally an opaque scalar reference into a pdl structure in memory. Alternatively, it may be a hash reference with the PDL field containing the scalar reference (this makes overloading piddles easy, see PDL::Objects). You can easily find out at the Perl level which type of piddle you are dealing with. The example code below demonstrates how to do it:
# check if this a piddle
die "not a piddle" unless UNIVERSAL::isa($pdl, PDL);
# is it a scalar ref or a hash ref?
if (UNIVERSAL::isa($pdl, "HASH")) {
die "not a valid PDL" unless exists $pdl->{PDL} &&
UNIVERSAL::isa($pdl->{PDL},PDL);
print "This is a hash reference,",
" the PDL field contains the scalar refn";
} else {
print "This is a scalar ref that points to address $$pdl in memoryn";
}
The scalar reference points to the numeric address of a C structure of type pdl which is defined in pdl.h. The mapping between the object at the Perl level and the C structure containing the actual data and structural that makes up a piddle is done by the PDL typemap. The functions used in the PDL typemap are defined pretty much at the top of the file pdlcore.h. So what does the structure look like:
struct pdl {
unsigned long magicno; /* Always stores PDL_MAGICNO as a sanity check */
/* This is first so most pointer accesses to wrong type are caught */
int state; /* Whats in this pdl */
pdl_trans *trans; /* Opaque pointer to internals of transformation from
parent */
pdl_vaffine *vafftrans;
void* sv; /* (optional) pointer back to original sv.
ALWAYS check for non-null before use.
We cannot inc refcnt on this one or wed
never get destroyed */
void *datasv; /* Pointer to SV containing data. Refcnt inced */
void *data; /* Null: no data alloced for this one */
int nvals; /* How many values allocated */
int datatype;
PDL_Long *dims; /* Array of data dimensions */
PDL_Long *dimincs; /* Array of data default increments */
short ndims; /* Number of data dimensions */
unsigned char *threadids; /* Starting index of the thread index set n */
unsigned char nthreadids;
pdl *progenitor; /* Im in a mutated family. make_physical_now must
copy me to the new generation. */
pdl *future_me; /* Im the "then" pdl and this is my "now" (or more modern
version, anyway */
pdl_children children;
short living_for; /* perl side not referenced; delete me when */
PDL_Long def_dims[PDL_NDIMS]; /* Preallocated space for efficiency */
PDL_Long def_dimincs[PDL_NDIMS]; /* Preallocated space for efficiency */
unsigned char def_threadids[PDL_NTHREADIDS];
struct pdl_magic *magic;
void *hdrsv; /* "header", settable from outside */
};
This is quite a structure for just storing some data in - what is going on?
Download (2.1MB)
Added: 2007-07-07 License: Perl Artistic License Price:
839 downloads
PDL::MatrixOps 2.4.3
PDL::MatrixOps Perl module contains some useful Matrix operations. more>>
PDL::MatrixOps Perl module contains some useful Matrix operations.
SYNOPSIS
$inv = $a->inv;
$det = $a->det;
($lu,$perm,$par) = $a->lu_decomp;
$x = lu_backsub($lu,$perm,$b); # solve $a x $x = $b
PDL::MatrixOps is PDLs built-in matrix manipulation code. It contains utilities for many common matrix operations: inversion, determinant finding, eigenvalue/vector finding, singular value decomposition, etc. PDL::MatrixOps routines are written in a mixture of Perl and C, so that they are reliably present even when there no FORTRAN compiler or external library available (e.g. PDL::Slatec or PDL::GSL).
Matrix manipulation, particularly with large matrices, is a challenging field and no one algorithm is suitable in all cases. The utilities here use general-purpose algorithms that work acceptably for many cases but might not scale well to very large or pathological (near-singular) matrices.
Except as noted, the matrices are PDLs whose 0th dimension ranges over column and whose 1st dimension ranges over row. The matrices appear correctly when printed.
These routines should work OK with PDL::Matrix objects as well as with normal PDLs.
<<lessSYNOPSIS
$inv = $a->inv;
$det = $a->det;
($lu,$perm,$par) = $a->lu_decomp;
$x = lu_backsub($lu,$perm,$b); # solve $a x $x = $b
PDL::MatrixOps is PDLs built-in matrix manipulation code. It contains utilities for many common matrix operations: inversion, determinant finding, eigenvalue/vector finding, singular value decomposition, etc. PDL::MatrixOps routines are written in a mixture of Perl and C, so that they are reliably present even when there no FORTRAN compiler or external library available (e.g. PDL::Slatec or PDL::GSL).
Matrix manipulation, particularly with large matrices, is a challenging field and no one algorithm is suitable in all cases. The utilities here use general-purpose algorithms that work acceptably for many cases but might not scale well to very large or pathological (near-singular) matrices.
Except as noted, the matrices are PDLs whose 0th dimension ranges over column and whose 1st dimension ranges over row. The matrices appear correctly when printed.
These routines should work OK with PDL::Matrix objects as well as with normal PDLs.
Download (2.1MB)
Added: 2007-07-04 License: Perl Artistic License Price:
843 downloads
Ultima Iris 2.0
Ultima Iris is a Ultima online client total 3D. more>>
Ultima Iris is a Ultima online client total 3D.
Iris2 is a 3D/2D game client for the popular Massive Multiplayer Role Playing Game "Ultima Online" (tm). Adding a third dimension to the well-known Ultima Online World, Iris2 allows the player to navigate the gaming environment just like any modern 3d rpg and still retain the unique roleplaying experience that only classic Ultima can provide. Moreover, being compatible with standard UO game servers, the player is not limited to play with only users of Iris but may also seamlessly interact with players using standard 2d clients.
<<lessIris2 is a 3D/2D game client for the popular Massive Multiplayer Role Playing Game "Ultima Online" (tm). Adding a third dimension to the well-known Ultima Online World, Iris2 allows the player to navigate the gaming environment just like any modern 3d rpg and still retain the unique roleplaying experience that only classic Ultima can provide. Moreover, being compatible with standard UO game servers, the player is not limited to play with only users of Iris but may also seamlessly interact with players using standard 2d clients.
Download (MB)
Added: 2007-05-24 License: Freeware Price:
894 downloads
PDL::NiceSlice 2.4.3
PDL::NiceSlice Perl module contains a nicer slicing syntax for PDL. more>>
PDL::NiceSlice Perl module contains a nicer slicing syntax for PDL.
SYNOPSYS
use PDL::NiceSlice;
$a(1:4) .= 2; # concise syntax for ranges
print $b((0),1:$end); # use variables in the slice expression
$a->xchg(0,1)->(($pos-1)) .= 0; # default method syntax
$idx = long 1, 7, 3, 0; # a piddle of indices
$a(-3:2:2,$idx) += 3; # mix explicit indexing and ranges
$a->clump(1,2)->(0:30); # default method syntax
$a(myfunc(0,$var),1:4)++; # when using functions in slice expressions
# use parentheses around args!
$b = $a(*3); # Add dummy dimension of order 3
# modifiers are specified in a ;-separated trailing block
$a($a!=3;?)++; # short for $a->where($a!=3)++
$a(0:1114;_) .= 0; # short for $a->flat->(0:1114)
$b = $a(0:-1:3;|); # short for $a(0:-1:3)->sever
$n = sequence 3,1,4,1;
$b = $n(;-); # drop all dimensions of size 1 (AKA squeeze)
$b = $n(0,0;-|); # squeeze *and* sever
$c = $a(0,3,0;-); # more compact way of saying $a((0),(3),(0))
# Use with perldl versions < v1.31 (or include these lines in .perldlrc)
perldl> use PDL::NiceSlice;
# next one is required, see below
perldl> $PERLDL::PREPROCESS = &PDL::NiceSlice::perldlpp;
perldl> $a(4:5) .= xvals(2);
Slicing is a basic, extremely common operation, and PDLs slice method would be cumbersome to use in many cases. PDL::NiceSlice rectifies that by incorporating new slicing syntax directly into the language via a perl source filter (see the perlfilter man page). NiceSlice adds no new functionality, only convenient syntax.
NiceSlice is loaded automatically in the perldl shell, but (to avoid conflicts with other modules) must be loaded automatically in standalone perl/PDL scripts (see below). If you prefer not to use a prefilter on your standalone scripts, you can use the slice method in those scripts, rather than the more compact NiceSlice constructs.
<<lessSYNOPSYS
use PDL::NiceSlice;
$a(1:4) .= 2; # concise syntax for ranges
print $b((0),1:$end); # use variables in the slice expression
$a->xchg(0,1)->(($pos-1)) .= 0; # default method syntax
$idx = long 1, 7, 3, 0; # a piddle of indices
$a(-3:2:2,$idx) += 3; # mix explicit indexing and ranges
$a->clump(1,2)->(0:30); # default method syntax
$a(myfunc(0,$var),1:4)++; # when using functions in slice expressions
# use parentheses around args!
$b = $a(*3); # Add dummy dimension of order 3
# modifiers are specified in a ;-separated trailing block
$a($a!=3;?)++; # short for $a->where($a!=3)++
$a(0:1114;_) .= 0; # short for $a->flat->(0:1114)
$b = $a(0:-1:3;|); # short for $a(0:-1:3)->sever
$n = sequence 3,1,4,1;
$b = $n(;-); # drop all dimensions of size 1 (AKA squeeze)
$b = $n(0,0;-|); # squeeze *and* sever
$c = $a(0,3,0;-); # more compact way of saying $a((0),(3),(0))
# Use with perldl versions < v1.31 (or include these lines in .perldlrc)
perldl> use PDL::NiceSlice;
# next one is required, see below
perldl> $PERLDL::PREPROCESS = &PDL::NiceSlice::perldlpp;
perldl> $a(4:5) .= xvals(2);
Slicing is a basic, extremely common operation, and PDLs slice method would be cumbersome to use in many cases. PDL::NiceSlice rectifies that by incorporating new slicing syntax directly into the language via a perl source filter (see the perlfilter man page). NiceSlice adds no new functionality, only convenient syntax.
NiceSlice is loaded automatically in the perldl shell, but (to avoid conflicts with other modules) must be loaded automatically in standalone perl/PDL scripts (see below). If you prefer not to use a prefilter on your standalone scripts, you can use the slice method in those scripts, rather than the more compact NiceSlice constructs.
Download (2.1MB)
Added: 2007-06-29 License: Perl Artistic License Price:
847 downloads
PDL::Transform 2.4.3
PDL::Transform is a Perl module that coordinate transforms, image warping, and N-D functions. more>>
PDL::Transform is a Perl module that coordinate transforms, image warping, and N-D functions.
SYNOPSIS
use PDL::Transform;
my $t = new PDL::Transform:: ( )
$out = $t->apply($in) # Apply transform to some N-vectors (Transform method)
$out = $in->apply($t) # Apply transform to some N-vectors (PDL method)
$im1 = $t->map($im); # Transform image coordinates (Transform method)
$im1 = $im->map($t); # Transform image coordinates (PDL method)
$t2 = $t->compose($t1); # compose two transforms
$t2 = $t x $t1; # compose two transforms (by analogy to matrix mult.)
$t3 = $t2->inverse(); # invert a transform
$t3 = !$t2; # invert a transform (by analogy to logical "not")
PDL::Transform is a convenient way to represent coordinate transformations and resample images. It embodies functions mapping R^N -> R^M, both with and without inverses. Provision exists for parametrizing functions, and for composing them. You can use this part of the Transform object to keep track of arbitrary functions mapping R^N -> R^M with or without inverses.
The simplest way to use a Transform object is to transform vector data between coordinate systems. The apply method accepts a PDL whose 0th dimension is coordinate index (all other dimensions are threaded over) and transforms the vectors into the new coordinate system.
Transform also includes image resampling, via the map method. You define a coordinate transform using a Transform object, then use it to remap an image PDL. The output is a remapped, resampled image.
You can define and compose several transformations, then apply them all at once to an image. The image is interpolated only once, when all the composed transformations are applied.
In keeping with standard practice, but somewhat counterintuitively, the map engine uses the inverse transform to map coordinates FROM the destination dataspace (or image plane) TO the source dataspace; hence PDL::Transform keeps track of both the forward and inverse transform.
For terseness and convenience, most of the constructors are exported into the current package with the name t_ , so the following (for example) are synonyms:
$t = new PDL::Transform::Radial(); # Long way
$t = t_radial(); # Short way
Several math operators are overloaded, so that you can compose and invert functions with expression syntax instead of method syntax (see below).
<<lessSYNOPSIS
use PDL::Transform;
my $t = new PDL::Transform:: ( )
$out = $t->apply($in) # Apply transform to some N-vectors (Transform method)
$out = $in->apply($t) # Apply transform to some N-vectors (PDL method)
$im1 = $t->map($im); # Transform image coordinates (Transform method)
$im1 = $im->map($t); # Transform image coordinates (PDL method)
$t2 = $t->compose($t1); # compose two transforms
$t2 = $t x $t1; # compose two transforms (by analogy to matrix mult.)
$t3 = $t2->inverse(); # invert a transform
$t3 = !$t2; # invert a transform (by analogy to logical "not")
PDL::Transform is a convenient way to represent coordinate transformations and resample images. It embodies functions mapping R^N -> R^M, both with and without inverses. Provision exists for parametrizing functions, and for composing them. You can use this part of the Transform object to keep track of arbitrary functions mapping R^N -> R^M with or without inverses.
The simplest way to use a Transform object is to transform vector data between coordinate systems. The apply method accepts a PDL whose 0th dimension is coordinate index (all other dimensions are threaded over) and transforms the vectors into the new coordinate system.
Transform also includes image resampling, via the map method. You define a coordinate transform using a Transform object, then use it to remap an image PDL. The output is a remapped, resampled image.
You can define and compose several transformations, then apply them all at once to an image. The image is interpolated only once, when all the composed transformations are applied.
In keeping with standard practice, but somewhat counterintuitively, the map engine uses the inverse transform to map coordinates FROM the destination dataspace (or image plane) TO the source dataspace; hence PDL::Transform keeps track of both the forward and inverse transform.
For terseness and convenience, most of the constructors are exported into the current package with the name t_ , so the following (for example) are synonyms:
$t = new PDL::Transform::Radial(); # Long way
$t = t_radial(); # Short way
Several math operators are overloaded, so that you can compose and invert functions with expression syntax instead of method syntax (see below).
Download (2.1MB)
Added: 2007-07-03 License: Perl Artistic License Price:
847 downloads
Prima::TextView 1.20
Prima::TextView is a rich text browser widget. more>>
Prima::TextView is a rich text browser widget.
Prima::TextView accepts blocks of formatted text, and provides basic functionality - scrolling and user selection. The text strings are stored as one large text chunk, available by the ::text and ::textRef properties. A block of a formatted text is an array with fixed-length header and the following instructions.
A special package tb:: provides the block constants and simple functions for text block access.
Capabilities
Prima::TextView is mainly the text block functions and helpers. It provides function for wrapping text block, calculating block dimensions, drawing and converting coordinates from (X,Y) to a block position. Prima::TextView is centered around the text functionality, and although any custom graphic of arbitrary complexity can be embedded in a text block, the internal coordinate system is used ( TEXT_OFFSET, BLOCK ), where TEXT_OFFSET is a text offset from the beginning of a block and BLOCK is an index of a block.
The functionality does not imply any text layout - this is up to the class descendants, they must provide they own layout policy. The only policy Prima::TextView requires is that blocks BLK_TEXT_OFFSET field must be strictly increasing, and the block text chunks must not overlap. The text gaps are allowed though.
A text block basic drawing function includes change of color, backColor and font, and the painting of text strings. Other types of graphics can be achieved by supplying custom code.
<<lessPrima::TextView accepts blocks of formatted text, and provides basic functionality - scrolling and user selection. The text strings are stored as one large text chunk, available by the ::text and ::textRef properties. A block of a formatted text is an array with fixed-length header and the following instructions.
A special package tb:: provides the block constants and simple functions for text block access.
Capabilities
Prima::TextView is mainly the text block functions and helpers. It provides function for wrapping text block, calculating block dimensions, drawing and converting coordinates from (X,Y) to a block position. Prima::TextView is centered around the text functionality, and although any custom graphic of arbitrary complexity can be embedded in a text block, the internal coordinate system is used ( TEXT_OFFSET, BLOCK ), where TEXT_OFFSET is a text offset from the beginning of a block and BLOCK is an index of a block.
The functionality does not imply any text layout - this is up to the class descendants, they must provide they own layout policy. The only policy Prima::TextView requires is that blocks BLK_TEXT_OFFSET field must be strictly increasing, and the block text chunks must not overlap. The text gaps are allowed though.
A text block basic drawing function includes change of color, backColor and font, and the painting of text strings. Other types of graphics can be achieved by supplying custom code.
Download (1.4MB)
Added: 2006-07-31 License: Perl Artistic License Price:
1183 downloads
Grid::Transform 0.02
Grid::Transform is a Perl module with fast grid transformations. more>>
Grid::Transform is a Perl module with fast grid transformations.
SYNOPSIS
use Grid::Transform;
$g = Grid::Transform->new([a..o], rows=>5);
$g->rotate_270->flip_vertical;
print join( , $g->grid), "n";
The Grid::Transform module provides fast methods to transform a grid of arbitrary data types.
METHODS
$g = Grid::Transform->new( @grid, rows=>num, columns=>num )
Creates a new Grid::Transform object. The first argument is a reference to a 1-dimensional array representing a 2-dimensional "row major" (row by row) grid. (A column major grid is simply the counter transpose of a row major one.) The grid may be composed of arbitrary data types. The original array is never modified- all transformations operate on a copy.
At least one dimension must be specified. If the grid and dimensions do not produce a rectangular grid extra empty elements ("") will be added to the grid.
$g2 = $g->copy
Returns a copy of the original Grid::Transform object.
These methods get or set the grid attributes:
@grid = $g->grid
$grid = $g->grid
@grid = $g->grid( @grid )
In list context, returns an array representing the current grid. In scalar context, returns a reference to the array. Accepts an array reference representing a new grid. The new grid will be resized if the dimensions of the previous grid do not match.
$g->rows
$g->rows( $num )
Returns the current number of rows.
$g->columns
$g->cols
$g->columns( $num )
Returns the current number of columns.
All transform methods return the Grid::Transform object, so transforms can be chained.
$g->rotate_90
$g->rotate90
Rotates the grid 90 degrees clock-wise.
a b c d e f g h i j k l a b c d i e a
| e f g h -> j f b
i e a j f b k g c l h d i j k l k g c
l h d
$g->rotate_180
$g->rotate180
Rotates the grid 180 degrees clock-wise.
a b c d e f g h i j k l a b c d l k j i
| e f g h -> h g f e
l k j i h g f e d c b a i j k l d c b a
$g->rotate_270
$g->rotate270
Rotates the grid 270 degrees clock-wise.
a b c d e f g h i j k l a b c d d h l
| e f g h -> c g k
d h l c g k b f j a e i i j k l b f j
a e i
$g->flip_horizontal
$g->mirror_horizontal
Flips the grid across the horizontal axis.
a b c d e f g h i j k l a b c d i j k l
| e f g h -> e f g h
i j k l e f g h a b c d i j k l a b c d
$g->flip_vertical
$g->mirror_vertical
Flips the grid across the vertical axis.
a b c d e f g h i j k l a b c d d c b a
| e f g h -> h g f e
d c b a h g f e l k j i i j k l l k j i
$g->transpose
Flips the grid across the vertical axis and then rotates it 90 degress clock-wise.
a b c d e f g h i j k l a b c d l h d
| e f g h -> k g c
l h d k g c j f b i e a i j k l j f b
i e a
$g->counter_transpose
$g->countertranspose
Flips the grid across the horizontal axis and then rotates it 90 degrees clock-wise.
a b c d e f g h i j k l a b c d a e i
| e f g h -> b f j
a e i b f j c g k d h l i j k l c g k
d h l
$g->fold_right
Folds the columns to the right.
a b c d e f g h i j k l a b c d b c d a
| e f g h -> f g e h
b c a d f g e h j k i l i j k l j k i l
$g->fold_left
Folds the columns to the left.
a b c d e f g h i j k l a b c d d a c b
| e f g h -> h e g f
d a c b h e g f l i k j i j k l l i k j
<<lessSYNOPSIS
use Grid::Transform;
$g = Grid::Transform->new([a..o], rows=>5);
$g->rotate_270->flip_vertical;
print join( , $g->grid), "n";
The Grid::Transform module provides fast methods to transform a grid of arbitrary data types.
METHODS
$g = Grid::Transform->new( @grid, rows=>num, columns=>num )
Creates a new Grid::Transform object. The first argument is a reference to a 1-dimensional array representing a 2-dimensional "row major" (row by row) grid. (A column major grid is simply the counter transpose of a row major one.) The grid may be composed of arbitrary data types. The original array is never modified- all transformations operate on a copy.
At least one dimension must be specified. If the grid and dimensions do not produce a rectangular grid extra empty elements ("") will be added to the grid.
$g2 = $g->copy
Returns a copy of the original Grid::Transform object.
These methods get or set the grid attributes:
@grid = $g->grid
$grid = $g->grid
@grid = $g->grid( @grid )
In list context, returns an array representing the current grid. In scalar context, returns a reference to the array. Accepts an array reference representing a new grid. The new grid will be resized if the dimensions of the previous grid do not match.
$g->rows
$g->rows( $num )
Returns the current number of rows.
$g->columns
$g->cols
$g->columns( $num )
Returns the current number of columns.
All transform methods return the Grid::Transform object, so transforms can be chained.
$g->rotate_90
$g->rotate90
Rotates the grid 90 degrees clock-wise.
a b c d e f g h i j k l a b c d i e a
| e f g h -> j f b
i e a j f b k g c l h d i j k l k g c
l h d
$g->rotate_180
$g->rotate180
Rotates the grid 180 degrees clock-wise.
a b c d e f g h i j k l a b c d l k j i
| e f g h -> h g f e
l k j i h g f e d c b a i j k l d c b a
$g->rotate_270
$g->rotate270
Rotates the grid 270 degrees clock-wise.
a b c d e f g h i j k l a b c d d h l
| e f g h -> c g k
d h l c g k b f j a e i i j k l b f j
a e i
$g->flip_horizontal
$g->mirror_horizontal
Flips the grid across the horizontal axis.
a b c d e f g h i j k l a b c d i j k l
| e f g h -> e f g h
i j k l e f g h a b c d i j k l a b c d
$g->flip_vertical
$g->mirror_vertical
Flips the grid across the vertical axis.
a b c d e f g h i j k l a b c d d c b a
| e f g h -> h g f e
d c b a h g f e l k j i i j k l l k j i
$g->transpose
Flips the grid across the vertical axis and then rotates it 90 degress clock-wise.
a b c d e f g h i j k l a b c d l h d
| e f g h -> k g c
l h d k g c j f b i e a i j k l j f b
i e a
$g->counter_transpose
$g->countertranspose
Flips the grid across the horizontal axis and then rotates it 90 degrees clock-wise.
a b c d e f g h i j k l a b c d a e i
| e f g h -> b f j
a e i b f j c g k d h l i j k l c g k
d h l
$g->fold_right
Folds the columns to the right.
a b c d e f g h i j k l a b c d b c d a
| e f g h -> f g e h
b c a d f g e h j k i l i j k l j k i l
$g->fold_left
Folds the columns to the left.
a b c d e f g h i j k l a b c d d a c b
| e f g h -> h e g f
d a c b h e g f l i k j i j k l l i k j
Download (0.036MB)
Added: 2007-05-18 License: Perl Artistic License Price:
890 downloads
PDL::Primitive 2.4.3
PDL::Primitive Perl module contains primitive operations for pdl. more>>
PDL::Primitive Perl module contains primitive operations for pdl.
This module provides some primitive and useful functions defined using PDL::PP and able to use the new indexing tricks.
See PDL::Indexing for how to use indices creatively. For explanation of the signature format, see PDL::PP.
Inner product over one dimension
c = sum_i a_i * b_i
, BadDoc => If a() * b() contains only bad data, c() is set bad. Otherwise c() will have its bad flag cleared, as it will not contain any bad values., ); # pp_def( inner )
pp_def( outer, HandleBad => 1, Pars => a(n); b(m); [o]c(n,m);, Code => loop(n,m) %{ $c() = $a() * $b(); %}, BadCode => loop(n,m) %{ if ( $ISBAD(a()) || $ISBAD(b()) ) { $SETBAD(c()); } else { $c() = $a() * $b(); } %}, Doc => =for ref
outer product over one dimension
Naturally, it is possible to achieve the effects of outer product simply by threading over the "*" operator but this function is provided for convenience.
); # pp_def( outer )
pp_addpm( $c = pdl([[3],[4]]); # A column vector
perldl> $c = pdl(3,4)->(*1); # A column vector, using NiceSlice
perldl> $m = pdl([[1,2],[3,4]]); # A 2x2 matrix
Now that we have a few objects prepared, here is how to matrix-multiply them:
perldl> print $r x $m # row x matrix = row
[
[ 7 10]
]
perldl> print $m x $r # matrix x row = ERROR
PDL: Dim mismatch in matmult of [2x2] x [2x1]: 2 != 1
perldl> print $m x $c # matrix x column = column
[
[ 5]
[11]
]
perldl> print $m x 2 # Trivial case: scalar mult.
[
[2 4]
[6 8]
]
perldl> print $r x $c # row x column = scalar
[
[11]
]
perldl> print $c x $r # column x row = matrix
[
[3 6]
[4 8]
]
<<lessThis module provides some primitive and useful functions defined using PDL::PP and able to use the new indexing tricks.
See PDL::Indexing for how to use indices creatively. For explanation of the signature format, see PDL::PP.
Inner product over one dimension
c = sum_i a_i * b_i
, BadDoc => If a() * b() contains only bad data, c() is set bad. Otherwise c() will have its bad flag cleared, as it will not contain any bad values., ); # pp_def( inner )
pp_def( outer, HandleBad => 1, Pars => a(n); b(m); [o]c(n,m);, Code => loop(n,m) %{ $c() = $a() * $b(); %}, BadCode => loop(n,m) %{ if ( $ISBAD(a()) || $ISBAD(b()) ) { $SETBAD(c()); } else { $c() = $a() * $b(); } %}, Doc => =for ref
outer product over one dimension
Naturally, it is possible to achieve the effects of outer product simply by threading over the "*" operator but this function is provided for convenience.
); # pp_def( outer )
pp_addpm( $c = pdl([[3],[4]]); # A column vector
perldl> $c = pdl(3,4)->(*1); # A column vector, using NiceSlice
perldl> $m = pdl([[1,2],[3,4]]); # A 2x2 matrix
Now that we have a few objects prepared, here is how to matrix-multiply them:
perldl> print $r x $m # row x matrix = row
[
[ 7 10]
]
perldl> print $m x $r # matrix x row = ERROR
PDL: Dim mismatch in matmult of [2x2] x [2x1]: 2 != 1
perldl> print $m x $c # matrix x column = column
[
[ 5]
[11]
]
perldl> print $m x 2 # Trivial case: scalar mult.
[
[2 4]
[6 8]
]
perldl> print $r x $c # row x column = scalar
[
[11]
]
perldl> print $c x $r # column x row = matrix
[
[3 6]
[4 8]
]
Download (2.1MB)
Added: 2007-06-28 License: Perl Artistic License Price:
848 downloads
Template Numerical Toolkit 1.26
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects. more>>
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects useful for scientific computing in C++.
The toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
<<lessThe toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
Download (0.028MB)
Added: 2006-03-30 License: Public Domain Price:
1308 downloads
Exodus Arcade Game 1.5
Exodus Arcade Game project is a humorous maze-running arcade game with hot graphics. more>>
Exodus Arcade Game project is a humorous maze-running arcade game with hot graphics.
Exodus is an arcade game based on the classic C16 title, Exorcist.
You control Sparkie, a magical star who has been trapped in the Dungeon Dimensions by Wizzbang the Wizard.
Using his special powers, Sparkie can light up the walls of the maze and exorcise the monsters in each room.
Traveling through the maze will bring you to victory and a complete end sequence.
<<lessExodus is an arcade game based on the classic C16 title, Exorcist.
You control Sparkie, a magical star who has been trapped in the Dungeon Dimensions by Wizzbang the Wizard.
Using his special powers, Sparkie can light up the walls of the maze and exorcise the monsters in each room.
Traveling through the maze will bring you to victory and a complete end sequence.
Download (3.1MB)
Added: 2006-11-17 License: Freely Distributable Price:
1075 downloads
Bio::NEXUS::Block 0.67
Bio::NEXUS::Block is a Perl module that provides useful functions for blocks in NEXUS file (parent class). more>>
Bio::NEXUS::Block is a Perl module that provides useful functions for blocks in NEXUS file (parent class).
SYNOPSIS
This module is the super class of all NEXUS block classes. It is not used specifically from a program; in other words, you dont create a new Bio::NEXUS::Block object. Other modules, like AssumptionsBlock, simply inherit subroutines from this module.
Provides a few useful functions for general blocks (to be used by sub-classes).
METHODS
clone
Title : clone
Usage : my $newblock = $block->clone();
Function: clone a block object (shallow)
Returns : Block object
Args : none
get_type
Title : get_type
Usage : print $block->get_type();
Function: Returns a string containing the block type
Returns : type (string)
Args : none
set_ntax
Title : set_ntax
Usage : print $block->set_ntax();
Function: Sets the value of Dimensions:ntax
Returns : none
Args : number of taxa (scalar)
set_dimensions
Title : set_dimensions
Usage : $block->set_dimensions($dimensions);
Function: set a dimensions command
Returns : none
Args : hash content of dimensions command
get_dimensions
Title : get_dimensions
Usage : $block->get_dimensions($attribute);
Function: get a dimensions command
Returns : hash content of dimensions command, or the value for a particular attribute if specified
Args : none, or a string
set_command
Title : set_command
Usage : $block->set_command($command, $content);
Function: Set a command
Returns : none
Args : comand name, and content (string)
set_title
Title : set_title
Usage : $block->set_title($name);
Function: Set the block name
Returns : none
Args : block name (string)
get_title
Title : get_title
Usage : $block->get_title();
Function: Returns a string containing the block title
Returns : name (string)
Args : none
set_link
Title : set_link
Usage : $block->set_link($link_hashref);
Function: Set the block link commands
Returns : none
Args : block link (hash)
add_link
Title : add_link
Usage : $block->add_link($linkname, $title);
Function: add a link command
Returns : none
Args : $link, $title (of another block)
get_link
Title : get_link
Usage : $block->get_link();
Function: Returns a hash containing the block links
Returns : link (hash)
Args : none
set_taxlabels
Title : set_taxlabels
Usage : $block->set_taxlabels($labels);
Function: Set the taxa names
Returns : none
Args : array of taxa names
add_taxlabel
Title : add_taxlabel
Usage : $block->add_taxlabel($label);
Function: add a taxon name
Returns : none
Args : a taxon name
get_taxlabels
Title : get_taxlabels
Usage : $block->get_taxlabels();
Function: Returns an array of taxa labels
Returns : taxa names
Args : none
set_otus
Title : set_otus
Usage : $block->set_otus($otus);
Function: sets the list of OTUs
Returns : none
Args : array of OTUs
get_otus
Title : get_otus
Usage : $block->get_otus();
Function: Returns array of otus
Returns : all otus
Args : none
set_otuset
Title : set_otuset
Usage : $block->set_otuset($otuset);
Function: Set the otus
Returns : none
Args : TaxUnitSet object
get_otuset
Title : get_otuset
Usage : $block->get_otuset();
Function: get the OTUs
Returns : TaxUnitSet object
Args : none
select_otus
Title : select_otus
Usage : $block->select_otus($names);
Function: select a subset of OTUs
Returns : array of OTUs
Args : OTU names
rename_otus
Title : rename_otus
Usage : $block->rename_otus($names);
Function: rename all OTUs
Returns : none
Args : hash of OTU names
set_comments
Title : set_comments
Usage : $block->set_comments($comments);
Function: Set the block comments
Returns : none
Args : block comments (array of strings)
get_comments
Title : get_comments
Usage : $block->get_comments();
Function: Returns block comments
Returns : comments (array of strings)
Args : none
add_comment
Title : add_comment
Usage : $block->add_comment($comment);
Function: add a comment
Returns : none
Args : comment (string)
equals
Name : equals
Usage : $block->equals($another);
Function: compare if two Block objects are equal
Returns : boolean
Args : a Block object
<<lessSYNOPSIS
This module is the super class of all NEXUS block classes. It is not used specifically from a program; in other words, you dont create a new Bio::NEXUS::Block object. Other modules, like AssumptionsBlock, simply inherit subroutines from this module.
Provides a few useful functions for general blocks (to be used by sub-classes).
METHODS
clone
Title : clone
Usage : my $newblock = $block->clone();
Function: clone a block object (shallow)
Returns : Block object
Args : none
get_type
Title : get_type
Usage : print $block->get_type();
Function: Returns a string containing the block type
Returns : type (string)
Args : none
set_ntax
Title : set_ntax
Usage : print $block->set_ntax();
Function: Sets the value of Dimensions:ntax
Returns : none
Args : number of taxa (scalar)
set_dimensions
Title : set_dimensions
Usage : $block->set_dimensions($dimensions);
Function: set a dimensions command
Returns : none
Args : hash content of dimensions command
get_dimensions
Title : get_dimensions
Usage : $block->get_dimensions($attribute);
Function: get a dimensions command
Returns : hash content of dimensions command, or the value for a particular attribute if specified
Args : none, or a string
set_command
Title : set_command
Usage : $block->set_command($command, $content);
Function: Set a command
Returns : none
Args : comand name, and content (string)
set_title
Title : set_title
Usage : $block->set_title($name);
Function: Set the block name
Returns : none
Args : block name (string)
get_title
Title : get_title
Usage : $block->get_title();
Function: Returns a string containing the block title
Returns : name (string)
Args : none
set_link
Title : set_link
Usage : $block->set_link($link_hashref);
Function: Set the block link commands
Returns : none
Args : block link (hash)
add_link
Title : add_link
Usage : $block->add_link($linkname, $title);
Function: add a link command
Returns : none
Args : $link, $title (of another block)
get_link
Title : get_link
Usage : $block->get_link();
Function: Returns a hash containing the block links
Returns : link (hash)
Args : none
set_taxlabels
Title : set_taxlabels
Usage : $block->set_taxlabels($labels);
Function: Set the taxa names
Returns : none
Args : array of taxa names
add_taxlabel
Title : add_taxlabel
Usage : $block->add_taxlabel($label);
Function: add a taxon name
Returns : none
Args : a taxon name
get_taxlabels
Title : get_taxlabels
Usage : $block->get_taxlabels();
Function: Returns an array of taxa labels
Returns : taxa names
Args : none
set_otus
Title : set_otus
Usage : $block->set_otus($otus);
Function: sets the list of OTUs
Returns : none
Args : array of OTUs
get_otus
Title : get_otus
Usage : $block->get_otus();
Function: Returns array of otus
Returns : all otus
Args : none
set_otuset
Title : set_otuset
Usage : $block->set_otuset($otuset);
Function: Set the otus
Returns : none
Args : TaxUnitSet object
get_otuset
Title : get_otuset
Usage : $block->get_otuset();
Function: get the OTUs
Returns : TaxUnitSet object
Args : none
select_otus
Title : select_otus
Usage : $block->select_otus($names);
Function: select a subset of OTUs
Returns : array of OTUs
Args : OTU names
rename_otus
Title : rename_otus
Usage : $block->rename_otus($names);
Function: rename all OTUs
Returns : none
Args : hash of OTU names
set_comments
Title : set_comments
Usage : $block->set_comments($comments);
Function: Set the block comments
Returns : none
Args : block comments (array of strings)
get_comments
Title : get_comments
Usage : $block->get_comments();
Function: Returns block comments
Returns : comments (array of strings)
Args : none
add_comment
Title : add_comment
Usage : $block->add_comment($comment);
Function: add a comment
Returns : none
Args : comment (string)
equals
Name : equals
Usage : $block->equals($another);
Function: compare if two Block objects are equal
Returns : boolean
Args : a Block object
Download (0.15MB)
Added: 2006-12-20 License: Perl Artistic License Price:
1038 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above 2 x 4 dimensions search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed