dim
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 21
Dim 0.5.2
Dim provides you a free, yet full-featured and easy-to-use distributed versioning tool. more>> Dim 0.5.2 provides you a free, yet full-featured and easy-to-use distributed versioning tool. Similar in some aspects to git, darcs, or mercurial, however much smaller and simpler. The Dim tool also addresses some crucial issues which are ignored by other tools, like multi-items composition or global naming.
Major Features:
- User friendly. Dim provides a version naming service, which is for version control what the DNS is for internet. Versions are stored directly expanded in the filesystem, with common files hardlinked, and are accessible for any tool or purpose.
- Transparent. Versioning metadata are stored entirely outside of item content, avoiding any interference with data. It allows easy coexistence with other tools, but also new possibilities to organize large and complex projects.
- Distributed. Each user hosts its own complete replica of the repository. A simple PHP server agent can be deployed on any HTTP server supporting PHP (most of ISPs).
- Efficient. Only compressed delta between versions are archived and exchanged over the network.
- Safe. Each replica increases robustness. Sha1 checksums are used for integrity checks, and version identification. RSA asymetric encryption is used for version signing and authentication.
- Fast and scalable. Dim leverages the power, the speed and the robustness of the filesytem whenever possible, and uses simple, specialized and fast unix executables, to remain as thin as an application can be.
- Dim is a single self documented POSIX shell script of around 2000 lines. It just uses standard UNIX utilities like awk, diff, tar, and openssl. It should run almost everywhere.
Enhancements:
- Provides support for full archives
- Removal and re-import of versions
- Many internal changes to prepare support of multi-item operations
- Several important bugfixes.
Added: 2009-02-12 License: MIT/X Consortium Lic... Price: FREE
1 downloads
Other version of Dim
PDL::IO::Misc 2.4.3
PDL::IO::Misc is a Perl module with misc IO routines for PDL. more>>
PDL::IO::Misc is a Perl module with misc IO routines for PDL.
rcols()
Read ASCII whitespaced cols from a file into piddles and perl arrays (also see "rgrep()").
There are two calling conventions - the old version, where a pattern can be specified after the filename/handle, and the new version where options are given as as hash reference. This reference can be given as either the second or last argument.
The default behaviour is to ignore lines beginning with a # character and lines that only consist of whitespace. Options exist to only read from lines that match, or do not match, supplied patterns, and to set the types of the created piddles.
Can take file name or *HANDLE, and if no columns are specified, all are assumed. For the allowed types, see "Datatype_conversions" in PDL::Core.
Options:
EXCLUDE or IGNORE - ignore lines matching this pattern (default /^#/).
INCLUDE or KEEP - only use lines which match this pattern (default ).
LINES - which line numbers to use. Line numbers start at 0 and the syntax is a:b:c to use every cth matching line between a and b (default ).
DEFTYPE - default data type for stored data (if not specified, use the type stored in $PDL::IO::Misc::deftype, which starts off as double).
TYPES - reference to an array of data types, one element for each column to be read in. Any missing columns use the DEFTYPE value (default []).
PERLCOLS - an array of column numbers which are to be read into perl arrays rather than piddles. References to these arrays are returned after the requested piddles (default undef).
Usage:
($x,$y,...) = rcols( *HANDLE|"filename", { EXCLUDE => /^!/ },
$col1, $col2, ... )
($x,$y,...) = rcols( *HANDLE|"filename", $col1, $col2, ...,
{ EXCLUDE => /^!/ } )
($x,$y,...) = rcols( *HANDLE|"filename", "/foo/", $col1, $col2, ... )
e.g.,
$x = PDL->rcols file1;
($x,$y) = rcols *STDOUT;
# read in lines containing the string foo, where the first
# example also ignores lines that with a # character.
($x,$y,$z) = rcols file2, 0,4,5, { INCLUDE => /foo/ };
($x,$y,$z) = rcols file2, 0,4,5,
{ INCLUDE => /foo/, EXCLUDE => };
# ignore the first 27 lines of the file, reading in as ushorts
($x,$y) = rcols file3, { LINES => 27:-1, DEFTYPE => ushort };
($x,$y) = rcols file3,
{ LINES => 27:, TYPES => [ ushort, ushort ] };
# read in the first column as a perl array and the next two as piddles
($x,$y,$name) = rcols file4, 1, 2, { PERLCOLS => [ 0 ] };
printf "Number of names read in = %dn", 1 + $#$name;
Notes:
1. Quotes are required on patterns.
2. Columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
3. For PDL-2.003, the meaning of the c value in the LINES option has changed: it now only counts matching lines rather than all lines as in previous versions of PDL.
4. LINES => -1:0:3 may not work as you expect, since lines are skipped when read in, then the whole array reversed.
wcols()
Write ASCII whitespaced cols into file from piddles efficiently.
If no columns are specified all are assumed. Will optionally only process lines matching a pattern. Can take file name or *HANDLE, and if no file/filehandle is given defaults to STDOUT.
Options:
HEADER - prints this string before the data. If the string is not terminated by a newline, one is added (default ).
Usage: wcols $piddle1, $piddle2,..., *HANDLE|"outfile", [%options];
e.g.,
wcols $x, $y+2, foo.dat;
wcols $x, $y+2, *STDERR;
wcols $x, $y+2, |wc;
wcols $a,$b,$c; # Orthogonal version of print $a,$b,$c :-)
wcols "%10.3f", $a,$b; # Formatted
wcols "%10.3f %10.5g", $a,$b; # Individual column formatting
wcols $a,$b, { HEADER => "# a b" };
Note: columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
swcols()
generate string list from sprintf format specifier and a list of piddles
swcols takes an (optional) format specifier of the printf sort and a list of 1d piddles as input. It returns a perl array (or array reference if called in scalar context) where each element of the array is the string generated by printing the corresponding element of the piddle(s) using the format specified. If no format is specified it uses the default print format.
Usage: @str = swcols format, pdl1,pdl2,pdl3,...;
or
$str = swcols format, pdl1,pdl2,pdl3,...;
rgrep()
Read columns into piddles using full regexp pattern matching.
Options:
UNDEFINED: This option determines what will be done for undefined values. For instance when reading a comma-separated file of the type 1,2,,4 where the ,, indicates a missing value.
The default value is to assign $PDL::undefval to undefined values, but if UNDEFINED is set this is used instead. This would normally be set to a number, but if it is set to Bad and PDL is compiled with Badvalue support (see "" in PDL::Bad) then undefined values are set to the appropriate badvalue and the column is marked as bad.
DEFTYPE: Sets the default type of the columns - see the documentation for "rcols()"
TYPES: A reference to a Perl array with types for each column - see the documentation for "rcols()"
BUFFERSIZE: The number of lines to extend the piddle by. It might speed up the reading a little bit by setting this to the number of lines in the file, but in general "rasc()" is a better choice
Usage
($x,$y,...) = rgrep(sub, *HANDLE|"filename")
e.g.
($a,$b) = rgrep {/Foo (.*) Bar (.*) Mumble/} $file;
i.e. the vectors $a and $b get the progressive values of $1, $2 etc.
rdsa()
Read a FIGARO/NDF format file.
Requires non-PDL DSA module. Contact Frossie (frossie@jach.hawaii.edu) Usage:
([$xaxis],$data) = rdsa($file)
$a = rdsa file.sdf
Not yet tested with PDL-1.9X versions
isbigendian()
Determine endianness of machine - returns 0 or 1 accordingly
rasc()
Simple function to slurp in ASCII numbers quite quickly, although error handling is marginal (to nonexistent).
$pdl->rasc("filename"|FILEHANDLE [,$noElements]);
Where:
filename is the name of the ASCII file to read or
open file handle
$noElements is the optional number of elements in the file to read.
(If not present, all of the file will be read to fill up $pdl).
$pdl can be of type float or double for more precision.
# (test.num is an ascii file with 20 numbers. One number per line.)
$in = PDL->null;
$num = 20;
$in->rasc(test.num,20);
$imm = zeroes(float,20,2);
$imm->rasc(test.num);
rcube
Read list of files directly into a large data cube (for efficiency)
$cube = rcube &reader_function, @files;
$cube = rcube &rfits, glob("*.fits");
This IO function allows direct reading of files into a large data cube, Obviously one could use cat() but this is more memory efficient.
The reading function (e.g. rfits, readfraw) (passed as a reference) and files are the arguments.
The cube is created as the same X,Y dims and datatype as the first image specified. The Z dim is simply the number of images.
<<lessrcols()
Read ASCII whitespaced cols from a file into piddles and perl arrays (also see "rgrep()").
There are two calling conventions - the old version, where a pattern can be specified after the filename/handle, and the new version where options are given as as hash reference. This reference can be given as either the second or last argument.
The default behaviour is to ignore lines beginning with a # character and lines that only consist of whitespace. Options exist to only read from lines that match, or do not match, supplied patterns, and to set the types of the created piddles.
Can take file name or *HANDLE, and if no columns are specified, all are assumed. For the allowed types, see "Datatype_conversions" in PDL::Core.
Options:
EXCLUDE or IGNORE - ignore lines matching this pattern (default /^#/).
INCLUDE or KEEP - only use lines which match this pattern (default ).
LINES - which line numbers to use. Line numbers start at 0 and the syntax is a:b:c to use every cth matching line between a and b (default ).
DEFTYPE - default data type for stored data (if not specified, use the type stored in $PDL::IO::Misc::deftype, which starts off as double).
TYPES - reference to an array of data types, one element for each column to be read in. Any missing columns use the DEFTYPE value (default []).
PERLCOLS - an array of column numbers which are to be read into perl arrays rather than piddles. References to these arrays are returned after the requested piddles (default undef).
Usage:
($x,$y,...) = rcols( *HANDLE|"filename", { EXCLUDE => /^!/ },
$col1, $col2, ... )
($x,$y,...) = rcols( *HANDLE|"filename", $col1, $col2, ...,
{ EXCLUDE => /^!/ } )
($x,$y,...) = rcols( *HANDLE|"filename", "/foo/", $col1, $col2, ... )
e.g.,
$x = PDL->rcols file1;
($x,$y) = rcols *STDOUT;
# read in lines containing the string foo, where the first
# example also ignores lines that with a # character.
($x,$y,$z) = rcols file2, 0,4,5, { INCLUDE => /foo/ };
($x,$y,$z) = rcols file2, 0,4,5,
{ INCLUDE => /foo/, EXCLUDE => };
# ignore the first 27 lines of the file, reading in as ushorts
($x,$y) = rcols file3, { LINES => 27:-1, DEFTYPE => ushort };
($x,$y) = rcols file3,
{ LINES => 27:, TYPES => [ ushort, ushort ] };
# read in the first column as a perl array and the next two as piddles
($x,$y,$name) = rcols file4, 1, 2, { PERLCOLS => [ 0 ] };
printf "Number of names read in = %dn", 1 + $#$name;
Notes:
1. Quotes are required on patterns.
2. Columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
3. For PDL-2.003, the meaning of the c value in the LINES option has changed: it now only counts matching lines rather than all lines as in previous versions of PDL.
4. LINES => -1:0:3 may not work as you expect, since lines are skipped when read in, then the whole array reversed.
wcols()
Write ASCII whitespaced cols into file from piddles efficiently.
If no columns are specified all are assumed. Will optionally only process lines matching a pattern. Can take file name or *HANDLE, and if no file/filehandle is given defaults to STDOUT.
Options:
HEADER - prints this string before the data. If the string is not terminated by a newline, one is added (default ).
Usage: wcols $piddle1, $piddle2,..., *HANDLE|"outfile", [%options];
e.g.,
wcols $x, $y+2, foo.dat;
wcols $x, $y+2, *STDERR;
wcols $x, $y+2, |wc;
wcols $a,$b,$c; # Orthogonal version of print $a,$b,$c :-)
wcols "%10.3f", $a,$b; # Formatted
wcols "%10.3f %10.5g", $a,$b; # Individual column formatting
wcols $a,$b, { HEADER => "# a b" };
Note: columns are separated by whitespace by default, use $PDL::IO::Misc::colsep to specify an alternate separator.
swcols()
generate string list from sprintf format specifier and a list of piddles
swcols takes an (optional) format specifier of the printf sort and a list of 1d piddles as input. It returns a perl array (or array reference if called in scalar context) where each element of the array is the string generated by printing the corresponding element of the piddle(s) using the format specified. If no format is specified it uses the default print format.
Usage: @str = swcols format, pdl1,pdl2,pdl3,...;
or
$str = swcols format, pdl1,pdl2,pdl3,...;
rgrep()
Read columns into piddles using full regexp pattern matching.
Options:
UNDEFINED: This option determines what will be done for undefined values. For instance when reading a comma-separated file of the type 1,2,,4 where the ,, indicates a missing value.
The default value is to assign $PDL::undefval to undefined values, but if UNDEFINED is set this is used instead. This would normally be set to a number, but if it is set to Bad and PDL is compiled with Badvalue support (see "" in PDL::Bad) then undefined values are set to the appropriate badvalue and the column is marked as bad.
DEFTYPE: Sets the default type of the columns - see the documentation for "rcols()"
TYPES: A reference to a Perl array with types for each column - see the documentation for "rcols()"
BUFFERSIZE: The number of lines to extend the piddle by. It might speed up the reading a little bit by setting this to the number of lines in the file, but in general "rasc()" is a better choice
Usage
($x,$y,...) = rgrep(sub, *HANDLE|"filename")
e.g.
($a,$b) = rgrep {/Foo (.*) Bar (.*) Mumble/} $file;
i.e. the vectors $a and $b get the progressive values of $1, $2 etc.
rdsa()
Read a FIGARO/NDF format file.
Requires non-PDL DSA module. Contact Frossie (frossie@jach.hawaii.edu) Usage:
([$xaxis],$data) = rdsa($file)
$a = rdsa file.sdf
Not yet tested with PDL-1.9X versions
isbigendian()
Determine endianness of machine - returns 0 or 1 accordingly
rasc()
Simple function to slurp in ASCII numbers quite quickly, although error handling is marginal (to nonexistent).
$pdl->rasc("filename"|FILEHANDLE [,$noElements]);
Where:
filename is the name of the ASCII file to read or
open file handle
$noElements is the optional number of elements in the file to read.
(If not present, all of the file will be read to fill up $pdl).
$pdl can be of type float or double for more precision.
# (test.num is an ascii file with 20 numbers. One number per line.)
$in = PDL->null;
$num = 20;
$in->rasc(test.num,20);
$imm = zeroes(float,20,2);
$imm->rasc(test.num);
rcube
Read list of files directly into a large data cube (for efficiency)
$cube = rcube &reader_function, @files;
$cube = rcube &rfits, glob("*.fits");
This IO function allows direct reading of files into a large data cube, Obviously one could use cat() but this is more memory efficient.
The reading function (e.g. rfits, readfraw) (passed as a reference) and files are the arguments.
The cube is created as the same X,Y dims and datatype as the first image specified. The Z dim is simply the number of images.
Download (2.1MB)
Added: 2007-07-09 License: Perl Artistic License Price:
841 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
domus.Link 0.1
domus.Link project is a web-based frontend for Heyu. more>>
domus.Link project is a web-based frontend for Heyu. Design focuses on separating configuration from actual controls thus giving the user a simple and user friendly GUI. The primary concern being that anyone with little or no knowledge of home automation systems can easily manage/administer the system.
Main features:
- Web based Heyu configuration
- Add/Remove/Edit Aliases
- Alias modules divided by type (Lights, Appliance, etc)
- ON/OFF Controls for every type
- DIM/BRIGHT Controls for Lights
- Multilingual
- Themeable
<<lessMain features:
- Web based Heyu configuration
- Add/Remove/Edit Aliases
- Alias modules divided by type (Lights, Appliance, etc)
- ON/OFF Controls for every type
- DIM/BRIGHT Controls for Lights
- Multilingual
- Themeable
Download (0.068MB)
Added: 2007-06-05 License: Freeware Price:
872 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::LinearAlgebra::Complex 0.03
PDL::LinearAlgebra::Complex is a PDL interface to the lapack linear algebra programming library (complex number). more>>
PDL::LinearAlgebra::Complex is a PDL interface to the lapack linear algebra programming library (complex number).
SYNOPSIS
use PDL::Complex
use PDL::LinearAlgebra::Complex;
$a = r2C random (100,100);
$s = r2C zeroes(100);
$u = r2C zeroes(100,100);
$v = r2C zeroes(100,100);
$info = 0;
$job = 0;
cgesdd($a, $job, $info, $s , $u, $v);
This module provide an interface to parts of the lapack library (complex number). These routine accept either float or double piddles.
EOD
pp_defc("gesvd", HandleBad => 0, RedoDimsCode => $SIZE(r) = $PDL(A)->ndims > 2 ? min($PDL(A)->dims[1], $PDL(A)->dims[2]) : 1;, Pars => [io,phys]A(2,m,n); int jobu(); int jobvt(); [o,phys]s(r); [o,phys]U(2,p,q); [o,phys]VT(2,s,t); int [o,phys]info(), GenericTypes => [F,D], Code => generate_code
integer lwork;
char trau, travt;
types(F) %{
extern int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, float *a,
integer *lda, float *s, float *u, int *ldu,
float *vt, integer *ldvt, float *work, integer *lwork, float *rwork,
integer *info);
float *rwork;
float tmp_work[2];
%}
types(D) %{
extern int zgesvd_(char *jobz,char *jobvt, integer *m, integer *n,
double *a, integer *lda, double *s, double *u, int *ldu,
double *vt, integer *ldvt, double *work, integer *lwork, double *rwork,
integer *info);
double *rwork;
double tmp_work[2];
%}
lwork = ($PRIV(__m_size) < $PRIV(__n_size)) ? 5*$PRIV(__m_size) : 5*$PRIV(__n_size);
types(F) %{
rwork = (float *)malloc(lwork * sizeof(float));
%}
types(D) %{
rwork = (double *)malloc(lwork * sizeof(double));
%}
lwork = -1;
switch ($jobu())
{
case 1: trau = A;
break;
case 2: trau = S;
break;
case 3: trau = O;
break;
default: trau = N;
}
switch ($jobvt())
{
case 1: travt = A;
break;
case 2: travt = S;
break;
case 3: travt = O;
break;
default: travt = N;
}
$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
&tmp_work[0],
&lwork,
rwork,
$P(info));
lwork = (integer )tmp_work[0];
{
types(F) %{
float *work = (float *)malloc(2*lwork * sizeof(float));
%}
types(D) %{
double *work = (double *)malloc(2*lwork * sizeof(double));
%}
$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
work,
&lwork,
rwork,
$P(info));
free(work);
}
free(rwork);
,
Doc=>
<<lessSYNOPSIS
use PDL::Complex
use PDL::LinearAlgebra::Complex;
$a = r2C random (100,100);
$s = r2C zeroes(100);
$u = r2C zeroes(100,100);
$v = r2C zeroes(100,100);
$info = 0;
$job = 0;
cgesdd($a, $job, $info, $s , $u, $v);
This module provide an interface to parts of the lapack library (complex number). These routine accept either float or double piddles.
EOD
pp_defc("gesvd", HandleBad => 0, RedoDimsCode => $SIZE(r) = $PDL(A)->ndims > 2 ? min($PDL(A)->dims[1], $PDL(A)->dims[2]) : 1;, Pars => [io,phys]A(2,m,n); int jobu(); int jobvt(); [o,phys]s(r); [o,phys]U(2,p,q); [o,phys]VT(2,s,t); int [o,phys]info(), GenericTypes => [F,D], Code => generate_code
integer lwork;
char trau, travt;
types(F) %{
extern int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, float *a,
integer *lda, float *s, float *u, int *ldu,
float *vt, integer *ldvt, float *work, integer *lwork, float *rwork,
integer *info);
float *rwork;
float tmp_work[2];
%}
types(D) %{
extern int zgesvd_(char *jobz,char *jobvt, integer *m, integer *n,
double *a, integer *lda, double *s, double *u, int *ldu,
double *vt, integer *ldvt, double *work, integer *lwork, double *rwork,
integer *info);
double *rwork;
double tmp_work[2];
%}
lwork = ($PRIV(__m_size) < $PRIV(__n_size)) ? 5*$PRIV(__m_size) : 5*$PRIV(__n_size);
types(F) %{
rwork = (float *)malloc(lwork * sizeof(float));
%}
types(D) %{
rwork = (double *)malloc(lwork * sizeof(double));
%}
lwork = -1;
switch ($jobu())
{
case 1: trau = A;
break;
case 2: trau = S;
break;
case 3: trau = O;
break;
default: trau = N;
}
switch ($jobvt())
{
case 1: travt = A;
break;
case 2: travt = S;
break;
case 3: travt = O;
break;
default: travt = N;
}
$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
&tmp_work[0],
&lwork,
rwork,
$P(info));
lwork = (integer )tmp_work[0];
{
types(F) %{
float *work = (float *)malloc(2*lwork * sizeof(float));
%}
types(D) %{
double *work = (double *)malloc(2*lwork * sizeof(double));
%}
$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
work,
&lwork,
rwork,
$P(info));
free(work);
}
free(rwork);
,
Doc=>
Download (0.12MB)
Added: 2007-06-27 License: Perl Artistic License Price:
849 downloads
Horde Application Framework 3.1.4
Horde Application Framework is a general-purpose web application framework in PHP. more>>
The Horde Application Framework is written in PHP, and provides the common tools a Web application requires: classes for dealing with preferences, compression, browser detection, connection tracking, MIME, and more.
The Horde Framework does not provide any significant end user functionality and it provides a base for other applications and tools for developers. You will probably want to install some of the available Horde applications, such as IMP (a webmail client), or Kronolith (a calendar).
Enhancements:
- The Oracle session handler has been rewritten. vTimezone support for iCalendar data and ORG support for vCard data have been added.
- The Samba and Cyrus SQL authentication drivers have been improved.
- Automatic Web root detection and signature dimming have been improved.
- Compatibility of generated ZIP files has been improved.
- Validation of some email distribution lists has been fixed.
- Many small fixes and improvements have been made.
- Brazilian Portuguese, Catalan, Dutch, French, German, Portuguese, and Traditional Chinese translations have been updated.
<<lessThe Horde Framework does not provide any significant end user functionality and it provides a base for other applications and tools for developers. You will probably want to install some of the available Horde applications, such as IMP (a webmail client), or Kronolith (a calendar).
Enhancements:
- The Oracle session handler has been rewritten. vTimezone support for iCalendar data and ORG support for vCard data have been added.
- The Samba and Cyrus SQL authentication drivers have been improved.
- Automatic Web root detection and signature dimming have been improved.
- Compatibility of generated ZIP files has been improved.
- Validation of some email distribution lists has been fixed.
- Many small fixes and improvements have been made.
- Brazilian Portuguese, Catalan, Dutch, French, German, Portuguese, and Traditional Chinese translations have been updated.
Download (4.4MB)
Added: 2007-02-26 License: LGPL (GNU Lesser General Public License) Price:
591 downloads
PDL::LinearAlgebra 0.03
PDL::LinearAlgebra Perl module contains linear algebra utils for PDL. more>>
PDL::LinearAlgebra Perl module contains linear algebra utils for PDL.
SYNOPSIS
use PDL::LinearAlgebra;
$a = random (100,100);
($U, $s, $V) = mdsvd($a);
This module provides a convenient interface to PDL::LinearAlgebra::Real and PDL::LinearAlgebra::Complex.
FUNCTIONS
setlaerror
Set action type when error is encountered, returns previous type. Available values are NO, WARN and BARF (predefined constants). If, for example, in computation of the inverse, singularity is detected, the routine can silently return values from computation (see manuals), warn about singularity or barf. BARF is the default value.
$a = sequence(5,5);
$err = setlaerror(NO);
($inv, $info)= minv($a);
if ($info){
# Change the diagonal (the inverse doesnt exist but its an example)
$a->diagonal(0,1)+=1e-8;
($inv, $info)= minv($a);
}
if ($info){
print "Cant compute the inversen";
}
else{
print "Inverse of $a is $inv";
}
setlaerror($err);
getlaerror
Get error type.
0 => NO,
1 => WARN,
2 => BARF
t
PDL = t(PDL, SCALAR(conj))
conj : Conjugate Transpose = 1 | Transpose = 0, default = 1;
Convenient function for transposing real or complex 2D array(s). For PDL::Complex, if conj is true returns conjugate transpose array(s) and doesnt support dataflow. Supports threading.
issym
PDL = issym(PDL, SCALAR|PDL(tol),SCALAR(hermitian))
tol : tolerance value, default: 1e-8 for double else 1e-5
hermitian : Hermitian = 1 | Symmetric = 0, default = 1;
Check symmetricity/Hermitianicity of matrix. Supports threading.
diag
Return i-th diagonal if matrix in entry or matrix with i-th diagonal with entry. I-th diagonal returned flows data back&forth. Can be used as lvalue subs if your perl supports it. Supports threading.
PDL = diag(PDL, SCALAR(i), SCALAR(vector)))
i : i-th diagonal, default = 0
vector : create diagonal matrices by threading over row vectors, default = 0
my $a = random(5,5);
my $diag = diag($a,2);
# If your perl support lvaluable subroutines.
$a->diag(-2) .= pdl(1,2,3);
# Construct a (5,5,5) PDL (5 matrices) with
# diagonals from row vectors of $a
$a->diag(0,1)
tritosym
Return symmetric or Hermitian matrix from lower or upper triangular matrix. Supports inplace and threading. Uses tricpy or ctricpy from Lapack.
PDL = tritosym(PDL, SCALAR(uplo), SCALAR(conj))
uplo : UPPER = 0 | LOWER = 1, default = 0
conj : Hermitian = 1 | Symmetric = 0, default = 1;
# Assume $a is symmetric triangular
my $a = random(10,10);
my $b = tritosym($a);
positivise
Return entry pdl with changed sign by row so that average of positive sign > 0. In other words thread among dimension 1 and row = -row if Sum(sign(row)) < 0. Works inplace.
my $a = random(10,10);
$a -= 0.5;
$a->xchg(0,1)->inplace->positivise;
mcrossprod
Compute the cross-product of two matrix: A x B. If only one matrix is given, take B to be the same as A. Supports threading. Uses crossprod or ccrossprod.
PDL = mcrossprod(PDL(A), (PDL(B))
my $a = random(10,10);
my $crossproduct = mcrossprod($a);
mrank
Compute the rank of a matrix, using a singular value decomposition. from Lapack.
SCALAR = mrank(PDL, SCALAR(TOL))
TOL: tolerance value, default : mnorm(dims(PDL),inf) * mnorm(PDL) * EPS
my $a = random(10,10);
my $b = mrank($a, 1e-5);
mnorm
Compute norm of real or complex matrix Supports threading.
PDL(norm) = mnorm(PDL, SCALAR(ord));
ord :
0|inf : Infinity norm
1|one : One norm
2|two : norm 2 (default)
3|fro : frobenius norm
my $a = random(10,10);
my $norm = mnrom($a);
mdet
Compute determinant of a general square matrix using LU factorization. Supports threading. Uses getrf or cgetrf from Lapack.
PDL(determinant) = mdet(PDL);
my $a = random(10,10);
my $det = mdet($a);
mposdet
Compute determinant of a symmetric or Hermitian positive definite square matrix using Cholesky factorization. Supports threading. Uses potrf or cpotrf from Lapack.
(PDL, PDL) = mposdet(PDL, SCALAR)
SCALAR : UPPER = 0 | LOWER = 1, default = 0
my $a = random(10,10);
my $det = mposdet($a);
mcond
Compute the condition number (two-norm) of a general matrix.
The condition number (two-norm) is defined:
norm (a) * norm (inv (a)).
Uses a singular value decomposition. Supports threading.
PDL = mcond(PDL)
my $a = random(10,10);
my $cond = mcond($a);
mrcond
Estimate the reciprocal condition number of a general square matrix using LU factorization in either the 1-norm or the infinity-norm.
The reciprocal condition number is defined:
1/(norm (a) * norm (inv (a)))
Supports threading.
PDL = mrcond(PDL, SCALAR(ord))
ord :
0 : Infinity norm (default)
1 : One norm
my $a = random(10,10);
my $rcond = mrcond($a,1);
morth
Return an orthonormal basis of the range space of matrix A.
PDL = morth(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $ortho = morth($a, 1e-8);
mnull
Return an orthonormal basis of the null space of matrix A.
PDL = mnull(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $null = mnull($a, 1e-8);
minv
Compute inverse of a general square matrix using LU factorization. Supports inplace and threading. Uses getrf and getri or cgetrf and cgetri from Lapack and return inverse, info in array context.
PDL(inv) = minv(PDL)
my $a = random(10,10);
my $inv = minv($a);
mtriinv
Compute inverse of a triangular matrix. Supports inplace and threading. Uses trtri or ctrtri from Lapack. Returns inverse, info in array context.
(PDL, PDL(info))) = mtriinv(PDL, SCALAR(uplo), SCALAR|PDL(diag))
uplo : UPPER = 0 | LOWER = 1, default = 0
diag : UNITARY DIAGONAL = 1, default = 0
# Assume $a is upper triangular
my $a = random(10,10);
my $inv = mtriinv($a);
<<lessSYNOPSIS
use PDL::LinearAlgebra;
$a = random (100,100);
($U, $s, $V) = mdsvd($a);
This module provides a convenient interface to PDL::LinearAlgebra::Real and PDL::LinearAlgebra::Complex.
FUNCTIONS
setlaerror
Set action type when error is encountered, returns previous type. Available values are NO, WARN and BARF (predefined constants). If, for example, in computation of the inverse, singularity is detected, the routine can silently return values from computation (see manuals), warn about singularity or barf. BARF is the default value.
$a = sequence(5,5);
$err = setlaerror(NO);
($inv, $info)= minv($a);
if ($info){
# Change the diagonal (the inverse doesnt exist but its an example)
$a->diagonal(0,1)+=1e-8;
($inv, $info)= minv($a);
}
if ($info){
print "Cant compute the inversen";
}
else{
print "Inverse of $a is $inv";
}
setlaerror($err);
getlaerror
Get error type.
0 => NO,
1 => WARN,
2 => BARF
t
PDL = t(PDL, SCALAR(conj))
conj : Conjugate Transpose = 1 | Transpose = 0, default = 1;
Convenient function for transposing real or complex 2D array(s). For PDL::Complex, if conj is true returns conjugate transpose array(s) and doesnt support dataflow. Supports threading.
issym
PDL = issym(PDL, SCALAR|PDL(tol),SCALAR(hermitian))
tol : tolerance value, default: 1e-8 for double else 1e-5
hermitian : Hermitian = 1 | Symmetric = 0, default = 1;
Check symmetricity/Hermitianicity of matrix. Supports threading.
diag
Return i-th diagonal if matrix in entry or matrix with i-th diagonal with entry. I-th diagonal returned flows data back&forth. Can be used as lvalue subs if your perl supports it. Supports threading.
PDL = diag(PDL, SCALAR(i), SCALAR(vector)))
i : i-th diagonal, default = 0
vector : create diagonal matrices by threading over row vectors, default = 0
my $a = random(5,5);
my $diag = diag($a,2);
# If your perl support lvaluable subroutines.
$a->diag(-2) .= pdl(1,2,3);
# Construct a (5,5,5) PDL (5 matrices) with
# diagonals from row vectors of $a
$a->diag(0,1)
tritosym
Return symmetric or Hermitian matrix from lower or upper triangular matrix. Supports inplace and threading. Uses tricpy or ctricpy from Lapack.
PDL = tritosym(PDL, SCALAR(uplo), SCALAR(conj))
uplo : UPPER = 0 | LOWER = 1, default = 0
conj : Hermitian = 1 | Symmetric = 0, default = 1;
# Assume $a is symmetric triangular
my $a = random(10,10);
my $b = tritosym($a);
positivise
Return entry pdl with changed sign by row so that average of positive sign > 0. In other words thread among dimension 1 and row = -row if Sum(sign(row)) < 0. Works inplace.
my $a = random(10,10);
$a -= 0.5;
$a->xchg(0,1)->inplace->positivise;
mcrossprod
Compute the cross-product of two matrix: A x B. If only one matrix is given, take B to be the same as A. Supports threading. Uses crossprod or ccrossprod.
PDL = mcrossprod(PDL(A), (PDL(B))
my $a = random(10,10);
my $crossproduct = mcrossprod($a);
mrank
Compute the rank of a matrix, using a singular value decomposition. from Lapack.
SCALAR = mrank(PDL, SCALAR(TOL))
TOL: tolerance value, default : mnorm(dims(PDL),inf) * mnorm(PDL) * EPS
my $a = random(10,10);
my $b = mrank($a, 1e-5);
mnorm
Compute norm of real or complex matrix Supports threading.
PDL(norm) = mnorm(PDL, SCALAR(ord));
ord :
0|inf : Infinity norm
1|one : One norm
2|two : norm 2 (default)
3|fro : frobenius norm
my $a = random(10,10);
my $norm = mnrom($a);
mdet
Compute determinant of a general square matrix using LU factorization. Supports threading. Uses getrf or cgetrf from Lapack.
PDL(determinant) = mdet(PDL);
my $a = random(10,10);
my $det = mdet($a);
mposdet
Compute determinant of a symmetric or Hermitian positive definite square matrix using Cholesky factorization. Supports threading. Uses potrf or cpotrf from Lapack.
(PDL, PDL) = mposdet(PDL, SCALAR)
SCALAR : UPPER = 0 | LOWER = 1, default = 0
my $a = random(10,10);
my $det = mposdet($a);
mcond
Compute the condition number (two-norm) of a general matrix.
The condition number (two-norm) is defined:
norm (a) * norm (inv (a)).
Uses a singular value decomposition. Supports threading.
PDL = mcond(PDL)
my $a = random(10,10);
my $cond = mcond($a);
mrcond
Estimate the reciprocal condition number of a general square matrix using LU factorization in either the 1-norm or the infinity-norm.
The reciprocal condition number is defined:
1/(norm (a) * norm (inv (a)))
Supports threading.
PDL = mrcond(PDL, SCALAR(ord))
ord :
0 : Infinity norm (default)
1 : One norm
my $a = random(10,10);
my $rcond = mrcond($a,1);
morth
Return an orthonormal basis of the range space of matrix A.
PDL = morth(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $ortho = morth($a, 1e-8);
mnull
Return an orthonormal basis of the null space of matrix A.
PDL = mnull(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $null = mnull($a, 1e-8);
minv
Compute inverse of a general square matrix using LU factorization. Supports inplace and threading. Uses getrf and getri or cgetrf and cgetri from Lapack and return inverse, info in array context.
PDL(inv) = minv(PDL)
my $a = random(10,10);
my $inv = minv($a);
mtriinv
Compute inverse of a triangular matrix. Supports inplace and threading. Uses trtri or ctrtri from Lapack. Returns inverse, info in array context.
(PDL, PDL(info))) = mtriinv(PDL, SCALAR(uplo), SCALAR|PDL(diag))
uplo : UPPER = 0 | LOWER = 1, default = 0
diag : UNITARY DIAGONAL = 1, default = 0
# Assume $a is upper triangular
my $a = random(10,10);
my $inv = mtriinv($a);
Download (0.12MB)
Added: 2007-06-27 License: Perl Artistic License Price:
849 downloads
XMMS 1.2.10
XMMS is the X MultiMedia System. more>>
XMMS is a multimedia player for unix systems. XMMS stands for X MultiMedia System and can play media files such as MP3, MODs, WAV and others with the use of Input plugins.
XMMS is mainly targeted at music playback, but through thirdparty plugins some rudimentary video capabilities exists, but there are much better systems other than XMMS for video support.
It was modeled after winamp from the Windows operating system. XMMS is not a port of Winamp but was written from scratch by Mikael and Peter Alm.
In the Audio I/O tab you control the heart of XMMS, which would be the Input and Output plugins.
In the Input plugins part you can disable/enable and configure the available plugins. The list box displays the name of the plugin, its file name and (disabled) if you have disabled the plugin.
The Output Plugin is where you tell XMMS how it should play the audio back. Today you can only have one Output Plugin active at a time. So you cant both listen to the music through the OSS Driver and save the music to disk with Disk Writer.
Some Features of "XMMS":
Read info on
tells XMMS when to load the information from the files in your playlist.
Demand
will load the information when the files are visible in the playlist.
Load
will load the information when you add the file to the playlist. Having Load turned on when loading a 6000 song playlist might not be a good idea. If both options are turned off XMMS will only load the information when the song is currently playing.
Convert %20 to space
This will convert "%20" to " " when the filename is displayed in the playlist. (%20 is what browsers use instead of space)
Convert underscore to space
This will display " " instead of "_" in the playlist.
Dim titlebar when inactive
Will tell XMMS to use the dimmed titlebar from the current skin when the window is inactive.
Sort "jump to file" alphabetical
Will sort the Jump to file dialog (available by pressing "j") in alphabetical order instead of the order its in the playlist.
Use realtime priority when available
This works only if XMMS is run as root or is setuid as root. It will allow XMMS to get all the CPU power it needs, and can greatly improve the playback on slower systems. NOTE: The Disk Writer plugin will NOT work with this option enabled, also you need to restart XMMS in order for this to make a change.
Pause between song for [ ] seconds
Will make a defined pause between each song.
Show windowmanager decorations
Enables the windowmanager borders around XMMS.
Mouse Wheel adjust Volume by (%)
If you have a mouse with a wheel, you can change how much of the volume to be changed when you move it up or down.
Allow multiple instances
This will allow you to start more than one XMMS. You have to quit XMMS before this change takes effect.
Always show clutterbar
Will make the OAIDV part of the main window to be displayed all the time.
Save window positions
Will save the main windows position on the screen instead of letting the windowmanager choose location.
Show numbers in playlist
Enables the display of the internal track number in the playlist.
Equalizer doublesize linked
Will display the Equalizer in doublesize if you make XMMS doublesize.
Smooth title scroll
Makes the title scroll go smoother.
Snap window at [ ] pixels
Tells XMMS how close you can position the three windows until they dock / snap together with each other.
Use "" as a directory delimiter
This will come in handy if you are using playlist files from a windows player, so XMMS will treat as /.
Use meta data in playlists
When enabled, all playlists will be saved with the configured Title string for quick loading of information when you load a playlist.
<<lessXMMS is mainly targeted at music playback, but through thirdparty plugins some rudimentary video capabilities exists, but there are much better systems other than XMMS for video support.
It was modeled after winamp from the Windows operating system. XMMS is not a port of Winamp but was written from scratch by Mikael and Peter Alm.
In the Audio I/O tab you control the heart of XMMS, which would be the Input and Output plugins.
In the Input plugins part you can disable/enable and configure the available plugins. The list box displays the name of the plugin, its file name and (disabled) if you have disabled the plugin.
The Output Plugin is where you tell XMMS how it should play the audio back. Today you can only have one Output Plugin active at a time. So you cant both listen to the music through the OSS Driver and save the music to disk with Disk Writer.
Some Features of "XMMS":
Read info on
tells XMMS when to load the information from the files in your playlist.
Demand
will load the information when the files are visible in the playlist.
Load
will load the information when you add the file to the playlist. Having Load turned on when loading a 6000 song playlist might not be a good idea. If both options are turned off XMMS will only load the information when the song is currently playing.
Convert %20 to space
This will convert "%20" to " " when the filename is displayed in the playlist. (%20 is what browsers use instead of space)
Convert underscore to space
This will display " " instead of "_" in the playlist.
Dim titlebar when inactive
Will tell XMMS to use the dimmed titlebar from the current skin when the window is inactive.
Sort "jump to file" alphabetical
Will sort the Jump to file dialog (available by pressing "j") in alphabetical order instead of the order its in the playlist.
Use realtime priority when available
This works only if XMMS is run as root or is setuid as root. It will allow XMMS to get all the CPU power it needs, and can greatly improve the playback on slower systems. NOTE: The Disk Writer plugin will NOT work with this option enabled, also you need to restart XMMS in order for this to make a change.
Pause between song for [ ] seconds
Will make a defined pause between each song.
Show windowmanager decorations
Enables the windowmanager borders around XMMS.
Mouse Wheel adjust Volume by (%)
If you have a mouse with a wheel, you can change how much of the volume to be changed when you move it up or down.
Allow multiple instances
This will allow you to start more than one XMMS. You have to quit XMMS before this change takes effect.
Always show clutterbar
Will make the OAIDV part of the main window to be displayed all the time.
Save window positions
Will save the main windows position on the screen instead of letting the windowmanager choose location.
Show numbers in playlist
Enables the display of the internal track number in the playlist.
Equalizer doublesize linked
Will display the Equalizer in doublesize if you make XMMS doublesize.
Smooth title scroll
Makes the title scroll go smoother.
Snap window at [ ] pixels
Tells XMMS how close you can position the three windows until they dock / snap together with each other.
Use "" as a directory delimiter
This will come in handy if you are using playlist files from a windows player, so XMMS will treat as /.
Use meta data in playlists
When enabled, all playlists will be saved with the configured Title string for quick loading of information when you load a playlist.
Download (2.7MB)
Added: 2005-05-06 License: GPL (GNU General Public License) Price:
1648 downloads
Aterm 1.0.1
aterm is designed to provide pleasing visual effects, while performing such a mundane function as terminal emulation under X. more>>
Aterm is designed to provide pleasing visual effects, while performing such a mundane function as terminal emulation under X.
Main features:
- fast pseudo-transparency, that does not consume any additional resources.
- optional off-focus fading of text - when aterm looses focus its contents is dimmed.
- NeXT-ish scrollbar
- integration with AfterStep window manager, allowing for aterm looks to be determined by AfterStep theme, and allowing aterm do things like semitransparent gradiented background, JPEG, PNG and other images used as background, and more.
Enhancements:
- This release includes fixes for pasting large (16k) amounts into aterm, the borderless option, and several other issues.
<<lessMain features:
- fast pseudo-transparency, that does not consume any additional resources.
- optional off-focus fading of text - when aterm looses focus its contents is dimmed.
- NeXT-ish scrollbar
- integration with AfterStep window manager, allowing for aterm looks to be determined by AfterStep theme, and allowing aterm do things like semitransparent gradiented background, JPEG, PNG and other images used as background, and more.
Enhancements:
- This release includes fixes for pasting large (16k) amounts into aterm, the borderless option, and several other issues.
Download (0.28MB)
Added: 2007-08-02 License: GPL (GNU General Public License) Price:
820 downloads
MacOSD 0.3.2
MacOSD is a visualization frontend for PBButtonsD, the button and power event daemon used for Apple computers. more>>
MacOSD is a visualization frontend for PBButtonsD, the button and power event daemon used for Apple computers.
For PowerPC laptops such as the iBooks and PowerBooks a special daemon named pbbuttonsd can handle the special "multi-media" keys to dim the display and regulate the audio volume accordingly.
However I find the example Gtk+ application gtkpbbuttons not that pretty.
So I implemented a more On-Screen-Display like variant. Currently it can utilize the XOSD library.
Although recently that other program got some pixmap theming support, it is still written in "handling every bit manually C" and still uses Gtk+.
The latest MacOSD deos now utilze the anti-aliasing and real alpha blending canvas library Evas. It does utilize gtkpbbuttons themes just fine - and comes with a slightly cleaned-up version CleanOSX
Version 0.3.0 of MacOSD is also able to provide real transparency With latest X.org servers and a running composition manager.
<<lessFor PowerPC laptops such as the iBooks and PowerBooks a special daemon named pbbuttonsd can handle the special "multi-media" keys to dim the display and regulate the audio volume accordingly.
However I find the example Gtk+ application gtkpbbuttons not that pretty.
So I implemented a more On-Screen-Display like variant. Currently it can utilize the XOSD library.
Although recently that other program got some pixmap theming support, it is still written in "handling every bit manually C" and still uses Gtk+.
The latest MacOSD deos now utilze the anti-aliasing and real alpha blending canvas library Evas. It does utilize gtkpbbuttons themes just fine - and comes with a slightly cleaned-up version CleanOSX
Version 0.3.0 of MacOSD is also able to provide real transparency With latest X.org servers and a running composition manager.
Download (0.16MB)
Added: 2007-02-12 License: GPL (GNU General Public License) Price:
985 downloads
X10MMS 0.0.5
X10MMS is a software suite that provides support for the X10 CM19A USB home automation transceiver under Linux. more>>
X10MMS is a software suite that provides support for the X10 CM19A USB home automation transceiver under Linux. X10MMS project allows users to both control the device directly, sending and receiving basic on/off commands, and also includes a sample application that allows XMMS to be remotely controlled using the CM19A transceiver and an X10 palmpad remote.
Two main versions of the suite exist. The older version was written using libusb, and is somewhat cantankerous to use. The new version is implemented as an actual kernel module and is much more reliable, although it requires an up-to-date 2.6.x kernel.
x10mms is present in both versions. It launches an instance of XMMS and allows you to control its operation using a CR12A or CR14A remote control. (Others likely are supported, but I havent tested them) The program is completely user configurable via a straightforward text file, so you can assign any supported function to any toggle key on the remote.
The code in both driver versions is centered on a rewrite of some working sample code Neil Cherry over at the LinuxHA project kindly provided me with. Hes doing some great work over there!
Enhancements:
- Support for lamp dimmer module commands (dim and brighten) was added.
- Support for Ninja PannTilt camera commands (left/right/up/down) was added.
- The internal command structure was changed, but existing command syntax was retained and extended.
<<lessTwo main versions of the suite exist. The older version was written using libusb, and is somewhat cantankerous to use. The new version is implemented as an actual kernel module and is much more reliable, although it requires an up-to-date 2.6.x kernel.
x10mms is present in both versions. It launches an instance of XMMS and allows you to control its operation using a CR12A or CR14A remote control. (Others likely are supported, but I havent tested them) The program is completely user configurable via a straightforward text file, so you can assign any supported function to any toggle key on the remote.
The code in both driver versions is centered on a rewrite of some working sample code Neil Cherry over at the LinuxHA project kindly provided me with. Hes doing some great work over there!
Enhancements:
- Support for lamp dimmer module commands (dim and brighten) was added.
- Support for Ninja PannTilt camera commands (left/right/up/down) was added.
- The internal command structure was changed, but existing command syntax was retained and extended.
Download (0.019MB)
Added: 2006-04-25 License: Other/Proprietary License Price:
1278 downloads
Pike 7.6.112
Pike is a interpreted, object-oriented programming language with a syntax similar to C. more>>
Pike project is a general purpose programming language, which means that you can put it to use for almost any task. Its application domain spans anything from the world of the Net to the world of multimedia applications, or environments where your shell could use some spicy text processing or system administration tools.
Your imagination sets the limit, but Pike will probably extend it far beyond what you previously considered within reach.
Pike is released under the GNU GPL, GNU LGPL and MPL; this means that you can fetch it and use it for almost any purpose you please.
Main features:
- Pike is Powerful - Being a high-level language, Pike gives you concise, modular code, automatic memory management, flexible and efficient data types, transparent bignum support, a powerful type system, exception handling and quick iterative development cycles, alleviating the need for compiling and linking code before you can run it; on-the-fly modifications are milliseconds away from being put to practice.
- Pike is Fast - Most of the time critical parts of Pike are heavily optimized; Pike is really, really fast and uses efficient, carefully handcrafted algorithms and data types. Visit The Computer Language Shootout Benchmarks for more facts and figures on Pikes performance.
- Pike is Extendable - with modules written in C for speed or Pike for brevity. Pike supports multiple inheritance and most other constructs you would demand from a modern programming language.
- Pike is Scalable - as useful for small scripts as for bigger and more complex applications. Where some other scripting languages aim for providing unreadable language constructs for minimal code size, Pike aims for a small orthogonal set of readable language elements that encourage good habits and improve maintainability.
- Pike is Portable - Platform independence has always been our aim with Pike, and it compiles on most flavors of Unix, as well as on Windows (both ia32 and ia64 versions) and Mac OS X. To see the present status of how well the stable and development branches of Pike work on some of the many hardware architectures and operating systems Pike supports, visit the pikefarm pages.
- Pike is Free - Pike is released under multiple licenses; the GNU licenses GPL and LGPL, as well as the Mozilla license, MPL.
- Paradigms - Pike supports most programming paradigms, including (but not limited to) object orientation, functional programming, aspect orientation and imperative programming.
- Pike is Constantly Improving - While already being a great language, Pike is actively developed and backed by both an active Pike community and the computer science scientific research community. This means that Pike will stay the razorsharp tool that Pike people over the world expect it to be, while assimilating recent findings from the scientific forefront of research, spanning fields such as compositioning, regexp technology and the world of ontologies, also known as the Semantic Web.
- Pike is available via CVS - To help you get your hands on the very latest development versions of Pike, we provide Pike to anyone and everyone who knows his/her way around CVS. Stay as updated as you like on recent activity in the repository with our on-site CVS browser.
- You Too are Invited - We welcome contributions to pike, and it is our intention to provide write access to our repositories for those of you who want to join us in improving Pike, be it by contributing code, documentation, work with the web site or making tools and applications of general interest.
Enhancements:
- Fixes and enhancements were made for: machine code on Darwin IA32, optimization, -t on Win32, big endian 64-bit, 64-bit file operations, bytecode, multisets, program encoding, describe_value, array growth policy, timezone data files (including the recent US DST change), Calendar.Time.format_smtp, Calendar.Events, mktime, Sql.Sql, Mysql.set_charset, ODBC, UnixODBC, Gmp, Standards.IIM, Image.Image, Image.Dims, Image.PS, little endian TIFFs, GL, SSL, HTTP header parser, Protocols.HTTP.Query and .async_close, Protocols.DNS, Parser.XML.Validating, Shuffler, Cache, Valgrind support, and many build related issues.
<<lessYour imagination sets the limit, but Pike will probably extend it far beyond what you previously considered within reach.
Pike is released under the GNU GPL, GNU LGPL and MPL; this means that you can fetch it and use it for almost any purpose you please.
Main features:
- Pike is Powerful - Being a high-level language, Pike gives you concise, modular code, automatic memory management, flexible and efficient data types, transparent bignum support, a powerful type system, exception handling and quick iterative development cycles, alleviating the need for compiling and linking code before you can run it; on-the-fly modifications are milliseconds away from being put to practice.
- Pike is Fast - Most of the time critical parts of Pike are heavily optimized; Pike is really, really fast and uses efficient, carefully handcrafted algorithms and data types. Visit The Computer Language Shootout Benchmarks for more facts and figures on Pikes performance.
- Pike is Extendable - with modules written in C for speed or Pike for brevity. Pike supports multiple inheritance and most other constructs you would demand from a modern programming language.
- Pike is Scalable - as useful for small scripts as for bigger and more complex applications. Where some other scripting languages aim for providing unreadable language constructs for minimal code size, Pike aims for a small orthogonal set of readable language elements that encourage good habits and improve maintainability.
- Pike is Portable - Platform independence has always been our aim with Pike, and it compiles on most flavors of Unix, as well as on Windows (both ia32 and ia64 versions) and Mac OS X. To see the present status of how well the stable and development branches of Pike work on some of the many hardware architectures and operating systems Pike supports, visit the pikefarm pages.
- Pike is Free - Pike is released under multiple licenses; the GNU licenses GPL and LGPL, as well as the Mozilla license, MPL.
- Paradigms - Pike supports most programming paradigms, including (but not limited to) object orientation, functional programming, aspect orientation and imperative programming.
- Pike is Constantly Improving - While already being a great language, Pike is actively developed and backed by both an active Pike community and the computer science scientific research community. This means that Pike will stay the razorsharp tool that Pike people over the world expect it to be, while assimilating recent findings from the scientific forefront of research, spanning fields such as compositioning, regexp technology and the world of ontologies, also known as the Semantic Web.
- Pike is available via CVS - To help you get your hands on the very latest development versions of Pike, we provide Pike to anyone and everyone who knows his/her way around CVS. Stay as updated as you like on recent activity in the repository with our on-site CVS browser.
- You Too are Invited - We welcome contributions to pike, and it is our intention to provide write access to our repositories for those of you who want to join us in improving Pike, be it by contributing code, documentation, work with the web site or making tools and applications of general interest.
Enhancements:
- Fixes and enhancements were made for: machine code on Darwin IA32, optimization, -t on Win32, big endian 64-bit, 64-bit file operations, bytecode, multisets, program encoding, describe_value, array growth policy, timezone data files (including the recent US DST change), Calendar.Time.format_smtp, Calendar.Events, mktime, Sql.Sql, Mysql.set_charset, ODBC, UnixODBC, Gmp, Standards.IIM, Image.Image, Image.Dims, Image.PS, little endian TIFFs, GL, SSL, HTTP header parser, Protocols.HTTP.Query and .async_close, Protocols.DNS, Parser.XML.Validating, Shuffler, Cache, Valgrind support, and many build related issues.
Download (9.8MB)
Added: 2007-04-26 License: GPL (GNU General Public License) Price:
913 downloads
PDL::Reduce 2.3.2
PDL::Reduce is Perl module that helps to reduce functions for PDL. more>>
PDL::Reduce is Perl module that helps to reduce functions for PDL.
Many languages have a reduce function used to reduce the rank of an N-D array by one. It works by applying a selected operation along a specified dimension. This module implements such a function for PDL by providing a simplified interface to the existing projection functions (e.g. sumover, maximum, average, etc).
SYNOPSIS
use PDL::Reduce;
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
@ops = $a->canreduce; # return a list of all allowed operations
FUNCTIONS
reduce
reduce dimension of piddle by one by applying an operation along the specified dimension
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
$b = $a->reduce(plus,1);
$b = $a->reduce(+,1); # three ways to do the same thing
[ As an aside: if you are familiar with threading you will see that this is actually the same as
$b = $a->mv(1,0)->sumover
]
NOTE: You should quote the name of the operation (1st arg) that you want reduce to perform. This is important since some of the names are identical to the names of the actual PDL functions which might be imported into your namespace. And you definitely want a string as argument, not a function invocation! For example, this will probably fail:
$b = $a->reduce(avg,1); # gives an error from invocation of avg
Rather use
$b = $a->reduce(avg,1);
reduce provides a simple and unified interface to the projection functions and makes people coming from other data/array languages hopefully feel more at home.
$result = $pdl->reduce($operation [,$dim]);
reduce applies the named operation along the specified dimension reducing the input piddle dimension by one. If the dimension is omitted the operation is applied along the first dimension. To get a list of valid operations see canreduce.
canreduce
return list of valid named reduce operations Some common operations can be accessed using a number of names, e.g. +, add and plus all sum the elements along the chosen dimension.
@ops = PDL->canreduce;
This list is useful if you want to make sure which operations can be used with reduce.
<<lessMany languages have a reduce function used to reduce the rank of an N-D array by one. It works by applying a selected operation along a specified dimension. This module implements such a function for PDL by providing a simplified interface to the existing projection functions (e.g. sumover, maximum, average, etc).
SYNOPSIS
use PDL::Reduce;
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
@ops = $a->canreduce; # return a list of all allowed operations
FUNCTIONS
reduce
reduce dimension of piddle by one by applying an operation along the specified dimension
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
$b = $a->reduce(plus,1);
$b = $a->reduce(+,1); # three ways to do the same thing
[ As an aside: if you are familiar with threading you will see that this is actually the same as
$b = $a->mv(1,0)->sumover
]
NOTE: You should quote the name of the operation (1st arg) that you want reduce to perform. This is important since some of the names are identical to the names of the actual PDL functions which might be imported into your namespace. And you definitely want a string as argument, not a function invocation! For example, this will probably fail:
$b = $a->reduce(avg,1); # gives an error from invocation of avg
Rather use
$b = $a->reduce(avg,1);
reduce provides a simple and unified interface to the projection functions and makes people coming from other data/array languages hopefully feel more at home.
$result = $pdl->reduce($operation [,$dim]);
reduce applies the named operation along the specified dimension reducing the input piddle dimension by one. If the dimension is omitted the operation is applied along the first dimension. To get a list of valid operations see canreduce.
canreduce
return list of valid named reduce operations Some common operations can be accessed using a number of names, e.g. +, add and plus all sum the elements along the chosen dimension.
@ops = PDL->canreduce;
This list is useful if you want to make sure which operations can be used with reduce.
Download (1.1MB)
Added: 2007-07-14 License: Perl Artistic License Price:
832 downloads
ControlX10::CM17 0.07
ControlX10::CM17 is a Perl extension for FireCracker RF Transmitter. more>>
ControlX10::CM17 is a Perl extension for FireCracker RF Transmitter.
SYNOPSIS
use ControlX10::CM17;
# $serial_port is an object created using Win32::SerialPort
# or Device::SerialPort depending on OS
# my $serial_port = setup_serial_port(COM10, 4800);
&ControlX10::CM17::send($serial_port, A1J);
# Turns device A1 On
&ControlX10::CM17::send($serial_port, A1K);
# Turns device A1 Off
&ControlX10::CM17::send($serial_port, BO);
# Turns All lights on house code B off
The FireCracker (CM17A) is a send-only X10 controller that connects to a serial port and transmits commands via RF to X10 transceivers.
The FireCracker derives its power supply from either the RTS or DTR signals from the serial port. At least one of these signals must be high at all times to ensure that power is not lost from the FireCracker. The signals are pulsed to transmit a bit (DTR for 1 and RTS for 0). The normal rx/tx read/write lines are not used by the device - but are passed through to allow another serial device to be connected (as long as it does not require hardware handshaking).
A 40-bit command packet consists of a constant 16 bit header, a constant 8 bit footer, and 16 data bits. The data is subdivided into a 5 bit address $house code (A-P) and an 11 bit $operation. There are "ON" commands for 16 units per $house code (1J, 2J...FJ, GJ) and similar "OFF" commands (1K, 2K...FK, GK). A send decodes a parameter string that combines $house$operation into a single instruction. In addition to $operation commands that act on individual units, there are some that apply to the entire $house code or to previous commands.
$operation FUNCTION
L Brighten Last Light Programmed 14%
M Dim Last Light Programmed 14%
N All Lights Off
O All Lights On
P All Units Off
Starting with Version 0.6, a series of Brighten or Dim Commands may be combined into a single $operation by specifying a signed amount of change desired after the unit code. An "ON" command will be sent to select the unit followed by at least one Brighten/Dim. The value will round to the next larger magnitude if not a multiple of 14%.
&ControlX10::CM17::send($serial_port, A3-10);
# outputs A3J,AM - at least one dim
&ControlX10::CM17::send($serial_port, A3-42);
# outputs A3J,AM,AM,AM - even multiple of 14
&ControlX10::CM17::send($serial_port, AF-45);
# outputs AFJ,AL,AL,AL,AL - round up if remainer
<<lessSYNOPSIS
use ControlX10::CM17;
# $serial_port is an object created using Win32::SerialPort
# or Device::SerialPort depending on OS
# my $serial_port = setup_serial_port(COM10, 4800);
&ControlX10::CM17::send($serial_port, A1J);
# Turns device A1 On
&ControlX10::CM17::send($serial_port, A1K);
# Turns device A1 Off
&ControlX10::CM17::send($serial_port, BO);
# Turns All lights on house code B off
The FireCracker (CM17A) is a send-only X10 controller that connects to a serial port and transmits commands via RF to X10 transceivers.
The FireCracker derives its power supply from either the RTS or DTR signals from the serial port. At least one of these signals must be high at all times to ensure that power is not lost from the FireCracker. The signals are pulsed to transmit a bit (DTR for 1 and RTS for 0). The normal rx/tx read/write lines are not used by the device - but are passed through to allow another serial device to be connected (as long as it does not require hardware handshaking).
A 40-bit command packet consists of a constant 16 bit header, a constant 8 bit footer, and 16 data bits. The data is subdivided into a 5 bit address $house code (A-P) and an 11 bit $operation. There are "ON" commands for 16 units per $house code (1J, 2J...FJ, GJ) and similar "OFF" commands (1K, 2K...FK, GK). A send decodes a parameter string that combines $house$operation into a single instruction. In addition to $operation commands that act on individual units, there are some that apply to the entire $house code or to previous commands.
$operation FUNCTION
L Brighten Last Light Programmed 14%
M Dim Last Light Programmed 14%
N All Lights Off
O All Lights On
P All Units Off
Starting with Version 0.6, a series of Brighten or Dim Commands may be combined into a single $operation by specifying a signed amount of change desired after the unit code. An "ON" command will be sent to select the unit followed by at least one Brighten/Dim. The value will round to the next larger magnitude if not a multiple of 14%.
&ControlX10::CM17::send($serial_port, A3-10);
# outputs A3J,AM - at least one dim
&ControlX10::CM17::send($serial_port, A3-42);
# outputs A3J,AM,AM,AM - even multiple of 14
&ControlX10::CM17::send($serial_port, AF-45);
# outputs AFJ,AL,AL,AL,AL - round up if remainer
Download (0.008MB)
Added: 2007-04-16 License: Perl Artistic License Price:
923 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 2
- 1
- 2
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above dim 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