Main > Free Download Search >

Free dimensional array software for linux

dimensional array

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 885
AVL Array 1.2

AVL Array 1.2


AVL Array is an STL-like container for C++ that fills the gap between vector. more>>
AVL Array is an STL-like container for C++ that fills the gap between vector (or deque) and list, providing both fast random access and fast insertion/removal, all O(log n).
This is not a map; in an avl_array, the "keys" always range from 0 to size-1, and they automatically change on insertion or removal. As a sequence container, like vector and list, it respects the order of elements.
Enhancements:
- documentation
- source reorganized for readability
- compliance with higher standards
- performance improvements
<<less
Download (0.070MB)
Added: 2006-11-22 License: MIT/X Consortium License Price:
1069 downloads
Parallel Three-Dimensional Fast Fourier Transforms 2.1

Parallel Three-Dimensional Fast Fourier Transforms 2.1


Parallel Three-Dimensional Fast Fourier Transforms is a library for computational computing in a wide range of sciences. more>>
Parallel Three-Dimensional Fast Fourier Transforms, dubbed P3DFFT, is a library for computational computing in a wide range of sciences, such as physics, climatology, chemistry.
This project was developed at SDSC by Dmitry Pekurovsky as a product of a Strategic Applications Collaborations (SAC) project.
Main features:
- Parallel implementation with 2D data decomposition, overcoming an important limitation to scalability of other 3D FFT libraries implementing 1D, or slab, decomposition.
- Optimized for parallel communication and single-CPU performance.
- Built on top of well-optimized and flexible 1D FFT libraries.
Enhancements:
- Assorted minor bugfixes and code speedups.
<<less
Download (MB)
Added: 2007-06-07 License: GPL (GNU General Public License) Price:
869 downloads
Tie::OffsetArray 0.01

Tie::OffsetArray 0.01


Tie::OffsetArray can tie one array to another, with index offset. more>>
Tie::OffsetArray can tie one array to another, with index offset.

SYNOPSIS

use Tie::OffsetArray;

tie @a, Tie::OffsetArray, 1, @b; # offset=1; use given array.

tie @c, Tie::OffsetArray, 2; # use anonymous array.

$a[0] = x; # assign to $b[1];

tied(@a)->array->[0] = y; # assign to $b[0].

When tied to this class, an arrays behavior is completely normal. For its internal storage, it uses another array, either one supplied by the caller, or a new anonymous one. Accesses to the tied array are mapped down to the storage array by offsetting the index by some constant amount.

A special method on the tied object returns a reference to the storage array, so that the elements below the offset can be accessed. This is particularly useful if the storage array was not supplied by the caller.

<<less
Download (0.008MB)
Added: 2007-08-10 License: Perl Artistic License Price:
805 downloads
Variable::Strongly::Typed::Array 1.1.0

Variable::Strongly::Typed::Array 1.1.0


Variable::Strongly::Typed::Array is a Perl module for strongly typed array. more>>
Variable::Strongly::Typed::Array is a Perl module for strongly typed array.

SYNOPSIS

This class is utilized by Variable::Strongly::Typed - you dont access this directly

my @array_of_ints :TYPE(int); # Each slot must contain an int
my @array_of_rgb :TYPE(&red_green_blue); # my enumerated type

# ... and later ...

$array_of_ints[23] = 44; # Groovy
$array_of_ints[12] = yah; # croak!

# Return 1 if this val is RED, BLUE, or GREEN
# 0 otherwise
sub red_green_blue {
local $_ = shift;

/A RED z/xms || /A BLUE z/xms || /A GREEN z/xms;
}

$array_of_my_very_own_types[23] = 99; # croak!
$array_of_my_very_own_types[2] = BLUE; # OK!

<<less
Download (0.010MB)
Added: 2007-01-18 License: Perl Artistic License Price:
1009 downloads
JavaArray 4.7

JavaArray 4.7


JavaArray is a tied extension for Java arrays from Java.pm more>>
JavaArray is a tied extension for Java arrays from Java.pm

SYNOPSIS

use Java;

# Set up Java.pm to always return tied array references to me
my $java = new Java(use_tied_arrays => 1);
my $tied_array = $java->create_array("java.lang.String",5);

OR

# Roll my own tied arrays
my @tied_array;
tie @tied_array, JavaArray, $java->create_array("java.lang.String",5);
OR
tie @tied_array, JavaArray, $some_object_that_is_an_array;

// Set array element 3 to "Java is lame"
$tied_array[3] = "Java is lame";

// Get array element 3s value
my $element = $tied_array[3]->get_value();

// Get length
my $length = scalar(@tied_array);
my $size = $#tied_array;

// Use as parameter you gotta pass the reference!
my $list = $java->java_util_Arrays("asList",@tied_array);

// NO OTHER ARRAY OPERATIONS ARE AVAILABLE!
// so no pop or push or unshift or shift or splice
// Hey even this cant make Java arrays cool!
// use the Collections framework!

This module puts a pretty thin veneer over Java.pm objects are are Java arrays. Makes em slightly prettier to play with. You can pass as an agrument to the tie any Java object that is an array - either one you created yourself or one that was returned to you by something else.

You probably should NOT be using this directly, but specify use_tied_arrays in your constructor args to Java.pm.

In parameter lists

If you want to use your array in a parameter list youve got to pass in the REFERENCE to your array or things will go haywire... If you specified use_tied_arrays in your Java.pm constructor then you will only receive references back from Java.pm so youve already got the reference. ONLY if you call tie yourself (& I cant really think of why you ever would... BUT) & get the array itself do you need to take its reference when using it in parameter lists.

Automatic usage

You can tell Java.pm to automatically convert all Java arrays to their tied counterparts by setting use_tied_arrays in your Java constructor. You will get receive a reference to the tied array so you must use the -> notation like:

$array->[3] = "Mark rox";
my $ele = $array->[4];

See perldoc Java.pm for more info. You can then use that value directly in parameter lists.

<<less
Download (0.068MB)
Added: 2007-06-01 License: Perl Artistic License Price:
875 downloads
Numarray 1.4.0

Numarray 1.4.0


Numerical Python adds a fast array facility to the Python language. more>>
Numarray provides array manipulation and computational capabilities similar to those found in IDL, Matlab, or Octave. Using numarray, it is possible to write many efficient numerical data processing applications directly in Python without using any C, C++ or Fortran code (as well as doing such analysis interactively within Python or PyRAF).
For algorithms that are not well suited for efficient computation using array facilities it is possible to write C functions (and eventually Fortran) that can read and write numarray arrays that can be called from Python.
Numarray is a re-implementation of an older Python array module called Numeric. In general its interface is very similar. It is mostly backward compatible and will be becoming more so in future releases. Numarray offers more capability than Numeric but is still behind Numeric in some areas:
numarray is efficient for large arrays (>20,000 elements) but is slower than Numeric for small arrays by a factor of 2 to 4.
numarray has a smaller selection of addon packages. numarray currently has ports of Numeric packages for linear algebra, random numbers, and fourier transforms. numarray has native packages for convolution and multi-dimensional image processing. Most Numeric extensions (C or Fortran) can be ported to numarray with minimal effort.
numarray is sufficiently developed to be useful for a number of applications, and is being used in the Hubble Space Telescope data processing pipeline (for the Advanced Camera for Surveys) and to develop the Cosmic Origins Spectrograph pipeline. PyFITS is also based on it. Most of STScIs future astronomical data processing applications will be built using its capabilities.
Numarray is being developed as an Open Source project on SourceForge from which the current development source code may be obtained. The Science Software Branch at STScI is leading this development effort.
STScI has settled on the matplotlib plotting package as the recommended 2-d data visualization tool for numarray data. While its support for numarray and Tkinter is now present, we are holding off a bit before recommending its use for all users. If you dont mind possible problems with installation or some holes in functionality it can be used now. We are in the process of improving the installation documentation for use with numarray.
Although matplotlib has its heritage in trying to emulate matlab plotting capabilities from Python, it does not require matlab. Currently the documentation is geared towards those more familiar with matlab, though many users will have no problem generating simple plots with it. It is still undergoing considerable development (by the original author, John Hunter, and with contributions by STScI and others) and we hope to fill the holes in functionality in the coming months. Nevertheless, it is capable of doing many things now.
Enhancements:
ENHANCEMENTS
- Speed improvement for numarray operators. The Python level hook mapping numarray operators onto universal functions has been moved down to C.
- Speed improvement for string-array comparisons, any(), all(). String correlation is ~10x faster.
- Better operation with py2exe to help it automatically detect the core numarray extensions to include in an installer.
- scipy newcore compatible lower case type names (e.g. int32 not Int32)
- scipy newcore dtype keyword and .dtypechar attribute.
BUGS FIXED / CLOSED
- 1323355 Apps fail with import_libnumarray
- 1315212 Infinite loop converting some scalar strings into a list
- 1298916 rank-0 tostring() broken
- 1297948 records.array fails to create empty fields
- 1286291 import sys missing from array_persist.py
- 1286168 Generic sequences in ``strings.array()``
- 1236392 Outdated web link in announcements
- 1235219 LinearAlgebraError not imported in linear_algebra
<<less
Download (1.1MB)
Added: 2005-10-27 License: GPL (GNU General Public License) Price:
1459 downloads
Tie::FlatFile::Array 0.03

Tie::FlatFile::Array 0.03


Tie::FlatFile::Array is a Perl extension which treats a flatfile database as an array of arrays. more>>
Tie::FlatFile::Array is a Perl extension which treats a flatfile database as an array of arrays.

This module allows the programmer to treat a flatfile database as as array of arrays. For example, lets say you have a datafile that has fixed-length records like so:

Field-name Type
URL ASCII characters, length 30
Referals Integer, 4 bytes, binary in network order

If you were going to use pack to create a record like this, youd use a format string of A30N. Since Tie::FlatFile::Array does the packing and unpacking behind the scenes, you would use that pack format string in the call to tie:

tie @flat, Tie::FlatFile::Array, data.file,
O_RDWR | O_CREAT, 0644, { packformat => A30N }
or die("Tie failure: $!");

To insert an item into the data file, you would assign an array reference to one of the arrays elements like so:

$flat[0] = [ www.yahoo.com, 3601 ];

<<less
Download (0.005MB)
Added: 2007-03-30 License: GPL (GNU General Public License) Price:
938 downloads
Set::Array 0.14

Set::Array 0.14


Set::Array Perl module contains arrays as objects with lots of handy methods and support for method chaining. more>>
Set::Array Perl module contains arrays as objects with lots of handy methods (including Set comparisons) and support for method chaining.

SYNOPSIS

my $sao1 = Set::Array->new(1,2,4,"hello",undef);
my $sao2 = Set::Array->new(qw(a b c a b c));
print $sao1->length; # prints 5
$sao2->unique->length->print; # prints 3

Set::Array allows you to create arrays as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.

The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.

OBJECT BEHAVIOR

The exact behavior of the methods depends largely on the calling context.
Here are the rules:

* If a method is called in void context, the object itself is modified.
* If the method called is not the last method in a chain (i.e. its called in object context), the object itself is modified by that method regardless of the final context or method call.
* If a method is called in list or scalar context, a list or list refererence is returned, respectively. The object itself is NOT modified.

Heres a quick example:

my $sao = Set::Array->new(1,2,3,2,3);
my @uniq = $sao->unique(); # Object unmodified. @uniq contains 3 values.
$sao->unique(); # Object modified, now contains 3 values

Here are the exceptions:

* Methods that report a value, such as boolean methods like exists() or other methods such as at() or as_hash(), never modify the object.
* The methods clear(), delete(), delete_at(), and splice will always modify the object. It seemed much too counterintuitive to call these methods in any context without actually deleting/clearing/substituting the items!
* The methods shift() and pop() will modify the object AND return the value that was shifted or popped from the array. Again, it seemed much too counterintuitive for something like $val = $sao->shift to return a value while leaving the objects list unchanged. If you really want the first or last value without modifying the object, you can always use the first() or last() method, respectively.
* The join() method always returns a string and is really meant for use in conjunction with the print() method.

BOOLEAN METHODS

exists(val) - Returns 1 if val exists within the array, 0 otherwise. If no value (or undef) is passed, then this method will test for the existence of undefined values within the array.
is_empty() - Returns 1 if the array is empty, 0 otherwise. Empty is defined as having a length of 0.

STANDARD METHODS

at(index) - Returns the item at the given index (or undef). A negative index may be used to count from the end of the array. If no value (or undef) is specified, it will look for the first item that is not defined.

clear() - Empties the array (i.e. length becomes 0). You may pass a 1 to this method to set each element of the array to undef rather than truly empty it.

compact() - Removes undefined elements from the array.

count(?val?) - Returns the number of instances of val within the array. If val is not specified (or is undef), the method will return the number of undefined values within the array.

delete(list) - Deletes all items within list from the array that match. This method will crash if list is not defined. If your goal is to delete undefined values from your object, use the compact() method instead.

delete_at(index, ?index?) - Deletes the item at the specified index. If a second index is specified, a range of items is deleted. You may use -1 or the string end to refer to the last element of the array.

duplicates - Returns a list of N-1 elements for each element N in the set. For example, if you have set "X X Y Y Y", this method would return a the list "X Y Y".

fill(val,?start?,?length?) - Sets the selected elements of the array (which may be the entire array) to val. The default value for start is 0. If length is not specified the entire array, however long it may be at the time of the call, will be filled. Alternatively, a quoted integer range may be used.

e.g. $sao->fill(x,3-5);

The array length/size may not be expanded with this call - it is only meant to fill in already-existing elements.

first() - Returns the first element of the array (or undef).

flatten() - Causes a one-dimensional flattening of the array, recursively. That is, for every element that is an array (or hash, or a ref to either an array or hash), extract its elements into the array.

e.g. my $sa = Set::Array->new([1,3,2],{one=>a,two=>b},x,y,z);

$sao->flatten->join(,)->print; # prints "1,3,2,one,a,two,b,x,y,z"

foreach(sub ref) - Iterates over an array, executing the subroutine for each element in the array. If you wish to modify or otherwise act directly on the contents of the array, use $_ within your sub reference.

e.g. To increment all elements in the array by one...

$sao->foreach(sub{ ++$_ });

get - Alias for the indices() method.

index(val) - Returns the index of the first element of the array object that contains val. Returns undef if no value is found.

Note that there is no dereferencing here so if youre looking for an item nested within a ref, use the flatten method first.

indices(val1,?val2?, ?val...?) - Returns an array consisting of the elements at the specified indices or undef if the element is out of range.

A range may also be used. It must be a quoted string in 0..3 format.

join(?char?) - Joins the individual elements of the list into a single string with the elements separated by the value of char. Useful in conjunction with the print() method. If no character is specified, then char defaults to a comma.

e.g. $sao->join(-)->print;

last() - Returns the last element of the array (or undef).

length() - Returns the number of elements within the array.

max() - Returns the maximum value of an array. No effort is made to check for non-numeric data.

pack(template) - Packs the contents of the array into a string (in scalar context) or a single array element (in object or void context).

pop() - Removes the last element from the array. Returns the popped element.

print(?1?) - Prints the contents of the array. If a 1 is provided as an argument, the output will automatically be terminated with a newline.

This also doubles as a contents method, if you just want to make a copy of the array, e.g. my @copy = $sao->print;

Can be called in void or list context, e.g.

$sao->print(); # or... print "Contents of array are: ", $sao->print();

push(list) - Adds list to the end of the array, where list is either a scalar value or a list. Returns an array or array reference in list or scalar context, respectively. Note that it does not return the length in scalar context. Use the length method for that.

reverse() - Reverses the order of the contents of the array.

rindex(val) - Similar to the index() method, except that it returns the index of the last val found within the array.

set(index,value) - Sets the element at index to value, replacing whatever may have already been there.

shift() - Shifts the first element of the array and returns the shifted element.

sort(?coderef?) - Sorts the contents of the array in alphabetical order, or in the order specified by the optional coderef. Use your standard $a and $b variables within your calling program, e.g:

my $sao = Set::Array->new( { name => Berger, salary => 20000 }, { name => Berger, salary => 15000 }, { name => Vera, salary => 25000 }, );
my $subref = sub{ $b->{name} cmp $a->{name} || $b->{salary} $a->{salary} };
$sao14->sort($subref)->flatten->join->print(1);

splice(?offset?,?length?,?list?) - Splice the array starting at position offset up to length elements, and replace them with list. If no list is provided, all elements are deleted. If length is omitted, everything from offset onward is removed.

Returns an array or array ref in list or scalar context, respectively. This method always modifies the object, regardless of context. If your goal was to grab a range of values without modifying the object, use the indices method instead.

unique() - Removes/returns non-unique elements from the list.

unshift(list) - Prepends a scalar or list to array. Note that this method returns an array or array reference in list or scalar context, respectively. It does not return the length of the array in scalar context. Use the length method for that.

ODDBALL METHODS

as_hash() - Returns a hash based on the current array, with each even numbered element (including 0) serving as the key, and each odd element serving as the value. This can be switched by using the key_order option and setting it to odd, in which case the even values serve as the values, and the odd elements serve as the keys. The default is even.

Of course, if you dont care about insertion order, you could just as well do something like, $sao-reverse->as_hash;>

Carp::croaks if the array contains an odd number of elements. This method does not actually modify the object itself in any way. It just returns a plain hash in list context or a hash reference in scalar context. The reference is not blessed, therefore if this method is called as part of a chain, it must be the last method called.

impose(?append/prepend?,string) - Appends or prepends the specified string to each element in the array. Specify the method by using either the keyword append or prepend. The default is append.

randomize() - Randomizes the order of the elements within the array.

rotate(direction) - Moves the last item of the list to the front and shifts all other elements one to the right, or vice-versa, depending on what you pass as the direction - ftol (first to last) or ltof (last to first). The default is ltof.

e.g. my $sao = Set::Array->new(1,2,3);

$sao->rotate(); # order is now 3,1,2

$sao->rotate(ftol); # order is back to 1,2,3

<<less
Download (0.023MB)
Added: 2007-07-23 License: Perl Artistic License Price:
823 downloads
dimnum 1.16

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.
<<less
Download (0.18MB)
Added: 2006-07-28 License: GPL (GNU General Public License) Price:
1186 downloads
RDF::Simple::Parser 0.3

RDF::Simple::Parser 0.3


RDF::Simple::Parser is a simple RDF/XML parser that reads a string containing RDF in XML. more>>
RDF::Simple::Parser is a simple RDF/XML parser that reads a string containing RDF in XML.

SYNOPSIS

my $uri = http://www.zooleika.org.uk/bio/foaf.rdf;
my $rdf = LWP::Simple::get($uri);

my $parser = RDF::Simple::Parser->new(base => $uri)
my @triples = $parser->parse_rdf($rdf);

# returns an array of array references which are triples

<<less
Download (0.017MB)
Added: 2006-09-20 License: Perl Artistic License Price:
1129 downloads
Tie::Array::PackedC 0.03

Tie::Array::PackedC 0.03


Tie::Array::PackedC is a Tie a Perl array to a C-style array (packed; elements of a single, simple data type). more>>
Tie::Array::PackedC is a tie a Perl array to a C-style array (packed; elements of a single, simple data type).

SYNOPSIS

use Tie::Array::PackedC qw(packed_array packed_array_string);
my $ref=packed_array(1,2,3,4);
my $ref2=packed_array_string(my $s,1,2,3,4);

use Tie::Array::PackedC Double=>d;
tie my @array,Tie::Array::PackedC::Double,1..10;
$array[0]=1.141;

Provides a perl array interface into a string containing a C style array. In other words the string is equivelent to the string that would be returned from the equivelent pack command (defaulting to pack type "l!") using a normal array of the same values. Eg:

my @foo=(1..10);
my $string=pack "l!*",@foo;

leaves $string in basically the same condition as

my (@foo,$string);
tie @foo,Tie::Array::PackedC,$string,1..10;

Its only basically the same and not exactly the same because the tie version may be longer due to preallocation.

<<less
Download (0.006MB)
Added: 2006-06-15 License: Perl Artistic License Price:
1226 downloads
CPQ Array Daemon 1.2

CPQ Array Daemon 1.2


CPQ Array Daemon project keeps on monitoring your controller and checks for abnormal conditions. more>>
CPQ Array Daemon project keeps on monitoring your controller and checks for abnormal conditions. By default is only reports to the syslogs, but you can make it send SNMP Traps to selected hosts.

This tool can run on a linux based intel box with a smart array controller from Compaq. It reports status changes in the disks both to the syslog and to a snmp trap host.

The default is to only log to the syslog. You can specify traphosts with the -t parameter at the commandline. Multiple traphosts are allowed. It checks for valid input, but any errors are non-fatal, in fact the traphost is just ignored..

To ensure correct opereration compile it for the same kernel that runs on the machine where you want to use this. At least make sure that the version of the SmartArray driver is the same. Strange things can happen otherwise.

Installation:

The simplest way to compile this package is:

1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.

Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.

2. Type `make to compile the package.

3. Optionally, type `make check to run any self-tests that come with the package.

4. Type `make install to install the programs and any data files and documentation.

5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.

<<less
Download (0.092MB)
Added: 2007-06-26 License: GPL (GNU General Public License) Price:
851 downloads
Array-util 1.0

Array-util 1.0


Array-util is a small tool to get some information from a SmartArray controller. more>>
Array-util project was tested on: It gives you an overview of all logical and physical drives, including basic information on sizes etc. It is supposed to become a configuration tool in the future. Note that it only works with SmartArray driver version 1.0.1+
Array-util project was tested on:
- Compaq Proliant 2500 with SmartArray 2DH
- Compaq Proliant 1600 with SmartArray 2DH
- Compaq Proliant ML350 with an additional Smart Array 431-Controller (thanks to Christian Bauer)
- Compaq Proliant DL380 with Internal SmartArray controller (thanks to Jason Sturgeon)
- Compaq Proliant ML370 with Integrated SmartArray (thanks to Brian Rossmeisl)
- Compaq Proliant 5500 with a SmartArray 3200 (thanks to Andrew A. Neuschwander)
- Compaq Proliant 1850R with a SmartArray 3200 (thanks to Brian Towles)
- Compaq Proliant 6400R with a SmartArray 3200 (thanks to Brian Towles)
- Compaq Proliant 3000 with a SmartArray 3200 (thanks to Brian Towles)
- Compaq Proliant DL580 with two SmartArray 4200 (thanks to Dietmar Stein)
Known bugs:
Array-util: Blinking is not working on a DL380.
Array-util: Hotspares are not listed in array-util.
Array-util: There is no progess indicator of the rebuild process.
<<less
Download (0.021MB)
Added: 2007-06-26 License: GPL (GNU General Public License) Price:
855 downloads
PDL::Impatient 2.4.3

PDL::Impatient 2.4.3


PDL::Impatient is a PDL for the impatient. more>>
PDL::Impatient is a PDL for the impatient.

SYNOPSIS

A brief summary of the main PDL features and how to use them.

Perl is an extremely good and versatile scripting language, well suited to beginners and allows rapid prototyping. However until recently it did not support data structures which allowed it to do fast number crunching.

However with the development of Perl v5, Perl acquired Objects. To put it simply users can define their own special data types, and write custom routines to manipulate them either in low level languages (C and Fortran) or in Perl itself.

This has been fully exploited by the PerlDL developers. The PDL module is a complete Object-Oriented extension to Perl (although you dont have to know what an object is to use it) which allows large N-dimensional data sets, such as large images, spectra, time series, etc to be stored efficiently and manipulated en masse. For example with the PDL module we can write the perl code $a=$b+$c, where $b and $c are large datasets (e.g. 2048x2048 images), and get the result in only a fraction of a second.

PDL variables (or piddles as they have come to be known) support a wide range of fundamental data types - arrays can be bytes, short integers (signed or unsigned), long integers, floats or double precision floats. And because of the Object-Oriented nature of PDL new customised datatypes can be derived from them.

As well as the PDL modules, that can be used by normal perl programs, PerlDL comes with a command line perl shell, called perldl, which supports command line editing. In combination with the various PDL graphics modules this allows data to be easily played with and visualised.

<<less
Download (2.1MB)
Added: 2007-06-29 License: Perl Artistic License Price:
847 downloads
Tie::File 0.96

Tie::File 0.96


Tie::File can access the lines of a disk file via a Perl array. more>>
Tie::File can access the lines of a disk file via a Perl array.

SYNOPSIS

# This file documents Tie::File version 0.96
use Tie::File;

tie @array, Tie::File, filename or die ...;

$array[13] = blah; # line 13 of the file is now blah
print $array[42]; # display line 42 of the file

$n_recs = @array; # how many records are in the file?
$#array -= 2; # chop two records off the end


for (@array) {
s/PERL/Perl/g; # Replace PERL with Perl everywhere in the file
}

# These are just like regular push, pop, unshift, shift, and splice
# Except that they modify the file in the way you would expect

push @array, new recs...;
my $r1 = pop @array;
unshift @array, new recs...;
my $r2 = shift @array;
@old_recs = splice @array, 3, 7, new recs...;

untie @array; # all finished

Tie::File represents a regular text file as a Perl array. Each element in the array corresponds to a record in the file. The first line of the file is element 0 of the array; the second line is element 1, and so on.

The file is not loaded into memory, so this will work even for gigantic files. Changes to the array are reflected in the file immediately. Lazy people and beginners may now stop reading the manual.

<<less
Download (0.066MB)
Added: 2006-06-12 License: Perl Artistic License Price:
1229 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5