teamsters union
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 57
Truevision 0.5.5
Truevision is a 3D modeler for Gnome and Povray. more>>
Truevision is a 3D modeler for Gnome and Povray.
Truevision is a 3D modeler for Gnome. It is still in developpement, so be carefull and save often.
Main features:
- create some objects :
- finite solid primitives : blob, box, sphere, cone, cylinder, torus, heightfield, superellipsoid, lathe, sphere
- finite patch primitive : disc
- infinite solid primitive : plane
- lights : point, cylindrical, spot, area, light groups
- csg operators : union, merge, intersection, difference
- athmospherics : background, skysphere, media, fog
- manipulate them ( rotate, scale, translate ... )
- manipulate and edit the camera.
- render the scene with the multithreaded povray frontend.
- create and edit materials , with preview in editor.
- output the scene to povray .
- save and load scenes, objects, and materials.
- save materials with preview in material library.
<<lessTruevision is a 3D modeler for Gnome. It is still in developpement, so be carefull and save often.
Main features:
- create some objects :
- finite solid primitives : blob, box, sphere, cone, cylinder, torus, heightfield, superellipsoid, lathe, sphere
- finite patch primitive : disc
- infinite solid primitive : plane
- lights : point, cylindrical, spot, area, light groups
- csg operators : union, merge, intersection, difference
- athmospherics : background, skysphere, media, fog
- manipulate them ( rotate, scale, translate ... )
- manipulate and edit the camera.
- render the scene with the multithreaded povray frontend.
- create and edit materials , with preview in editor.
- output the scene to povray .
- save and load scenes, objects, and materials.
- save materials with preview in material library.
Download (1.5MB)
Added: 2005-10-07 License: GPL (GNU General Public License) Price:
1483 downloads
Tableutil 0.6
Tableutil is a utility for converting, aggregating and performing operations. more>>
Tableutil is a utility for converting, aggregating and performing operations (currently unions, differences, complements and intersections) on lists of IP-addresses. Tableutils primary use is to convert files into a format pfctl(8) can read, but if you find another use for it Id really like to know about it.
It can read plain-text-files with ranges (12.12.12.12-23.23.23.23), CIDR-style networks (192.168.0.0/24) single addresses (242.242.242.242) or hostnames (one.two.com). It can also read p2b-files, the preferred file-format(s) of PeerGuardian. Tableutil has two modes of operation: Quick mode, which is used for converting files to pfctl-compatible tables and advanced mode, which is used to perform more advanced operations on files, and for greater flexibility of the output format.
For example, if you have three files, block1, block2 and exceptions that is to be used in a table that blocks the hosts in block1 and block2, excepting the ranges in exceptions, create a file looking something like this:
# cat blockspec
$block1 = load(text, "block1"); # The block1-blocklist
$block2 = load(text, "block2"); # The block2-blocklist
$exceptions = load(text, "exceptions"); # List of exceptions
$block = difference(union($block1, $block2), $exceptions);
save(cidr, "blocklist", $block);
Or, if you just want to load a peerguardian blocklist (the text-kind), do something like this:
# cat update-blocklist.sh
#! /bin/sh
URL="http://peerguardian.sourceforge.net/lists/ads.php"
rm -f /tmp/blocklist
ftp -V -o - ${URL} 2> /dev/null | gunzip -c - | sed "s/.*:([0-9.-])/1/" |
tableutil -q text 2> /dev/null > /tmp/blocklist
if [ -s /tmp/blocklist ] ; then
mv /etc/pfdata/blocklist /etc/pfdata/blocklist.old &&
cp /tmp/blocklist /etc/pfdata/blocklist &&
pfctl -f /etc/pf.conf -T load
fi
Enhancements:
- A small lexer fix was made to handle different newlines gracefully.
<<lessIt can read plain-text-files with ranges (12.12.12.12-23.23.23.23), CIDR-style networks (192.168.0.0/24) single addresses (242.242.242.242) or hostnames (one.two.com). It can also read p2b-files, the preferred file-format(s) of PeerGuardian. Tableutil has two modes of operation: Quick mode, which is used for converting files to pfctl-compatible tables and advanced mode, which is used to perform more advanced operations on files, and for greater flexibility of the output format.
For example, if you have three files, block1, block2 and exceptions that is to be used in a table that blocks the hosts in block1 and block2, excepting the ranges in exceptions, create a file looking something like this:
# cat blockspec
$block1 = load(text, "block1"); # The block1-blocklist
$block2 = load(text, "block2"); # The block2-blocklist
$exceptions = load(text, "exceptions"); # List of exceptions
$block = difference(union($block1, $block2), $exceptions);
save(cidr, "blocklist", $block);
Or, if you just want to load a peerguardian blocklist (the text-kind), do something like this:
# cat update-blocklist.sh
#! /bin/sh
URL="http://peerguardian.sourceforge.net/lists/ads.php"
rm -f /tmp/blocklist
ftp -V -o - ${URL} 2> /dev/null | gunzip -c - | sed "s/.*:([0-9.-])/1/" |
tableutil -q text 2> /dev/null > /tmp/blocklist
if [ -s /tmp/blocklist ] ; then
mv /etc/pfdata/blocklist /etc/pfdata/blocklist.old &&
cp /tmp/blocklist /etc/pfdata/blocklist &&
pfctl -f /etc/pf.conf -T load
fi
Enhancements:
- A small lexer fix was made to handle different newlines gracefully.
Download (0.012MB)
Added: 2006-03-27 License: BSD License Price:
1306 downloads
FunionFS 0.4.3
FunionFS is an Union filesystem for the FUSE driver. more>>
FunionFS is an Union filesystem for the FUSE driver.
This program works only with the Fuse driver which is natively included since the 2.6.14 Linux kernel.
Above all, what is an Union filesystem?
It is a method used when one wants to manufacture LiveCD Linux such as Knoppix: support (CDROM) is only a read-only one.
The operating system, however, needs to write on this filesystem. The method consists in superimposing (Union) on the read only filesystem, a small size read-write one.
This filesystem (often stored in a RAMDISK) contains all the modifications made by OS on the CDROM content.
This method is often used for of Linux Stored in a PROM or a compressed file like in CRAMFS.
Enhancements:
- Some bugs have been corrected.
- A rewrite of the directory management is pending that will correct some problems that are happening when overlaying many directories.
<<lessThis program works only with the Fuse driver which is natively included since the 2.6.14 Linux kernel.
Above all, what is an Union filesystem?
It is a method used when one wants to manufacture LiveCD Linux such as Knoppix: support (CDROM) is only a read-only one.
The operating system, however, needs to write on this filesystem. The method consists in superimposing (Union) on the read only filesystem, a small size read-write one.
This filesystem (often stored in a RAMDISK) contains all the modifications made by OS on the CDROM content.
This method is often used for of Linux Stored in a PROM or a compressed file like in CRAMFS.
Enhancements:
- Some bugs have been corrected.
- A rewrite of the directory management is pending that will correct some problems that are happening when overlaying many directories.
Download (0.015MB)
Added: 2007-03-12 License: GPL (GNU General Public License) Price:
961 downloads
Libunion 0.0.2
Libunion is a library for manipulating unionfs unions. more>>
Libunion is a library for manipulating unionfs unions. Libunion is based partly on code from the unionctl tool of the original unionfs project.
This tool is replaced in this package with a version capable of using the library. Command line options for unionctl in this package are identical to those of the original.
Enhancements:
- This is the first proper release of libunion.
- The library is now fully usable, as is the unionctl version included.
- The functions provided by the library are well documented in the manual page, including examples.
- This release has not been extensively tested yet, so it should not be used for anything important.
<<lessThis tool is replaced in this package with a version capable of using the library. Command line options for unionctl in this package are identical to those of the original.
Enhancements:
- This is the first proper release of libunion.
- The library is now fully usable, as is the unionctl version included.
- The functions provided by the library are well documented in the manual page, including examples.
- This release has not been extensively tested yet, so it should not be used for anything important.
Download (0.023MB)
Added: 2006-12-28 License: GPL (GNU General Public License) Price:
1030 downloads
Freebaser 2005.03.10
Freebaser project consists of collection of Free database applications. more>>
Freebaser project consists of collection of Free database applications.
Its goal is to create simple, elegant, and useful applications to solve organizational issues.
It includes a client database, a member database, a contacts database, a task list/todo list, and a workflow database.
Main features:
- Client database
- Member database
- Contacts database
- Task List / Todo list
- Workflow
Client Database:
The clients database is a database that we plan on being used as the single database for an organisation that has customers/clients/etc. Ie. if your running your own business this is the database from the freebaser collective that you should be using as it incorporates all the aspects of the contacts and member datbases but adds business/client/customer related fields and sections.
Contacts Database:
The contacts databse is designed to be used by you as your personal friends/contacts database.
Member Database:
The Member database is designed for Not-For-Profit organisations that are made up of members and not customers/clients/employees. The idea organisation is a Trade Union, or small club that needs to track its members.
Task List/Todo List:
The Task List database is designed to trach and manage your daily tasks and duties.
Workflow Database:
The Workflow database is still in a proto-type mode but is design to be able to let the user to track and manage the various organisation processes.
An example is a group publishing its newsletter, there maybe 40 steps from start to finish in getting a newsletter out and the Workflow database is design to be able to accomodate these kind of process tracking.
At the moment the Workflow database is pretty useless unless its customised to your particular organisational processes - as each organisation has its own processes.
Enhancements:
- Changes made to the table CSS to make the pop up calendar appear correctly
<<lessIts goal is to create simple, elegant, and useful applications to solve organizational issues.
It includes a client database, a member database, a contacts database, a task list/todo list, and a workflow database.
Main features:
- Client database
- Member database
- Contacts database
- Task List / Todo list
- Workflow
Client Database:
The clients database is a database that we plan on being used as the single database for an organisation that has customers/clients/etc. Ie. if your running your own business this is the database from the freebaser collective that you should be using as it incorporates all the aspects of the contacts and member datbases but adds business/client/customer related fields and sections.
Contacts Database:
The contacts databse is designed to be used by you as your personal friends/contacts database.
Member Database:
The Member database is designed for Not-For-Profit organisations that are made up of members and not customers/clients/employees. The idea organisation is a Trade Union, or small club that needs to track its members.
Task List/Todo List:
The Task List database is designed to trach and manage your daily tasks and duties.
Workflow Database:
The Workflow database is still in a proto-type mode but is design to be able to let the user to track and manage the various organisation processes.
An example is a group publishing its newsletter, there maybe 40 steps from start to finish in getting a newsletter out and the Workflow database is design to be able to accomodate these kind of process tracking.
At the moment the Workflow database is pretty useless unless its customised to your particular organisational processes - as each organisation has its own processes.
Enhancements:
- Changes made to the table CSS to make the pop up calendar appear correctly
Download (0.50MB)
Added: 2007-01-23 License: GPL (GNU General Public License) Price:
1008 downloads
The Plastic File System 1.11
The Plastic File System is a module for providing virtual file systems in user space. more>>
The Plastic File System project is an LD_PRELOAD module for manipulating what the file system looks like for programs. This allows virtual file systems to exist in user space, without kernel hacks or modules.
PlasticFS includes the following file systems:
chroot
The chroot filter may be used to simulate the effects of the chroot(2) system call, in combination with other filters.
dos
The dos filter may be used to simulate an 8.3 DOS file system.
log
The log filter may be used to transparently log file system access, similar to the strace command.
shortname
The shortname filter may be used to simulate file systems with shorter filenames.
smartlink
The smartlink filter may be used to expand environment variables in symbolic links, using the usual $name notation.
upcase, downcase, titlecase and nocase
The upcase filter to make file names appear to be in upper-case when listed. File names are case- insensitive when being opened, etc. The downcase filetr is similar, except it converts to lower-case, titlecase capitalizes, and nocase is simply case insensitive without altering the filenames.
viewpath
The viewpath filter may be used to make a set of directory trees look like a single directory tree. (Also known as a union file system.) All modifications take place in the first directory in the list.
Aka: union and translucent
Note: Filters may be piped from one to the next, forming powerful combinations.
PlasticFS is currently dependent on the implementation of the GNU C Library. It is self configuring using a GNU Autoconf generated configure script.
Enhancements:
- Build problem fixed.
<<lessPlasticFS includes the following file systems:
chroot
The chroot filter may be used to simulate the effects of the chroot(2) system call, in combination with other filters.
dos
The dos filter may be used to simulate an 8.3 DOS file system.
log
The log filter may be used to transparently log file system access, similar to the strace command.
shortname
The shortname filter may be used to simulate file systems with shorter filenames.
smartlink
The smartlink filter may be used to expand environment variables in symbolic links, using the usual $name notation.
upcase, downcase, titlecase and nocase
The upcase filter to make file names appear to be in upper-case when listed. File names are case- insensitive when being opened, etc. The downcase filetr is similar, except it converts to lower-case, titlecase capitalizes, and nocase is simply case insensitive without altering the filenames.
viewpath
The viewpath filter may be used to make a set of directory trees look like a single directory tree. (Also known as a union file system.) All modifications take place in the first directory in the list.
Aka: union and translucent
Note: Filters may be piped from one to the next, forming powerful combinations.
PlasticFS is currently dependent on the implementation of the GNU C Library. It is self configuring using a GNU Autoconf generated configure script.
Enhancements:
- Build problem fixed.
Download (0.18MB)
Added: 2007-07-08 License: GPL (GNU General Public License) Price:
840 downloads
Memory Structures Library 4.0
Memory Structures Library (MemSL) is a complete data structures/collection classes library with memory tracing. more>>
Memory Structures Library (MemSL) is a complete data structures/collection classes library with memory tracing, memory debugging, entry/exit tracing, exception handling, definable memory handlers, built-in thread support, and much more.
The project supports single, double, and circular linked lists, AVL balanced and threaded binary trees, dynamic hashing tables, stacks, queues and dequeues (using arrays or linked lists), sets (Pascal implementation, with union, difference, intersection, etc.), bags, tables and dictionaries, priority heaps, priority search queue, and more.
<<lessThe project supports single, double, and circular linked lists, AVL balanced and threaded binary trees, dynamic hashing tables, stacks, queues and dequeues (using arrays or linked lists), sets (Pascal implementation, with union, difference, intersection, etc.), bags, tables and dictionaries, priority heaps, priority search queue, and more.
Download (0.82MB)
Added: 2007-07-04 License: GPL (GNU General Public License) Price:
846 downloads
Ensemblist 040126
Ensemblist is an OpenGL puzzle game. more>>
Ensemblist project is an OpenGL puzzle game.
Ensemblist is a unique reflexion game created for the video game coding compo held in March 2003 in Paris.
In this game, you have to put together several simple geometric primitives to build a given shape. For this, you can move, rotate and compose the primitives with the boolean operators union, intersection and minus. This is building what is called a C.S.G, for Constructive Solid Geometry.
<<lessEnsemblist is a unique reflexion game created for the video game coding compo held in March 2003 in Paris.
In this game, you have to put together several simple geometric primitives to build a given shape. For this, you can move, rotate and compose the primitives with the boolean operators union, intersection and minus. This is building what is called a C.S.G, for Constructive Solid Geometry.
Download (1.3MB)
Added: 2006-12-21 License: GPL (GNU General Public License) Price:
1038 downloads
SQLizer 1.1
SQLizer is a Java utility library intended for generating sql from the search input. more>>
SQLizer is a Java utility library intended for generating sql from the search input.
Synopsis:
import stanford.netdb.utils.*;
String sql_1 = Feild2SQL.parseField(type,table, column, input_str, field_display_name, post_filter);
String sql_2 = Feild2SQL.parseStringField(table, column, input_str, field_display_name);
String sql_3 = Feild2SQL.parseIntField(table, column, line, field_display_name);
Given an input string it builds SQL select statement. It supports two types of inputs, numeric and string. The catch is that this library allows usage of operators in the input string. Supported operators are and, or and not. It also supports wildcards *, %, ? and _ in string searches. In case of numeric searches no wildcards are supported.
To accommodate searches by strings, which have wildcards in them, backslashes can be used to escape appropriate characters. Obviously to search for it needs to be escaped as well. Strings with spaces needs to be enclosed in double quotes. The other possibility is to do a regex search, which is accomplished by enclosing string in forward slashes. The resulting SQL is targeted toward Oracle regex expressions. For example, following input strings will be appropriately evaluated.
a or b
-> ( ( select id from Record where name = a ) UNION ( select id from Record where name = b ) )
not a and not b
-> ( ( select id from Record MINUS ( select id from Record where name = a ) ) INTERSECT ( select id from Record MINUS ( select id from Record where name = b ) ) )
"a b c" or a\*
-> ( ( select id from Record where name = a b c ) UNION ( select id from Record where name LIKE a\% ESCAPE ) )
/^.*[[:digit:]]$/
-> ( select id from Record where REGEXP_LIKE(name, ^.*[[:digit:]]$, i) )
We use unions and intersects in order to accomodate searches for objects with multi-value attributes.
<<lessSynopsis:
import stanford.netdb.utils.*;
String sql_1 = Feild2SQL.parseField(type,table, column, input_str, field_display_name, post_filter);
String sql_2 = Feild2SQL.parseStringField(table, column, input_str, field_display_name);
String sql_3 = Feild2SQL.parseIntField(table, column, line, field_display_name);
Given an input string it builds SQL select statement. It supports two types of inputs, numeric and string. The catch is that this library allows usage of operators in the input string. Supported operators are and, or and not. It also supports wildcards *, %, ? and _ in string searches. In case of numeric searches no wildcards are supported.
To accommodate searches by strings, which have wildcards in them, backslashes can be used to escape appropriate characters. Obviously to search for it needs to be escaped as well. Strings with spaces needs to be enclosed in double quotes. The other possibility is to do a regex search, which is accomplished by enclosing string in forward slashes. The resulting SQL is targeted toward Oracle regex expressions. For example, following input strings will be appropriately evaluated.
a or b
-> ( ( select id from Record where name = a ) UNION ( select id from Record where name = b ) )
not a and not b
-> ( ( select id from Record MINUS ( select id from Record where name = a ) ) INTERSECT ( select id from Record MINUS ( select id from Record where name = b ) ) )
"a b c" or a\*
-> ( ( select id from Record where name = a b c ) UNION ( select id from Record where name LIKE a\% ESCAPE ) )
/^.*[[:digit:]]$/
-> ( select id from Record where REGEXP_LIKE(name, ^.*[[:digit:]]$, i) )
We use unions and intersects in order to accomodate searches for objects with multi-value attributes.
Download (0.006MB)
Added: 2007-07-26 License: GPL (GNU General Public License) Price:
820 downloads
myXTree 1.0
myXTree provides an interface to an SQL tree. more>>
myXTree provides an interface to an SQL tree.
myXTree is an interface to a SQL-tree. It is more about SQL-trees can learn in article SQL for Smarties and Relational Data Structures for Extensible Thesauri. This class allows to save the DOM-document in a SQL-tree and vice versa. For a choice of the data from a SQL-tree are used XPath expressions. Data reading of a SQL-tree can be carried out by two ways: by one SQL-query and recursive way.
The myXTree class use object PEAR::DB and object Document from package myDOM, which goes into package myXML.
Attached to realization of this class used a database mySQL and object PEAR::DB, but this, to regretting, does not do a class lightly bearable on other databases, because in class are used the specialized features mySQL. Because supposed, in the main, use of this class for little renewed data, then was select a tables type MyISAM (unsupported transaction).
A class does not support full features of XPath language. So far does not support an objects selection on namespace prefix; in base saved only the elements, text, CDATA and attributes; use of operator ??? (union) impossible only in recursive method; the XPath functions not implemented.
Enhancements:
- Error handling is completely advanced. PEAR style of error handling is extended with a new class "Error" (see file Error.php for details).
- The code became easier for understanding and for debugging.
<<lessmyXTree is an interface to a SQL-tree. It is more about SQL-trees can learn in article SQL for Smarties and Relational Data Structures for Extensible Thesauri. This class allows to save the DOM-document in a SQL-tree and vice versa. For a choice of the data from a SQL-tree are used XPath expressions. Data reading of a SQL-tree can be carried out by two ways: by one SQL-query and recursive way.
The myXTree class use object PEAR::DB and object Document from package myDOM, which goes into package myXML.
Attached to realization of this class used a database mySQL and object PEAR::DB, but this, to regretting, does not do a class lightly bearable on other databases, because in class are used the specialized features mySQL. Because supposed, in the main, use of this class for little renewed data, then was select a tables type MyISAM (unsupported transaction).
A class does not support full features of XPath language. So far does not support an objects selection on namespace prefix; in base saved only the elements, text, CDATA and attributes; use of operator ??? (union) impossible only in recursive method; the XPath functions not implemented.
Enhancements:
- Error handling is completely advanced. PEAR style of error handling is extended with a new class "Error" (see file Error.php for details).
- The code became easier for understanding and for debugging.
Download (0.054MB)
Added: 2007-04-04 License: LGPL (GNU Lesser General Public License) Price:
935 downloads
Dream DRM Receiver 1.6.25
Dream DRM Receiver is an implementation of Digital Radio Mondiale. more>>
Digital Radio Mondiale, also known as DRM, is a new digital radio standard for the long-, medium- and short-wave ranges.
The standard was formed by a consortium in co-operation with the International Telecommunication Union (ITU). The new system offers the radio stations and new service providers access to the multimedia age with small bit rates for large target areas and long distances.
The bandwidth of a DRM bandpass signal is less than 20 kHz and the number of carriers used in the OFDM-modulation is relatively small (max. 460). These features motivate a real-time software implementation of a DRM-receiver on a conventional personal computer (PC) using the sound card as the input and output device. A long, medium and short wave front-end with an intermediate frequency (IF) between 5 kHz and 15 kHz is used to receive the DRM signal.
Any commercial front-end with an IF of 455 kHz should be usable by adding a 455 kHz to 12 kHz adaptor (assumed the receiver bandwidth is sufficient for a DRM signal).
With this software project we intend to implement a working software receiver with, at least, the basic features. Since this project is created at a university and the fundamental idea of such an institution is to teach and stimulate the creativity, this source-code is free under the GNU-General Public License (GPL).
Dream is a development project which uses the open source model to improve DRM technology. The main aim of this project is to implement and test new research results on an existing system, whereby the synchronization and channel estimation is of special interest.
The programming-language is C++. The code runs under Microsoft Windows and Linux. Start of the project was June 2001.
Although this software is going to be distributed as free software under the terms of the GPL this does not mean that its use is free of rights of others. The use may infringe third party IP and thus may not be legal in some countries.
The intended audience of the Dream software are people who are interested in how to decode a DRM stream and want to learn from the algorithms used in this software and people who want to help us improving the performance of the receiver and the source code.
<<lessThe standard was formed by a consortium in co-operation with the International Telecommunication Union (ITU). The new system offers the radio stations and new service providers access to the multimedia age with small bit rates for large target areas and long distances.
The bandwidth of a DRM bandpass signal is less than 20 kHz and the number of carriers used in the OFDM-modulation is relatively small (max. 460). These features motivate a real-time software implementation of a DRM-receiver on a conventional personal computer (PC) using the sound card as the input and output device. A long, medium and short wave front-end with an intermediate frequency (IF) between 5 kHz and 15 kHz is used to receive the DRM signal.
Any commercial front-end with an IF of 455 kHz should be usable by adding a 455 kHz to 12 kHz adaptor (assumed the receiver bandwidth is sufficient for a DRM signal).
With this software project we intend to implement a working software receiver with, at least, the basic features. Since this project is created at a university and the fundamental idea of such an institution is to teach and stimulate the creativity, this source-code is free under the GNU-General Public License (GPL).
Dream is a development project which uses the open source model to improve DRM technology. The main aim of this project is to implement and test new research results on an existing system, whereby the synchronization and channel estimation is of special interest.
The programming-language is C++. The code runs under Microsoft Windows and Linux. Start of the project was June 2001.
Although this software is going to be distributed as free software under the terms of the GPL this does not mean that its use is free of rights of others. The use may infringe third party IP and thus may not be legal in some countries.
The intended audience of the Dream software are people who are interested in how to decode a DRM stream and want to learn from the algorithms used in this software and people who want to help us improving the performance of the receiver and the source code.
Download (0.80MB)
Added: 2006-09-12 License: GPL (GNU General Public License) Price:
774 downloads
Math::NumberCruncher 5.00
Math::NumberCruncher Perl module contains a collection of useful math-related functions. more>>
Math::NumberCruncher Perl module contains a collection of useful math-related functions.
SYNOPSIS
It should be noted that as of v4.0, there is now an OO interface to Math::NumberCruncher. For backwards compatibility, however, the previous, functional style will always be supported.
# OO Style
use Math::NumberCruncher;
$ref = Math::NumberCruncher->new();
# From this point on, all of the subroutines shown below will be available # through $ref (i.e., ( $high,$low ) = $ref->Range( @array )). For the sake # of brevity, consult the functional documentation (below) for the use # of specific functions.
# Functional Style
use Math::NumberCruncher;
($high, $low) = Math::NumberCruncher::Range(@array);
$mean = Math::NumberCruncher::Mean(@array);
$median = Math::NumberCruncher::Median(@array [, $decimal_places]);
$odd_median = Math::NumberCruncher::OddMedian(@array);
$mode = Math::NumberCruncher::Mode(@array);
$covariance = Math::NumberCruncher::Covariance(@array1, @array2);
$correlation = Math::NumberCruncher::Correlation(@array1, @array2);
($slope, $y_intercept) = Math::NumberCruncher::BestFit(@array1, @array2 [, $decimal_places]);
$distance = Math::NumberCruncher::Distance($x1,$y1,$z1,$x2,$y2,$z2 [, $decimal_places]);
$distance = Math::NumberCruncher::Distance($x1,$y1,$x1,$x2 [, $decimal_places]);
$distance = Math::NumberCruncher::ManhattanDistance($x1,$y1,$x2,$y2);
$probAll = Math::NumberCruncher::AllOf(0.3,0.25,0.91,0.002);
$probNone = Math::NumberCruncher::NoneOf(0.4,0.5772,0.212);
$probSome = Math::NumberCruncher::SomeOf(0.11,0.56,0.3275);
$factorial = Math::NumberCruncher::Factorial($some_number);
$permutations = Math::NumberCruncher::Permutation($n);
$permutations = Math::NumberCruncher::Permutation($n,$k);
$roll = Math::NumberCruncher::Dice(3,12,4);
$randInt = Math::NumberCruncher::RandInt(10,50);
$randomElement = Math::NumberCruncher::RandomElement(@array);
Math::NumberCruncher::ShuffleArray(@array);
@unique = Math::NumberCruncher::Unique(@array);
@a_only = Math::NumberCruncher::Compare(@a,@b);
@union = Math::NumberCruncher::Union(@a,@b);
@intersection = Math::NumberCruncher::Intersection(@a,@b);
@difference = Math::NumberCruncher::Difference(@a,@b);
$gaussianRand = Math::NumberCruncher::GaussianRand();
$ways = Math::NumberCruncher::Choose($n,$k);
$binomial = Math::NumberCruncher::Binomial($attempts,$successes,$probability);
$gaussianDist = Math::NumberCruncher::GaussianDist($x,$mean,$variance);
$StdDev = Math::NumberCruncher::StandardDeviation(@array [, $decimal_places]);
$variance = Math::NumberCruncher::Variance(@array [, $decimal_places]);
@scores = Math::NumberCruncher::StandardScores(@array [, $decimal_places]);
$confidence = Math::NumberCruncher::SignSignificance($trials,$hits,$probability);
$e = Math::Numbercruncher::EMC2( "m512", "miles" [, $decimal_places] );
$m = Math::NumberCruncher::EMC2( "e987432" "km" [, $decimal_places] );
$force = Math::NumberCruncher::FMA( "m12", "a73.5" [, $decimal_places] );
$mass = Math::NumberCruncher::FMA( "a43", "f1324" [, $decimal_places] );
$acceleration = Math::NumberCruncher::FMA( "f53512", "m356" [, $decimal_places] );
$predicted_value = Math::NubmerCruncher::Predict( $slope, $y_intercept, $proposed_x [, $decimal_places] );
$area = Math::NumberCruncher::TriangleHeron( $a, $b, $c [, $decimal_places] );
$area = Math::NumberCruncher::TriangleHeron( 1,3, 5,7, 8,2 [, $decimal_places] );
$perimeter = Math::NumberCruncher::PolygonPerimeter( $x0,$y0, $x1,$y1, $x2,$y2, ... [, p$decimal_places]);
$direction = Math::NumberCruncher::Clockwise( $x0,$y0, $x1,$y1, $x2,$y2 );
$collision = Math::NumberCruncher::InPolygon( $x, $y, @xy );
@points = Math::NumberCruncher::BoundingBox_Points( $d, @p );
$in_triangle = Math::NumberCruncher::InTriangle( $x,$y, $x0,$y0, $x1,$y1, $x2,$y2 );
$area = Math::NumberCruncher::PolygonArea( 0, 1, 1, 0, 2, 0, 3, 2, 2, 3 [, p$decimal_places] );
$area = Math::NumberCruncher::CircleArea( $diameter [, $decimal_places] );
$circumference = Math::NumberCruncher::Circumference( $diameter [, $decimal_places] );
$volume = Math::NumberCruncher::SphereVolume( $radius [, $decimal_places] );
$surface_area = Math::NumberCruncher::SphereSurface( $radius [, $decimal_places] );
$years = Math::NumberCruncher::RuleOf72( $interest_rate [, $decimal_places] );
$volume = Math::NumberCruncher::CylinderVolume( $radius, $height [, $decimal_places] );
$volume = Math::NumberCruncher::ConeVolume( $lowerBaseArea, $height [, $decimal_places] );
$radians = Math::NumberCruncher::deg2rad( $degrees [, $decimal_places] );
$degrees = Math::NumberCruncher::rad2deg( $radians [, $decimal_places] );
$Fahrenheit = Math::NumberCruncher::C2F( $Celsius [, $decimal_places] );
$Celsius = Math::NumberCruncher::F2C( $Fahrenheit [, $decimal_places] );
$cm = Math::NumberCruncher::in2cm( $inches [, $decimal_places] );
$inches = Math::NumberCruncher::cm2in( $cm [, $decimal_places] );
$ft = Math::NumberCruncher::m2ft( $m [, $decimal_places] );
$m = Math::NumberCruncher::ft2m( $ft [, $decimal_places] );
$miles = Math::NumberCruncher::km2miles( $km [, $decimal_places] );
$km = Math::NumberCruncher::miles2km( $miles [, $decimal_places] );
$lb = Math::NumberCruncher::kg2lb( $kg [, $decimal_places] );
$kg = Math::NumberCruncher::lb2kg( $lb [, $decimal_places] );
$RelativeStride = Math::NumberCruncher::RelativeStride( $stride_length, $leg_length [, $decimal_places] );
$RelativeStride = Math::NumberCruncher::RelativeStride_2( $DimensionlessSpeed [, $decimal_places] );
$DimensionlessSpeed = Math::NumberCruncher::DimensionlessSpeed( $RelativeStride [, $decimal_places] );
$DimensionlessSpeed = Math::NumberCruncher::DimensionlessSpeed_2( $ActualSpeed, $leg_length [, $decimal_places]);
$ActualSpeed = Math::NumberCruncher::ActualSpeed( $leg_length, $DimensionlessSpeed [, $decimal_places] );
$eccentricity = Math::NumberCruncher::Eccentricity( $half_major_axis, $half_minor_axis [, $decimal_places] );
$LatusRectum = Math::NumberCruncher::LatusRectum( $half_major_axis, $half_minor_axis [, $decimal_places] );
$EllipseArea = Math::NumberCruncher::EllipseArea( $half_major_axis, $half_minor_axis [, $decimal_places] );
$OrbitalVelocity = Math::NumberCruncher::OrbitalVelocity( $r, $a, $M [, $decimal_places] );
$sine = Math::NumberCruncher::sin( $x [, $decimal_places] );
$cosine = Math::NumberCruncher::cos( $x [, $decimal_places] );
$tangent = Math::NumberCruncher::tan( $x [, $decimal_places] );
$arcsin = Math::NumberCruncher::asin( $x [, $decimal_places] );
$arccos = Math::NumberCruncher::acos( $x [, $decimal_places] );
$arctan = Math::NumberCruncher::atan( $x [, $decimal_places] );
$cotangent = Math::NumberCruncher::cot( $x [, $decimal_places] );
$arccot = Math::NumberCruncher::acot( $x [, $decimal_places] );
$secant = Math::NumberCruncher::sec( $x [, $decimal_places] );
$arcsec = Math::NumberCruncher::asec( $x [, $decimal_places] );
$cosecant = Math::NumberCruncher::csc( $x [, $decimal_places] );
$arccosecant = Math::NumberCruncher::acsc( $x [, $decimal_places] );
$exsecant = Math::NumberCruncher::exsec( $x [, $decimal_places] );
$versine = Math::NumberCruncher::vers( $x [, $decimal_places] );
$coversine = Math::NumberCruncher::covers( $x [, $decimal_places] );
$haversine = Math::NumberCruncher::hav( $x [, $decimal_places] );
$grouped = Math::NumberCruncher::Commas( $number );
$SqrRoot = Math::NumberCruncher::SqrRoot( $number [, $decimal_places] );
$square_root = Math::NumberCruncher::sqrt( $x [, $decimal_places] );
$root = Math::NumberCruncher::Root( 55, 3 [, $decimal_places] );
$root = Math::NumberCruncher::Root2( 55, 3 [, $decimal_places] );
$log = Math::NumberCruncher::Ln( 100 [, $decimal_places] );
$log = Math::NumberCruncher::log( $num [, $decimal_places] );
$num = Math::NumberCruncher::Exp( 0.111 [, $decimal_places] );
$num = Math::NumberCruncher::exp( $log [, $decimal_places] );
$Pi = Math::NumberCruncher::PICONST( $decimal_places );
$E = Math::NumberCruncher::ECONST( $decimal_places );
( $A, $B, $C ) = Math::NumberCruncher::PythagTriples( $x, $y [, $decimal_places] );
$z = Math::NumberCruncher::PythagTriplesSeq( $x, $y [, $decimal_places] );
@nums = Math::NumberCruncher::SIS( [$start, $numbers, $increment] );
$inverse = Math::NumberCruncher::Inverse( $number [, $decimal_places] );
@constants = Math::NumberCruncher::CONSTANTS( all [, $decimal_places] );
$bernoulli = Math::NumberCruncher::Bernoulli( $num [, $decimal_places] );
@bernoulli = Math::NumberCruncher::Bernoulli( $num );
<<lessSYNOPSIS
It should be noted that as of v4.0, there is now an OO interface to Math::NumberCruncher. For backwards compatibility, however, the previous, functional style will always be supported.
# OO Style
use Math::NumberCruncher;
$ref = Math::NumberCruncher->new();
# From this point on, all of the subroutines shown below will be available # through $ref (i.e., ( $high,$low ) = $ref->Range( @array )). For the sake # of brevity, consult the functional documentation (below) for the use # of specific functions.
# Functional Style
use Math::NumberCruncher;
($high, $low) = Math::NumberCruncher::Range(@array);
$mean = Math::NumberCruncher::Mean(@array);
$median = Math::NumberCruncher::Median(@array [, $decimal_places]);
$odd_median = Math::NumberCruncher::OddMedian(@array);
$mode = Math::NumberCruncher::Mode(@array);
$covariance = Math::NumberCruncher::Covariance(@array1, @array2);
$correlation = Math::NumberCruncher::Correlation(@array1, @array2);
($slope, $y_intercept) = Math::NumberCruncher::BestFit(@array1, @array2 [, $decimal_places]);
$distance = Math::NumberCruncher::Distance($x1,$y1,$z1,$x2,$y2,$z2 [, $decimal_places]);
$distance = Math::NumberCruncher::Distance($x1,$y1,$x1,$x2 [, $decimal_places]);
$distance = Math::NumberCruncher::ManhattanDistance($x1,$y1,$x2,$y2);
$probAll = Math::NumberCruncher::AllOf(0.3,0.25,0.91,0.002);
$probNone = Math::NumberCruncher::NoneOf(0.4,0.5772,0.212);
$probSome = Math::NumberCruncher::SomeOf(0.11,0.56,0.3275);
$factorial = Math::NumberCruncher::Factorial($some_number);
$permutations = Math::NumberCruncher::Permutation($n);
$permutations = Math::NumberCruncher::Permutation($n,$k);
$roll = Math::NumberCruncher::Dice(3,12,4);
$randInt = Math::NumberCruncher::RandInt(10,50);
$randomElement = Math::NumberCruncher::RandomElement(@array);
Math::NumberCruncher::ShuffleArray(@array);
@unique = Math::NumberCruncher::Unique(@array);
@a_only = Math::NumberCruncher::Compare(@a,@b);
@union = Math::NumberCruncher::Union(@a,@b);
@intersection = Math::NumberCruncher::Intersection(@a,@b);
@difference = Math::NumberCruncher::Difference(@a,@b);
$gaussianRand = Math::NumberCruncher::GaussianRand();
$ways = Math::NumberCruncher::Choose($n,$k);
$binomial = Math::NumberCruncher::Binomial($attempts,$successes,$probability);
$gaussianDist = Math::NumberCruncher::GaussianDist($x,$mean,$variance);
$StdDev = Math::NumberCruncher::StandardDeviation(@array [, $decimal_places]);
$variance = Math::NumberCruncher::Variance(@array [, $decimal_places]);
@scores = Math::NumberCruncher::StandardScores(@array [, $decimal_places]);
$confidence = Math::NumberCruncher::SignSignificance($trials,$hits,$probability);
$e = Math::Numbercruncher::EMC2( "m512", "miles" [, $decimal_places] );
$m = Math::NumberCruncher::EMC2( "e987432" "km" [, $decimal_places] );
$force = Math::NumberCruncher::FMA( "m12", "a73.5" [, $decimal_places] );
$mass = Math::NumberCruncher::FMA( "a43", "f1324" [, $decimal_places] );
$acceleration = Math::NumberCruncher::FMA( "f53512", "m356" [, $decimal_places] );
$predicted_value = Math::NubmerCruncher::Predict( $slope, $y_intercept, $proposed_x [, $decimal_places] );
$area = Math::NumberCruncher::TriangleHeron( $a, $b, $c [, $decimal_places] );
$area = Math::NumberCruncher::TriangleHeron( 1,3, 5,7, 8,2 [, $decimal_places] );
$perimeter = Math::NumberCruncher::PolygonPerimeter( $x0,$y0, $x1,$y1, $x2,$y2, ... [, p$decimal_places]);
$direction = Math::NumberCruncher::Clockwise( $x0,$y0, $x1,$y1, $x2,$y2 );
$collision = Math::NumberCruncher::InPolygon( $x, $y, @xy );
@points = Math::NumberCruncher::BoundingBox_Points( $d, @p );
$in_triangle = Math::NumberCruncher::InTriangle( $x,$y, $x0,$y0, $x1,$y1, $x2,$y2 );
$area = Math::NumberCruncher::PolygonArea( 0, 1, 1, 0, 2, 0, 3, 2, 2, 3 [, p$decimal_places] );
$area = Math::NumberCruncher::CircleArea( $diameter [, $decimal_places] );
$circumference = Math::NumberCruncher::Circumference( $diameter [, $decimal_places] );
$volume = Math::NumberCruncher::SphereVolume( $radius [, $decimal_places] );
$surface_area = Math::NumberCruncher::SphereSurface( $radius [, $decimal_places] );
$years = Math::NumberCruncher::RuleOf72( $interest_rate [, $decimal_places] );
$volume = Math::NumberCruncher::CylinderVolume( $radius, $height [, $decimal_places] );
$volume = Math::NumberCruncher::ConeVolume( $lowerBaseArea, $height [, $decimal_places] );
$radians = Math::NumberCruncher::deg2rad( $degrees [, $decimal_places] );
$degrees = Math::NumberCruncher::rad2deg( $radians [, $decimal_places] );
$Fahrenheit = Math::NumberCruncher::C2F( $Celsius [, $decimal_places] );
$Celsius = Math::NumberCruncher::F2C( $Fahrenheit [, $decimal_places] );
$cm = Math::NumberCruncher::in2cm( $inches [, $decimal_places] );
$inches = Math::NumberCruncher::cm2in( $cm [, $decimal_places] );
$ft = Math::NumberCruncher::m2ft( $m [, $decimal_places] );
$m = Math::NumberCruncher::ft2m( $ft [, $decimal_places] );
$miles = Math::NumberCruncher::km2miles( $km [, $decimal_places] );
$km = Math::NumberCruncher::miles2km( $miles [, $decimal_places] );
$lb = Math::NumberCruncher::kg2lb( $kg [, $decimal_places] );
$kg = Math::NumberCruncher::lb2kg( $lb [, $decimal_places] );
$RelativeStride = Math::NumberCruncher::RelativeStride( $stride_length, $leg_length [, $decimal_places] );
$RelativeStride = Math::NumberCruncher::RelativeStride_2( $DimensionlessSpeed [, $decimal_places] );
$DimensionlessSpeed = Math::NumberCruncher::DimensionlessSpeed( $RelativeStride [, $decimal_places] );
$DimensionlessSpeed = Math::NumberCruncher::DimensionlessSpeed_2( $ActualSpeed, $leg_length [, $decimal_places]);
$ActualSpeed = Math::NumberCruncher::ActualSpeed( $leg_length, $DimensionlessSpeed [, $decimal_places] );
$eccentricity = Math::NumberCruncher::Eccentricity( $half_major_axis, $half_minor_axis [, $decimal_places] );
$LatusRectum = Math::NumberCruncher::LatusRectum( $half_major_axis, $half_minor_axis [, $decimal_places] );
$EllipseArea = Math::NumberCruncher::EllipseArea( $half_major_axis, $half_minor_axis [, $decimal_places] );
$OrbitalVelocity = Math::NumberCruncher::OrbitalVelocity( $r, $a, $M [, $decimal_places] );
$sine = Math::NumberCruncher::sin( $x [, $decimal_places] );
$cosine = Math::NumberCruncher::cos( $x [, $decimal_places] );
$tangent = Math::NumberCruncher::tan( $x [, $decimal_places] );
$arcsin = Math::NumberCruncher::asin( $x [, $decimal_places] );
$arccos = Math::NumberCruncher::acos( $x [, $decimal_places] );
$arctan = Math::NumberCruncher::atan( $x [, $decimal_places] );
$cotangent = Math::NumberCruncher::cot( $x [, $decimal_places] );
$arccot = Math::NumberCruncher::acot( $x [, $decimal_places] );
$secant = Math::NumberCruncher::sec( $x [, $decimal_places] );
$arcsec = Math::NumberCruncher::asec( $x [, $decimal_places] );
$cosecant = Math::NumberCruncher::csc( $x [, $decimal_places] );
$arccosecant = Math::NumberCruncher::acsc( $x [, $decimal_places] );
$exsecant = Math::NumberCruncher::exsec( $x [, $decimal_places] );
$versine = Math::NumberCruncher::vers( $x [, $decimal_places] );
$coversine = Math::NumberCruncher::covers( $x [, $decimal_places] );
$haversine = Math::NumberCruncher::hav( $x [, $decimal_places] );
$grouped = Math::NumberCruncher::Commas( $number );
$SqrRoot = Math::NumberCruncher::SqrRoot( $number [, $decimal_places] );
$square_root = Math::NumberCruncher::sqrt( $x [, $decimal_places] );
$root = Math::NumberCruncher::Root( 55, 3 [, $decimal_places] );
$root = Math::NumberCruncher::Root2( 55, 3 [, $decimal_places] );
$log = Math::NumberCruncher::Ln( 100 [, $decimal_places] );
$log = Math::NumberCruncher::log( $num [, $decimal_places] );
$num = Math::NumberCruncher::Exp( 0.111 [, $decimal_places] );
$num = Math::NumberCruncher::exp( $log [, $decimal_places] );
$Pi = Math::NumberCruncher::PICONST( $decimal_places );
$E = Math::NumberCruncher::ECONST( $decimal_places );
( $A, $B, $C ) = Math::NumberCruncher::PythagTriples( $x, $y [, $decimal_places] );
$z = Math::NumberCruncher::PythagTriplesSeq( $x, $y [, $decimal_places] );
@nums = Math::NumberCruncher::SIS( [$start, $numbers, $increment] );
$inverse = Math::NumberCruncher::Inverse( $number [, $decimal_places] );
@constants = Math::NumberCruncher::CONSTANTS( all [, $decimal_places] );
$bernoulli = Math::NumberCruncher::Bernoulli( $num [, $decimal_places] );
@bernoulli = Math::NumberCruncher::Bernoulli( $num );
Download (0.080MB)
Added: 2007-07-05 License: Perl Artistic License Price:
842 downloads
Aero AIO: cpu/mem plugin mod 2.1.3
Aero AIO: cpu/mem plugin mod is a mod of the cpu/memory plugin for aero aio. more>>
Aero AIO: cpu/mem plugin mod is a mod of the cpu/memory plugin for aero aio. The hardware information is gathered via backends. You can easily write a python backend for your hardware.
Look at the files cpumemv2_backend.py, cpumemv2_default.py and cpumemv2_i8k.py to learn how to write backends.
Main features:
- default backend that supports CPU temeratures via /proc/acpi/thermal_zone and hard disk temperatures via hddtemp. You can start hddtemp by (as root)
- hddtemp -d /dev/hda
- Replace hda with the hard disk you want monitored.
- ibmacpi backend (for IBM laptops). Thanks to Frank Fiene. Supports CPU, GPU, hdd, fan and pci data, via the ibm acpi kernel module. Boy those IBM laptops have a lot of sensors!
- i8k backend (for Dell laptops). Supports cpu temp and fan speeds via the i8k kernel module.
- The backends are cascaded. The code automatically looks through all backends for support of each feature. the final feature set is the union of all backends
- If an update temporarily fails (this tends to happen with hddtemp), it is indicated on the theme by the : in front of the sensor name becoming an _
<<lessLook at the files cpumemv2_backend.py, cpumemv2_default.py and cpumemv2_i8k.py to learn how to write backends.
Main features:
- default backend that supports CPU temeratures via /proc/acpi/thermal_zone and hard disk temperatures via hddtemp. You can start hddtemp by (as root)
- hddtemp -d /dev/hda
- Replace hda with the hard disk you want monitored.
- ibmacpi backend (for IBM laptops). Thanks to Frank Fiene. Supports CPU, GPU, hdd, fan and pci data, via the ibm acpi kernel module. Boy those IBM laptops have a lot of sensors!
- i8k backend (for Dell laptops). Supports cpu temp and fan speeds via the i8k kernel module.
- The backends are cascaded. The code automatically looks through all backends for support of each feature. the final feature set is the union of all backends
- If an update temporarily fails (this tends to happen with hddtemp), it is indicated on the theme by the : in front of the sensor name becoming an _
Download (0.007MB)
Added: 2006-06-20 License: GPL (GNU General Public License) Price:
1226 downloads
Gestinanna::Util 0.02
Gestinanna::Util Perl module contains utility functions. more>>
Gestinanna::Util Perl module contains utility functions.
SYNOPSIS
use Gestinanna::Util qw(:path);
my $regex = path2regex($path)
my $cmp = path_cmp($path_a, $path_b);
use Gestinanna::Util qw(:hash);
my $new_hash = deep_merge_hash(@hashes);
This module provides utility functions that have no better place to be. Sets of utility functions may be imported by specifying their tags.
:path
Imports: path2regex, path_cmp
PATHS
Paths are made up of a sub-set of the XPath language:
/
The slash (/) is the component separator. Alone, it describes the root of the
resource heirarchy.
//
The double slash (//) stands in place of any number of components (zero or more). Alone, it matches any possible path that does not specify attributes or a final component. To match any component with any attributes, use //*|//*@*.
@
The at sign (@) is the attribute separator. A path should only have one. It separates the final component from any attribute. If no attribute follows it, it stands for the general collection of attributes for an object.
|
The pipe symbol (|) separates paths which together specify a union.
&
The ampersand (&) separates paths which together specify an intersection. Intersection has higher precedence to union. For example, the path //a/* & //*@name | //b/* is considered to be (//a/* & //*@name) | //b/*, not //a/* & (//*@name | //b/*). There are no parenthesis for grouping in actual path expressions.
!
An odd number of initial bangs (!) will negate the following clause, up to a pipe (|) or ampersand (&). An even number of initial bangs will have no effect.
Examples:
The following are some examples of paths.
//*
This matches any path. Attaching attributes to this path will apply them to all objects.
//*@name
This matches the name attribute of all objects.
//*/*
This matches any component that is not at the top-level.
!//a//* & //b//*
This matches any path that has a b component and not an a component.
<<lessSYNOPSIS
use Gestinanna::Util qw(:path);
my $regex = path2regex($path)
my $cmp = path_cmp($path_a, $path_b);
use Gestinanna::Util qw(:hash);
my $new_hash = deep_merge_hash(@hashes);
This module provides utility functions that have no better place to be. Sets of utility functions may be imported by specifying their tags.
:path
Imports: path2regex, path_cmp
PATHS
Paths are made up of a sub-set of the XPath language:
/
The slash (/) is the component separator. Alone, it describes the root of the
resource heirarchy.
//
The double slash (//) stands in place of any number of components (zero or more). Alone, it matches any possible path that does not specify attributes or a final component. To match any component with any attributes, use //*|//*@*.
@
The at sign (@) is the attribute separator. A path should only have one. It separates the final component from any attribute. If no attribute follows it, it stands for the general collection of attributes for an object.
|
The pipe symbol (|) separates paths which together specify a union.
&
The ampersand (&) separates paths which together specify an intersection. Intersection has higher precedence to union. For example, the path //a/* & //*@name | //b/* is considered to be (//a/* & //*@name) | //b/*, not //a/* & (//*@name | //b/*). There are no parenthesis for grouping in actual path expressions.
!
An odd number of initial bangs (!) will negate the following clause, up to a pipe (|) or ampersand (&). An even number of initial bangs will have no effect.
Examples:
The following are some examples of paths.
//*
This matches any path. Attaching attributes to this path will apply them to all objects.
//*@name
This matches the name attribute of all objects.
//*/*
This matches any component that is not at the top-level.
!//a//* & //b//*
This matches any path that has a b component and not an a component.
Download (0.21MB)
Added: 2007-07-06 License: Perl Artistic License Price:
840 downloads
SQL::Interpolate 0.33
SQL::Interpolate is a Perl module to interpolate Perl variables into SQL statements. more>>
SQL::Interpolate is a Perl module to interpolate Perl variables into SQL statements.
SYNOPSIS
use SQL::Interpolate qw(:all);
# Some sample data to interpolate:
my $s = blue; my @v = (5, 6);
# Variable references are transformed into bind parameters.
# The most basic usage involves scalarrefs (as well as arrayrefs
# preceeded by "IN").
my ($sql, @bind) = sql_interp
SELECT * FROM table WHERE x = , $s, AND y IN, @v;
# RESULT:
# $sql = SELECT * FROM mytable WHERE x = ? AND y IN (?, ?)
# @bind = ($s, @v);
# In certain contexts, an arrayref or hashref acts as a single tuple:
my ($sql, @bind) = sql_interp
INSERT INTO table, {x => $s, y => 1};
# RESULT:
# $sql = INSERT INTO mytable (x, y) VALUES(?, ?);
# @bind = ($s, 1);
my ($sql, @bind) = sql_interp
UPDATE table SET, {x => $s, y => 1}, WHERE y , 2;
# RESULT:
# $sql = UPDATE mytable SET x = ?, y = ? WHERE y ?;
# @bind = ($s, 1, 2);
# In general, a hashref provides a shortcut for specifying
# a logical-AND construction:
my ($sql, @bind) = sql_interp
SELECT * FROM table WHERE, {x => $s, y => @v};
# RESULT:
# $sql = SELECT * FROM mytable WHERE (x = ? AND y IN (?, ?));
# @bind = ($s, @v);
# In general, an arrayref acts as a result set or reference to
# a temporary table:
my ($sql, @bind) = sql_interp
[[1, 2], [4, 5]], UNION, [{x => 2, y => 3}, {x => 5, y => 6};
# RESULT:
# $sql = (SELECT ?, ? UNION ALL SELECT ?, ?) UNION
# (SELECT ? AS x, ? AS y UNION ALL SELECT ?, ?);
# @bind = (1,2,4,5, 2,3,5,6);
my ($sql, @bind) = sql_interp
SELECT * FROM, [[1, 2], [4, 5]]
# RESULT:
# $sql = SELECT * FROM (SELECT ?, ? UNION ALL SELECT ?, ?) AS tbl0;
# @bind = (1,2,4,5);
# Each result above is suitable for passing to DBI:
my $res = $dbh->selectall_arrayref($sql, undef, @bind);
# Besides these simple techniques shown, SQL-Interpolate includes
# various optional modules to further integrate SQL::Interpolate with
# DBI and streamline the syntax with source filtering and macros (see
# the L section):
use DBIx::Interpolate FILTER => 1;
...
my $rows = $dbx->selectall_arrayref(sql[
SELECT thid, date, title, subject
FROM threads
WHERE date > $x AND subject IN @subjects
]);
<<lessSYNOPSIS
use SQL::Interpolate qw(:all);
# Some sample data to interpolate:
my $s = blue; my @v = (5, 6);
# Variable references are transformed into bind parameters.
# The most basic usage involves scalarrefs (as well as arrayrefs
# preceeded by "IN").
my ($sql, @bind) = sql_interp
SELECT * FROM table WHERE x = , $s, AND y IN, @v;
# RESULT:
# $sql = SELECT * FROM mytable WHERE x = ? AND y IN (?, ?)
# @bind = ($s, @v);
# In certain contexts, an arrayref or hashref acts as a single tuple:
my ($sql, @bind) = sql_interp
INSERT INTO table, {x => $s, y => 1};
# RESULT:
# $sql = INSERT INTO mytable (x, y) VALUES(?, ?);
# @bind = ($s, 1);
my ($sql, @bind) = sql_interp
UPDATE table SET, {x => $s, y => 1}, WHERE y , 2;
# RESULT:
# $sql = UPDATE mytable SET x = ?, y = ? WHERE y ?;
# @bind = ($s, 1, 2);
# In general, a hashref provides a shortcut for specifying
# a logical-AND construction:
my ($sql, @bind) = sql_interp
SELECT * FROM table WHERE, {x => $s, y => @v};
# RESULT:
# $sql = SELECT * FROM mytable WHERE (x = ? AND y IN (?, ?));
# @bind = ($s, @v);
# In general, an arrayref acts as a result set or reference to
# a temporary table:
my ($sql, @bind) = sql_interp
[[1, 2], [4, 5]], UNION, [{x => 2, y => 3}, {x => 5, y => 6};
# RESULT:
# $sql = (SELECT ?, ? UNION ALL SELECT ?, ?) UNION
# (SELECT ? AS x, ? AS y UNION ALL SELECT ?, ?);
# @bind = (1,2,4,5, 2,3,5,6);
my ($sql, @bind) = sql_interp
SELECT * FROM, [[1, 2], [4, 5]]
# RESULT:
# $sql = SELECT * FROM (SELECT ?, ? UNION ALL SELECT ?, ?) AS tbl0;
# @bind = (1,2,4,5);
# Each result above is suitable for passing to DBI:
my $res = $dbh->selectall_arrayref($sql, undef, @bind);
# Besides these simple techniques shown, SQL-Interpolate includes
# various optional modules to further integrate SQL::Interpolate with
# DBI and streamline the syntax with source filtering and macros (see
# the L section):
use DBIx::Interpolate FILTER => 1;
...
my $rows = $dbx->selectall_arrayref(sql[
SELECT thid, date, title, subject
FROM threads
WHERE date > $x AND subject IN @subjects
]);
Download (0.056MB)
Added: 2007-04-05 License: Perl Artistic License Price:
933 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above teamsters union 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