total number
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3535
number 2.30
number is a perl script that will print the English name of a number. more>>
number is a perl script that will print the English name of a number. One can print names of extremely large numbers (e.g. 1e1234567). Number can be run on the command line, or as a CGI script when run as number.cgi.
Number prints names in both the American and European naming system. It can also print the decimal expansion of a number in either naming system.
<<lessNumber prints names in both the American and European naming system. It can also print the decimal expansion of a number in either naming system.
Download (0.028MB)
Added: 2006-09-19 License: Freely Distributable Price:
1130 downloads
Scalar::Number 0.001
Scalar::Number is a Perl module with numeric aspects of scalars. more>>
Scalar::Number is a Perl module with numeric aspects of scalars.
SYNOPSIS
use Scalar::Number qw(scalar_num_part);
$num = scalar_num_part($scalar);
use Scalar::Number qw(sclnum_is_natint sclnum_is_float);
if(sclnum_is_natint($value)) { ...
if(sclnum_is_float($value)) { ...
use Scalar::Number qw(sclnum_val_cmp sclnum_id_cmp);
@sorted_nums = sort { sclnum_val_cmp($a, $b) } @floats;
@sorted_nums = sort { sclnum_id_cmp($a, $b) } @floats;
This module is about the numeric part of plain (string) Perl scalars. A scalar has a numeric value, which may be expressed in either the native integer type or the native floating point type. Many values are expressible both ways, in which case the exact representation is insignificant. To fully understand Perl arithmetic it is necessary to know about both of these representations, and the differing behaviours of numbers according to which way they are expressible.
This module provides functions to extract the numeric part of a scalar, classify a number by expressibility, and compare numbers across representations.
<<lessSYNOPSIS
use Scalar::Number qw(scalar_num_part);
$num = scalar_num_part($scalar);
use Scalar::Number qw(sclnum_is_natint sclnum_is_float);
if(sclnum_is_natint($value)) { ...
if(sclnum_is_float($value)) { ...
use Scalar::Number qw(sclnum_val_cmp sclnum_id_cmp);
@sorted_nums = sort { sclnum_val_cmp($a, $b) } @floats;
@sorted_nums = sort { sclnum_id_cmp($a, $b) } @floats;
This module is about the numeric part of plain (string) Perl scalars. A scalar has a numeric value, which may be expressed in either the native integer type or the native floating point type. Many values are expressible both ways, in which case the exact representation is insignificant. To fully understand Perl arithmetic it is necessary to know about both of these representations, and the differing behaviours of numbers according to which way they are expressible.
This module provides functions to extract the numeric part of a scalar, classify a number by expressibility, and compare numbers across representations.
Download (0.009MB)
Added: 2007-05-21 License: Perl Artistic License Price:
886 downloads
TEA Total 0.4
TEA Total is a very small 128 bit private key based encryption/decryption system . more>>
TEA Total is a very small 128 bit private key based encryption/decryption system which uses the block variant of TEA (Tiny Encryption Algorithm).
TEA is said to be several times faster than DES, as well as being much smaller and possibly more secure. It also isnt encumbered by any patents and the reference implementation is in the public domain.
Currently TEA Total only supports encryption and decryption of files (with optional compression and/or Base64 ASCII encoding). I am writing a set of TEA based encrypted tunnel programs which will allow you to wrap applications such that their input and output will be transparently forwarded over a network in encrypted form.
About the name: TEA Total is a play on the TEA encryption algorithm which is at the heart of the package, and the phrase "tee total"; a term used to refer to a person who does not drink alcohol. This is appropriate because I am tee total myself.
To build TEA Total in a Unix type environment, edit config.inc to select the options you want to build, your install prefix, and your architecture type, then type make. Check that the compares succeed, then run make install (possibly as root).
After it builds, it will run through a set of self tests. Read the output carefully to make sure that they have all passed.
Note that the Makefile uses some GNU-Makeisms, so on systems which have pmake or something else by default, you may have to install gnu make instead and run it with "gmake".
If you are building on a currently unsupported architecture type, you will need to add a new architecture type description to config.inc and arch.h.
The program can be installed using "make install".
<<lessTEA is said to be several times faster than DES, as well as being much smaller and possibly more secure. It also isnt encumbered by any patents and the reference implementation is in the public domain.
Currently TEA Total only supports encryption and decryption of files (with optional compression and/or Base64 ASCII encoding). I am writing a set of TEA based encrypted tunnel programs which will allow you to wrap applications such that their input and output will be transparently forwarded over a network in encrypted form.
About the name: TEA Total is a play on the TEA encryption algorithm which is at the heart of the package, and the phrase "tee total"; a term used to refer to a person who does not drink alcohol. This is appropriate because I am tee total myself.
To build TEA Total in a Unix type environment, edit config.inc to select the options you want to build, your install prefix, and your architecture type, then type make. Check that the compares succeed, then run make install (possibly as root).
After it builds, it will run through a set of self tests. Read the output carefully to make sure that they have all passed.
Note that the Makefile uses some GNU-Makeisms, so on systems which have pmake or something else by default, you may have to install gnu make instead and run it with "gmake".
If you are building on a currently unsupported architecture type, you will need to add a new architecture type description to config.inc and arch.h.
The program can be installed using "make install".
Download (0.017MB)
Added: 2006-07-14 License: GPL (GNU General Public License) Price:
1199 downloads
Test::Number::Delta 1.03
Test::Number::Delta is a Perl module to compare the difference between numbers against a given tolerance. more>>
Test::Number::Delta is a Perl module to compare the difference between numbers against a given tolerance.
SYNOPSIS
# Import test functions
use Test::Number::Delta;
# Equality test with default tolerance
delta_ok( 1e-5, 2e-5, values within 1e-6);
# Inequality test with default tolerance
delta_not_ok( 1e-5, 2e-5, values not within 1e-6);
# Provide specific tolerance
delta_within( 1e-3, 2e-3, 1e-4, values within 1e-4);
delta_not_within( 1e-3, 2e-3, 1e-4, values not within 1e-4);
# Compare arrays or matrices
@a = ( 3.14, 1.41 );
@b = ( 3.15, 1.41 );
delta_ok( @a, @b, compare @a and @b );
# Set a different default tolerance
use Test::Number::Delta within => 1e-5;
delta_ok( 1.1e-5, 2e-5, values within 1e-5); # ok
# Set a relative tolerance
use Test::Number::Delta relative => 1e-3;
delta_ok( 1.01, 1.0099, values within 1.01e-3);
At some point or another, most programmers find they need to compare floating-point numbers for equality. The typical idiom is to test if the absolute value of the difference of the numbers is within a desired tolerance, usually called epsilon. This module provides such a function for use with Test::Harness. Usage is similar to other test functions described in Test::More. Semantically, the delta_within function replaces this kind of construct:
ok ( abs($p - $q) < $epsilon, $p is equal to $q ) or
diag "$p is not equal to $q to within $epsilon";
While theres nothing wrong with that construct, its painful to type it repeatedly in a test script. This module does the same thing with a single function call. The delta_ok function is similar, but either uses a global default value for epsilon or else calculates a relative epsilon on the fly so that epsilon is scaled automatically to the size of the arguments to delta_ok. Both functions are exported automatically.
Because checking floating-point equality is not always reliable, it is not possible to check the equal to boundary of less than or equal to epsilon. Therefore, Test::Number::Delta only compares if the absolute value of the difference is less than epsilon (for equality tests) or greater than epsilon (for inequality tests).
<<lessSYNOPSIS
# Import test functions
use Test::Number::Delta;
# Equality test with default tolerance
delta_ok( 1e-5, 2e-5, values within 1e-6);
# Inequality test with default tolerance
delta_not_ok( 1e-5, 2e-5, values not within 1e-6);
# Provide specific tolerance
delta_within( 1e-3, 2e-3, 1e-4, values within 1e-4);
delta_not_within( 1e-3, 2e-3, 1e-4, values not within 1e-4);
# Compare arrays or matrices
@a = ( 3.14, 1.41 );
@b = ( 3.15, 1.41 );
delta_ok( @a, @b, compare @a and @b );
# Set a different default tolerance
use Test::Number::Delta within => 1e-5;
delta_ok( 1.1e-5, 2e-5, values within 1e-5); # ok
# Set a relative tolerance
use Test::Number::Delta relative => 1e-3;
delta_ok( 1.01, 1.0099, values within 1.01e-3);
At some point or another, most programmers find they need to compare floating-point numbers for equality. The typical idiom is to test if the absolute value of the difference of the numbers is within a desired tolerance, usually called epsilon. This module provides such a function for use with Test::Harness. Usage is similar to other test functions described in Test::More. Semantically, the delta_within function replaces this kind of construct:
ok ( abs($p - $q) < $epsilon, $p is equal to $q ) or
diag "$p is not equal to $q to within $epsilon";
While theres nothing wrong with that construct, its painful to type it repeatedly in a test script. This module does the same thing with a single function call. The delta_ok function is similar, but either uses a global default value for epsilon or else calculates a relative epsilon on the fly so that epsilon is scaled automatically to the size of the arguments to delta_ok. Both functions are exported automatically.
Because checking floating-point equality is not always reliable, it is not possible to check the equal to boundary of less than or equal to epsilon. Therefore, Test::Number::Delta only compares if the absolute value of the difference is less than epsilon (for equality tests) or greater than epsilon (for inequality tests).
Download (0.018MB)
Added: 2007-01-18 License: Perl Artistic License Price:
1015 downloads
Convert::Number::Digits 0.03
Convert::Number::Digits is a Perl module that convert Digits Between the Scripts of Unicode. more>>
Convert::Number::Digits is a Perl module that convert Digits Between the Scripts of Unicode.
SYNOPSIS
use utf8;
require Convert::Number::Digits;
my $number = 12345;
my $d = new Convert::Number::Digits ( $number );
print "$number => ", $d->toArabic, "n";
my $gujarti = $d->toGujarti;
my $khmer = reverse ( $d->toKhmer );
$d->number ( $khmer ); # reset the number
print "$number => $gujarti => ", $d->number, " => ", $n->convert, "n";
The Convert::Number::Digits will convert a sequence of digits from one script supported in Unicode, into another. UTF-8 encoding is used for all scripts.
<<lessSYNOPSIS
use utf8;
require Convert::Number::Digits;
my $number = 12345;
my $d = new Convert::Number::Digits ( $number );
print "$number => ", $d->toArabic, "n";
my $gujarti = $d->toGujarti;
my $khmer = reverse ( $d->toKhmer );
$d->number ( $khmer ); # reset the number
print "$number => $gujarti => ", $d->number, " => ", $n->convert, "n";
The Convert::Number::Digits will convert a sequence of digits from one script supported in Unicode, into another. UTF-8 encoding is used for all scripts.
Download (0.005MB)
Added: 2006-08-02 License: Perl Artistic License Price:
1178 downloads
Number::Latin 1.01
Number::Latin is a Perl module that can convert to/from the number system a,b,...z,aa,ab.... more>>
Number::Latin is a Perl module that can convert to/from the number system "a,b,...z,aa,ab..."
SYNOPSIS
use Number::Latin;
print join( , map int2latin($_), 1 .. 30), "n";
#
# Prints:
# a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad
Some applications, notably the numbering of points in outlines, use a scheme that starts with the letter "a", goes to "z", and then starts over with "aa" thru "az", then "ba", and so on. (The W3C refers to this numbering system as "lower-latin"/"upper-latin" or "lower alpha"/"upper alpha", in discussions of HTML/CSS options for rendering of list elements (OL/LI).)
This module provides functions that deal with that numbering system, converting between it and integer values.
FUNCTIONS
This module exports four functions, int2latin, int2Latin, int2LATIN, and latin2int:
$latin = int2latin( INTEGER )
This returns the INTEGERth item in the sequence (a .. z, aa, ab, etc). For example, int2latin(1) is "a", int2latin(2) is "b", int2latin(26) is "z", int2latin(30) is "ad", and so for any nonzero integer.
$latin = int2Latin( INTEGER )
This is just like int2latin, except that the return value is has an initial capital. E.g., int2Latin(30) is "Ad".
$latin = int2LATIN( INTEGER )
This is just like int2latin, except that the return value is in all uppercase. E.g., int2LATIN(30) is "AD".
$latin = latin2int( INTEGER )
This converts back from latin number notation (regardless of capitalization!) to an integer value. E.g., latin2int("ad") is 30.
<<lessSYNOPSIS
use Number::Latin;
print join( , map int2latin($_), 1 .. 30), "n";
#
# Prints:
# a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad
Some applications, notably the numbering of points in outlines, use a scheme that starts with the letter "a", goes to "z", and then starts over with "aa" thru "az", then "ba", and so on. (The W3C refers to this numbering system as "lower-latin"/"upper-latin" or "lower alpha"/"upper alpha", in discussions of HTML/CSS options for rendering of list elements (OL/LI).)
This module provides functions that deal with that numbering system, converting between it and integer values.
FUNCTIONS
This module exports four functions, int2latin, int2Latin, int2LATIN, and latin2int:
$latin = int2latin( INTEGER )
This returns the INTEGERth item in the sequence (a .. z, aa, ab, etc). For example, int2latin(1) is "a", int2latin(2) is "b", int2latin(26) is "z", int2latin(30) is "ad", and so for any nonzero integer.
$latin = int2Latin( INTEGER )
This is just like int2latin, except that the return value is has an initial capital. E.g., int2Latin(30) is "Ad".
$latin = int2LATIN( INTEGER )
This is just like int2latin, except that the return value is in all uppercase. E.g., int2LATIN(30) is "AD".
$latin = latin2int( INTEGER )
This converts back from latin number notation (regardless of capitalization!) to an integer value. E.g., latin2int("ad") is 30.
Download (0.005MB)
Added: 2006-07-05 License: Perl Artistic License Price:
1206 downloads
Number::Encode 1.00
Number::Encode is a Perl module to encode bit strings into digit strings. more>>
Number::Encode is a Perl module to encode bit strings into digit strings.
SYNOPSIS
use Number::Encode qw(nonuniform uniform);
Provides a mechanism to convert arbitrary bit-strings into numeric digit strings. The transformation can be uniform or non-uniform depending on the type of distribution of the numeric digits achieved.
The former approach is useful for security-related applications such as calling cards and the such, which require a uniform digit distribution. The algorythm used to generate uniform distributions, while deterministic, is more constly than the non-uniform variant.
This module is distributed under the same terms and warranty as Perl itself.
<<lessSYNOPSIS
use Number::Encode qw(nonuniform uniform);
Provides a mechanism to convert arbitrary bit-strings into numeric digit strings. The transformation can be uniform or non-uniform depending on the type of distribution of the numeric digits achieved.
The former approach is useful for security-related applications such as calling cards and the such, which require a uniform digit distribution. The algorythm used to generate uniform distributions, while deterministic, is more constly than the non-uniform variant.
This module is distributed under the same terms and warranty as Perl itself.
Download (0.002MB)
Added: 2007-04-03 License: Perl Artistic License Price:
934 downloads
Number::Interval 0.01
Number::Interval is a Perl module that can implement a representation of a numeric interval. more>>
Number::Interval is a Perl module that can implement a representation of a numeric interval.
SYNOPSIS
use Number::Interval;
$i = new Number::Interval( Min => -4, Max => 20);
$i = new Number::Interval( Min => 0 );
$is = $i->contains( $value );
$status = $i->intersection( $i2 );
print "$i";
Simple class to implement a closed or open interval. Can be used to compare different intervals, determine set membership, calculate intersections and provide default stringification methods.
Intervals can be bound or unbound. If max is less than min the interval is inverted.
<<lessSYNOPSIS
use Number::Interval;
$i = new Number::Interval( Min => -4, Max => 20);
$i = new Number::Interval( Min => 0 );
$is = $i->contains( $value );
$status = $i->intersection( $i2 );
print "$i";
Simple class to implement a closed or open interval. Can be used to compare different intervals, determine set membership, calculate intersections and provide default stringification methods.
Intervals can be bound or unbound. If max is less than min the interval is inverted.
Download (0.006MB)
Added: 2007-03-16 License: GPL (GNU General Public License) Price:
952 downloads
Number::Phone::IE 0.2
Number::Phone::IE is a Perl module with Republic of Ireland-specific methods for Number::Phone. more>>
Number::Phone::IE is a Perl module with Republic of Ireland-specific methods for Number::Phone.
SYNOPSIS
use Number::Phone;
$dermots_phone = Number::Phone->new(IE, 017654321);
METHODS
The following methods from Number::Phone are overridden:
is_valid
The number is valid within the national numbering scheme. It may or may not yet be allocated, or it may be reserved. Any number which returns true for any of the following methods will also be valid.
is_allocated
The number has been allocated to a telco for use. It may or may not yet be in use or may be reserved. Not currently implemented.
is_geographic
The number refers to a geographic area.
is_fixed_line
The number, when in use, can only refer to a fixed line.
is_mobile
The number, when in use, can only refer to a mobile phone.
is_pager
The number, when in use, can only refer to a pager.
is_tollfree
Callers will not be charged for calls to this number under normal circumstances.
is_specialrate
The number, when in use, attracts special rates. For instance, national dialling at local rates, or premium rates for services.
is_adult
The number, when in use, goes to a service of an adult nature, such as porn.
is_network_service
The number is some kind of network service such as a human operator, directory enquiries, emergency services etc
country_code
Returns 353.
regulator
Returns some text in an appropriate character set saying who the telecoms regulator is, with optional details such as their web site or phone number.
areacode
Return the area code - if applicable - for the number. If not applicable, returns undef.
areaname
Return the area name - if applicable - for the number, or undef.
subscriber
Return the subscriber part of the number
operator
Return the name of the telco operating this number, in an appropriate character set and with optional details such as their web site or phone number. Not currently implemented.
format
Return a sanely formatted version of the number, complete with IDD code, eg for the Irish number (021) 765-4321 it would return +353 21 7654321.
country
If the number is_international, return the two-letter ISO country code.
NYI
Version restrictions:
- Strictly sppeaking, this kind of duplication of the Number::Phone::UK class is bad. A tidy-up is in order, though it may emerge that a completely new implemantation is better.
- The results are only as accurate as my own investigations into current allocations. User feedback welcome.
- While the names of the nominal owners of mobile prefixes are given, number portability makes this information unreliable.
<<lessSYNOPSIS
use Number::Phone;
$dermots_phone = Number::Phone->new(IE, 017654321);
METHODS
The following methods from Number::Phone are overridden:
is_valid
The number is valid within the national numbering scheme. It may or may not yet be allocated, or it may be reserved. Any number which returns true for any of the following methods will also be valid.
is_allocated
The number has been allocated to a telco for use. It may or may not yet be in use or may be reserved. Not currently implemented.
is_geographic
The number refers to a geographic area.
is_fixed_line
The number, when in use, can only refer to a fixed line.
is_mobile
The number, when in use, can only refer to a mobile phone.
is_pager
The number, when in use, can only refer to a pager.
is_tollfree
Callers will not be charged for calls to this number under normal circumstances.
is_specialrate
The number, when in use, attracts special rates. For instance, national dialling at local rates, or premium rates for services.
is_adult
The number, when in use, goes to a service of an adult nature, such as porn.
is_network_service
The number is some kind of network service such as a human operator, directory enquiries, emergency services etc
country_code
Returns 353.
regulator
Returns some text in an appropriate character set saying who the telecoms regulator is, with optional details such as their web site or phone number.
areacode
Return the area code - if applicable - for the number. If not applicable, returns undef.
areaname
Return the area name - if applicable - for the number, or undef.
subscriber
Return the subscriber part of the number
operator
Return the name of the telco operating this number, in an appropriate character set and with optional details such as their web site or phone number. Not currently implemented.
format
Return a sanely formatted version of the number, complete with IDD code, eg for the Irish number (021) 765-4321 it would return +353 21 7654321.
country
If the number is_international, return the two-letter ISO country code.
NYI
Version restrictions:
- Strictly sppeaking, this kind of duplication of the Number::Phone::UK class is bad. A tidy-up is in order, though it may emerge that a completely new implemantation is better.
- The results are only as accurate as my own investigations into current allocations. User feedback welcome.
- While the names of the nominal owners of mobile prefixes are given, number portability makes this information unreliable.
Download (0.11MB)
Added: 2007-04-03 License: Perl Artistic License Price:
939 downloads
Hexagonal Minesweeper 0.2.1
Hexagonal Minesweeper is a puzzle game, inspired by famous Minesweeper. more>>
Hexagonal Minesweeper is a puzzle game, inspired by famous Minesweeper. HexaMine is puzzle game is based on idea of famous Minesweeper.
Classic Minesweeper quickly becomes boring for experienced player as he remembers most of restricted set of possible game situations, and nothing can challenge him to thing more then 3 seconds any more.
Proprietary MegaMiner by Astatix Software, has introduced mines with variable power to solve this problem, but it created a new one: there were too much situations when player had to guess rather then prove.
HexaMine has taken te idea of MegaMiner a lot further. Here are features, which allow HexaMine to present even most experienced player nontrivial challenging yet solvable game situations:
1) Different mine powers. Exactly as in MegaMiner.
2) Hexagonal grid. This reduces the number is possible situations for any single cell. This also makes surrounding of a cell look nore like a circle, which is more intuitive.
3) Concept of close and far neighborhood. There is nothing new about first one, as it is just sum of mine powers of ajacent cells. Far neighborhood is entirely new concept. Think of real metal detector. It can pick up any mine within small radius, say of 1 meter. This is exactly the close neighborhood. But mentioned metal detector can also pick up larger objects within bigger radius, say 2 meters, although the signal is weaker. This is exactly the concept of far neighborhood. For each empty cell the close neighborhood threat is calculated as mentioned above, although for far neighborhood threat each mine is reduced by 1 category. Smallest mines are not taken into account, larger ones seem smaller. Both threats are specified for open empty cell.
4) In contrast to other known to me Minesweeper-like games, in HexaMine you never know neither number of mines of each power, nor exact total number of mines.
The bottom line, (1) and (4) creates mathematically finite but practically countless number of different game situations, while (2) and (3) give player enough information, although very complicate, to solve vast majority of them without need to guess.
The bottom line, (1) and (4) creates mathematically finite but practically countless number of different game situations, while (2) and (3) give player enough information, although very complicate, to solve vast majority of them without need to guess.
<<lessClassic Minesweeper quickly becomes boring for experienced player as he remembers most of restricted set of possible game situations, and nothing can challenge him to thing more then 3 seconds any more.
Proprietary MegaMiner by Astatix Software, has introduced mines with variable power to solve this problem, but it created a new one: there were too much situations when player had to guess rather then prove.
HexaMine has taken te idea of MegaMiner a lot further. Here are features, which allow HexaMine to present even most experienced player nontrivial challenging yet solvable game situations:
1) Different mine powers. Exactly as in MegaMiner.
2) Hexagonal grid. This reduces the number is possible situations for any single cell. This also makes surrounding of a cell look nore like a circle, which is more intuitive.
3) Concept of close and far neighborhood. There is nothing new about first one, as it is just sum of mine powers of ajacent cells. Far neighborhood is entirely new concept. Think of real metal detector. It can pick up any mine within small radius, say of 1 meter. This is exactly the close neighborhood. But mentioned metal detector can also pick up larger objects within bigger radius, say 2 meters, although the signal is weaker. This is exactly the concept of far neighborhood. For each empty cell the close neighborhood threat is calculated as mentioned above, although for far neighborhood threat each mine is reduced by 1 category. Smallest mines are not taken into account, larger ones seem smaller. Both threats are specified for open empty cell.
4) In contrast to other known to me Minesweeper-like games, in HexaMine you never know neither number of mines of each power, nor exact total number of mines.
The bottom line, (1) and (4) creates mathematically finite but practically countless number of different game situations, while (2) and (3) give player enough information, although very complicate, to solve vast majority of them without need to guess.
The bottom line, (1) and (4) creates mathematically finite but practically countless number of different game situations, while (2) and (3) give player enough information, although very complicate, to solve vast majority of them without need to guess.
Download (0.13MB)
Added: 2006-06-23 License: GPL (GNU General Public License) Price:
1221 downloads
Number::WithError 0.08
Number::WithError is a Perl module that contains numbers with error propagation and scientific rounding. more>>
Number::WithError is a Perl module that contains numbers with error propagation and scientific rounding.
SYNOPSIS
use Number::WithError;
my $num = Number::WithError->new(5.647, 0.31);
print $num . "n";
# prints 5.65e+00 +/- 3.1e-01
# (I.e. it automatically does scientific rounding)
my $another = $num * 3;
print $another . "n";
# propagates the error assuming gaussian errors
# prints 1.69e+01 +/- 9.3e-01
# trigonometric functions also work:
print sin($another) . "n";
# prints -9.4e-01 +/- 3.1e-01
my $third = $another ** $num;
print $third. "n";
# propagates both errors into one.
# prints 8.7e+06 +/- 8.1e+06
# shortcut for the constructor:
use Number::WithError witherror;
$num = witherror(0.00032678, [2.5e-5, 3e-5], 5e-6);
# can deal with any number of errors, even with asymmetric errors
print $num . "n";
# prints 3.268e-04 + 2.5e-05 - 3.00e-05 +/- 5.0e-06
# Note: It may be annyoing that they dont all have the same
# exponent, but they *do* all have the sam significant digit!
This class is a container class for numbers with a number of associated symmetric and asymmetric errors. It overloads practically all common arithmetic operations and trigonometric functions to propagate the errors. It can do proper scientific rounding (as explained in more detail below in the documentation of the significant_digit() method).
You can use Math::BigFloat objects as the internal representation of numbers in order to support arbitrary precision calculations.
Errors are propagated using Gaussian error propagation.
With a notable exception, the test suite covers way over ninety percent of the code. The remaining holes are mostly difficult-to-test corner cases and sanity tests. The comparison routines are the exception for which there will be more extensive tests in a future release.
<<lessSYNOPSIS
use Number::WithError;
my $num = Number::WithError->new(5.647, 0.31);
print $num . "n";
# prints 5.65e+00 +/- 3.1e-01
# (I.e. it automatically does scientific rounding)
my $another = $num * 3;
print $another . "n";
# propagates the error assuming gaussian errors
# prints 1.69e+01 +/- 9.3e-01
# trigonometric functions also work:
print sin($another) . "n";
# prints -9.4e-01 +/- 3.1e-01
my $third = $another ** $num;
print $third. "n";
# propagates both errors into one.
# prints 8.7e+06 +/- 8.1e+06
# shortcut for the constructor:
use Number::WithError witherror;
$num = witherror(0.00032678, [2.5e-5, 3e-5], 5e-6);
# can deal with any number of errors, even with asymmetric errors
print $num . "n";
# prints 3.268e-04 + 2.5e-05 - 3.00e-05 +/- 5.0e-06
# Note: It may be annyoing that they dont all have the same
# exponent, but they *do* all have the sam significant digit!
This class is a container class for numbers with a number of associated symmetric and asymmetric errors. It overloads practically all common arithmetic operations and trigonometric functions to propagate the errors. It can do proper scientific rounding (as explained in more detail below in the documentation of the significant_digit() method).
You can use Math::BigFloat objects as the internal representation of numbers in order to support arbitrary precision calculations.
Errors are propagated using Gaussian error propagation.
With a notable exception, the test suite covers way over ninety percent of the code. The remaining holes are mostly difficult-to-test corner cases and sanity tests. The comparison routines are the exception for which there will be more extensive tests in a future release.
Download (0.027MB)
Added: 2007-07-05 License: Perl Artistic License Price:
841 downloads
Desktop Gmail 2.4
This is a superkaramba theme which uses wget to read the rss feed for your Gmail. more>>
Desktop Gmail is a superkaramba theme which uses wget to read the rss feed for your Gmail inbox and displays it on a GUI. It displays upto twenty latest messages(five at a time) as well as the no. of total unread messages.
It shows the name of the author of the mail as well as the subject of the mail. On hovering over the name, a tooltip containing the authors email id is displayed and when hovered over the subject, the summary of the body is shown.
This theme displays upto 20 latest messages from your Gmail inbox(5 at a time), the authors of the message and the no. of unread messages.
On hovering over the name, the email id is displayed and on hovering over subject, a summary of the body is displayed.
Open gmail.py and enter your username and password.(see readme for details).
<<lessIt shows the name of the author of the mail as well as the subject of the mail. On hovering over the name, a tooltip containing the authors email id is displayed and when hovered over the subject, the summary of the body is shown.
This theme displays upto 20 latest messages from your Gmail inbox(5 at a time), the authors of the message and the no. of unread messages.
On hovering over the name, the email id is displayed and on hovering over subject, a summary of the body is displayed.
Open gmail.py and enter your username and password.(see readme for details).
Download (0.17MB)
Added: 2007-05-09 License: GPL (GNU General Public License) Price:
908 downloads
Teamspeak-Statusbar 0.4
Shows the number of users (incl. names) on your TS-Server in statusbar more>> Teamspeak-Statusbar 0.4 is a mighty admirable tool which shows the number of users (incl. names) on your TS-Server in statusbar.<<less
Added: 2009-07-15 License: MPL Price: FREE
14 downloads
Stream::Reader 0.09
Stream::Reader is a stream reader Perl class. more>>
Stream::Reader is a stream reader Perl class.
SYNOPSIS
# Input stream can be reference to TYPEGLOB or SCALAR, output stream
# can be the same types or undefined
# Constructor
$stream = Stream::Reader->new( *IN,
{ Limit => $limit, BuffSize => $buffsize, Mode => UB } );
# Reading all before delimiter beginning from current position.
# Delimiter is SCALAR or reference to array with many SCALARs.
# Returns true value on succesfull matching or if end of stream
# expected at first time
$bool = $stream->readto( $delimiter,
{ Out => *OUT, Limit => $limit, Mode => AIE } );
# Reading fixed number of chars beginning from current position.
# Returns true value if was readed number of chars more then zero or
# end of stream was not expected yet
$bool = $stream->readsome( $limit, { Out => *OUT, Mode => A } );
# Mode is string, what can contains:
# U - modificator for constructor. disable utf-8 checking
# B - modificator for constructor. enable second buffer for speed up
# case insensitive search
# A - modificator for readto() and readsome(). appending data to
# output stream, if stream is SCALAR
# I - modificator for readto(). enable case insensitive search
# E - modificator for readto(). at end of input stream alltimes
# returns false value
$number = $stream->{Total}; # total number of readed chars
$number = $stream->{Readed}; # number of readed chars at last
# operation (without matched string
# length at readto() method)
$number = $stream->{Stored}; # number of succesfully stored chars
# at last operation
$string = $stream->{Match}; # matched string at last operation
# (actually for readto() only)
$bool = $stream->{Error}; # error status. true on error
METHODS
OBJ = Stream::Reader->new( INPUT, { ... Params ... } )
The constructor method instantiates a new Stream::Reader object.
INPUT - is a reference to file stream, opened for reading, or reference to defined string. This is an obligatory parameter.
Params (all optionaly):
Limit - limit size of input stream data in characters. If this parameter is absent, not defined or less then zero, then all data from input stream will be available for reading.
BuffSize - size of buffer in characters. If this parameter is absent, not defined or less then zero, then will be used default buffer size 32768 characters.
Mode - is string with letters-modificators:
B - use second buffer. Can really speed up search in case insensitive mode.
U - disable UTF-8 data check in UTF-8 mode. Use this flag if you are absolutely sure, that your UTF-8 data is valid.
RESULT = OBJ->readto( DELIMITER, { ... Params ... } )
This method reads all data from input stream before first found delimiter, beginning from current position.
RESULT - boolean value. True value if successfuly found delimeter or and of input stream has expected at first time. False value otherwise, or in case of reading error.
DELIMETER - is a string-delimeter or reference to array with many delimeters. This is an obligatory parameter and must be defined.
Remember! In case of many delimiters, left delimiter alltimes have more priority then right!
Params (all optionaly):
Out - is a reference to file stream, opened for writing, or reference to string. If this parameter is absent then data will not stored.
Limit - size in characters. Defines, the maximum number of characters that must be stored in Out. If this paramter is absent, not defined or less then zero, then this method will be trying to store all readed data.
Mode - is string with letters-modificators:
A - appendig data to Out if Out is a reference to string.
I - search in case insensitive mode.
E - at the end of input stream returns only false value. Without this modificator, if end of stream expected at first time, then will be returned true value.
RESULT = OBJ->readsome( LIMIT, { ... Params ... } )
This method reads fixed number of characters from input stream beginning from current position.
RESULT - boolean value. True value, if any characters were read or end of input stream is not expected yet. False value otherwise, or in case of reading error.
LIMIT - limit size in characters, how many it is necessary to read. If this parameter is absent, not defined or less then zero, then will be read all available data from input stream.
Params (all optionaly):
Out - the same as in readto() method.
Mode - is string with letters-modificators:
A - the same as in readto() method.
Statistics:
OBJ->{Total} - total number of readed characters. Warning! This module using block reading and real position in stream is different.
OBJ->{Readed} - number of readed characters at last operation (without matched string length at readto() method).
OBJ->{Stored} - number of succesfully stored chars at last operation
OBJ->{Match} - matched string at last operation (actually for readto() only)
OBJ->{Error} - boolen error status. At any reading erorrs all operations will be stopes and this flag turned to true value.
<<lessSYNOPSIS
# Input stream can be reference to TYPEGLOB or SCALAR, output stream
# can be the same types or undefined
# Constructor
$stream = Stream::Reader->new( *IN,
{ Limit => $limit, BuffSize => $buffsize, Mode => UB } );
# Reading all before delimiter beginning from current position.
# Delimiter is SCALAR or reference to array with many SCALARs.
# Returns true value on succesfull matching or if end of stream
# expected at first time
$bool = $stream->readto( $delimiter,
{ Out => *OUT, Limit => $limit, Mode => AIE } );
# Reading fixed number of chars beginning from current position.
# Returns true value if was readed number of chars more then zero or
# end of stream was not expected yet
$bool = $stream->readsome( $limit, { Out => *OUT, Mode => A } );
# Mode is string, what can contains:
# U - modificator for constructor. disable utf-8 checking
# B - modificator for constructor. enable second buffer for speed up
# case insensitive search
# A - modificator for readto() and readsome(). appending data to
# output stream, if stream is SCALAR
# I - modificator for readto(). enable case insensitive search
# E - modificator for readto(). at end of input stream alltimes
# returns false value
$number = $stream->{Total}; # total number of readed chars
$number = $stream->{Readed}; # number of readed chars at last
# operation (without matched string
# length at readto() method)
$number = $stream->{Stored}; # number of succesfully stored chars
# at last operation
$string = $stream->{Match}; # matched string at last operation
# (actually for readto() only)
$bool = $stream->{Error}; # error status. true on error
METHODS
OBJ = Stream::Reader->new( INPUT, { ... Params ... } )
The constructor method instantiates a new Stream::Reader object.
INPUT - is a reference to file stream, opened for reading, or reference to defined string. This is an obligatory parameter.
Params (all optionaly):
Limit - limit size of input stream data in characters. If this parameter is absent, not defined or less then zero, then all data from input stream will be available for reading.
BuffSize - size of buffer in characters. If this parameter is absent, not defined or less then zero, then will be used default buffer size 32768 characters.
Mode - is string with letters-modificators:
B - use second buffer. Can really speed up search in case insensitive mode.
U - disable UTF-8 data check in UTF-8 mode. Use this flag if you are absolutely sure, that your UTF-8 data is valid.
RESULT = OBJ->readto( DELIMITER, { ... Params ... } )
This method reads all data from input stream before first found delimiter, beginning from current position.
RESULT - boolean value. True value if successfuly found delimeter or and of input stream has expected at first time. False value otherwise, or in case of reading error.
DELIMETER - is a string-delimeter or reference to array with many delimeters. This is an obligatory parameter and must be defined.
Remember! In case of many delimiters, left delimiter alltimes have more priority then right!
Params (all optionaly):
Out - is a reference to file stream, opened for writing, or reference to string. If this parameter is absent then data will not stored.
Limit - size in characters. Defines, the maximum number of characters that must be stored in Out. If this paramter is absent, not defined or less then zero, then this method will be trying to store all readed data.
Mode - is string with letters-modificators:
A - appendig data to Out if Out is a reference to string.
I - search in case insensitive mode.
E - at the end of input stream returns only false value. Without this modificator, if end of stream expected at first time, then will be returned true value.
RESULT = OBJ->readsome( LIMIT, { ... Params ... } )
This method reads fixed number of characters from input stream beginning from current position.
RESULT - boolean value. True value, if any characters were read or end of input stream is not expected yet. False value otherwise, or in case of reading error.
LIMIT - limit size in characters, how many it is necessary to read. If this parameter is absent, not defined or less then zero, then will be read all available data from input stream.
Params (all optionaly):
Out - the same as in readto() method.
Mode - is string with letters-modificators:
A - the same as in readto() method.
Statistics:
OBJ->{Total} - total number of readed characters. Warning! This module using block reading and real position in stream is different.
OBJ->{Readed} - number of readed characters at last operation (without matched string length at readto() method).
OBJ->{Stored} - number of succesfully stored chars at last operation
OBJ->{Match} - matched string at last operation (actually for readto() only)
OBJ->{Error} - boolen error status. At any reading erorrs all operations will be stopes and this flag turned to true value.
Download (0.006MB)
Added: 2007-04-27 License: Perl Artistic License Price:
910 downloads
Number::Bytes::Human 0.07
Number::Bytes::Human is a Perl module that can convert byte count to human readable format. more>>
Number::Bytes::Human is a Perl module that can convert byte count to human readable format.
SYNOPSIS
use Number::Bytes::Human qw(format_bytes);
$size = format_bytes(0); # 0
$size = format_bytes(2*1024); # 2.0K
$size = format_bytes(1_234_890, bs => 1000); # 1.3M
$size = format_bytes(1E9, bs => 1000); # 1.0G
# the OO way
$human = Number::Bytes::Human->new(bs => 1000, si => 1);
$size = $human->format(1E7); # 10MB
$human->set_options(zero => -);
$size = $human->format(0); # -
THIS IS ALPHA SOFTWARE: THE DOCUMENTATION AND THE CODE WILL SUFFER CHANGES SOME DAY (THANKS, GOD!).
This module provides a formatter which turns byte counts to usual readable format, like 2.0K, 3.1G, 100B. It was inspired in the -h option of Unix utilities like du, df and ls for "human-readable" output.
From the FreeBSD man page of df: http://www.freebsd.org/cgi/man.cgi?query=df
"Human-readable" output. Use unit suffixes: Byte, Kilobyte,
Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the
number of digits to four or fewer using base 2 for sizes.
byte B
kilobyte K = 2**10 B = 1024 B
megabyte M = 2**20 B = 1024 * 1024 B
gigabyte G = 2**30 B = 1024 * 1024 * 1024 B
terabyte T = 2**40 B = 1024 * 1024 * 1024 * 1024 B
petabyte P = 2**50 B = 1024 * 1024 * 1024 * 1024 * 1024 B
exabyte E = 2**60 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
zettabyte Z = 2**70 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
yottabyte Y = 2**80 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
I have found this link to be quite useful:
http://www.t1shopper.com/tools/calculate/
If you feel like a hard-drive manufacturer, you can start counting bytes by powers of 1000 (instead of the generous 1024). Just use bs => 1000.
But if you are a floppy disk manufacturer and want to start counting in units of 1024000 (for your "1.44 MB" disks)? Then use bs => 1_024_000.
If you feel like a purist academic, you can force the use of metric prefixes according to the Dec 1998 standard by the IEC. Never mind the units for base 1000 are (B, kB, MB, GB, TB, PB, EB, ZB, YB) and, even worse, the ones for base 1024 are (B, KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB) with the horrible names: bytes, kibibytes, mebibytes, etc. All you have to do is to use si => 1. Aint that beautiful the SI system? Read about it:
http://physics.nist.gov/cuu/Units/binary.html
You can try a pure Perl "ls -lh"-inspired command with the one-liner, er, two-liner:
$ perl -MNumber::Bytes::Human=format_bytes
-e printf "%5s %sn", format_bytes(-s), $_ for @ARGV *
Why to write such a module? Because if people can write such things in C, it can be written much easier in Perl and then reused, refactored, abused. And then, when it is much improved, some brave soul can port it back to C (if only for the warm feeling of painful programming).
<<lessSYNOPSIS
use Number::Bytes::Human qw(format_bytes);
$size = format_bytes(0); # 0
$size = format_bytes(2*1024); # 2.0K
$size = format_bytes(1_234_890, bs => 1000); # 1.3M
$size = format_bytes(1E9, bs => 1000); # 1.0G
# the OO way
$human = Number::Bytes::Human->new(bs => 1000, si => 1);
$size = $human->format(1E7); # 10MB
$human->set_options(zero => -);
$size = $human->format(0); # -
THIS IS ALPHA SOFTWARE: THE DOCUMENTATION AND THE CODE WILL SUFFER CHANGES SOME DAY (THANKS, GOD!).
This module provides a formatter which turns byte counts to usual readable format, like 2.0K, 3.1G, 100B. It was inspired in the -h option of Unix utilities like du, df and ls for "human-readable" output.
From the FreeBSD man page of df: http://www.freebsd.org/cgi/man.cgi?query=df
"Human-readable" output. Use unit suffixes: Byte, Kilobyte,
Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the
number of digits to four or fewer using base 2 for sizes.
byte B
kilobyte K = 2**10 B = 1024 B
megabyte M = 2**20 B = 1024 * 1024 B
gigabyte G = 2**30 B = 1024 * 1024 * 1024 B
terabyte T = 2**40 B = 1024 * 1024 * 1024 * 1024 B
petabyte P = 2**50 B = 1024 * 1024 * 1024 * 1024 * 1024 B
exabyte E = 2**60 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
zettabyte Z = 2**70 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
yottabyte Y = 2**80 B = 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 B
I have found this link to be quite useful:
http://www.t1shopper.com/tools/calculate/
If you feel like a hard-drive manufacturer, you can start counting bytes by powers of 1000 (instead of the generous 1024). Just use bs => 1000.
But if you are a floppy disk manufacturer and want to start counting in units of 1024000 (for your "1.44 MB" disks)? Then use bs => 1_024_000.
If you feel like a purist academic, you can force the use of metric prefixes according to the Dec 1998 standard by the IEC. Never mind the units for base 1000 are (B, kB, MB, GB, TB, PB, EB, ZB, YB) and, even worse, the ones for base 1024 are (B, KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB) with the horrible names: bytes, kibibytes, mebibytes, etc. All you have to do is to use si => 1. Aint that beautiful the SI system? Read about it:
http://physics.nist.gov/cuu/Units/binary.html
You can try a pure Perl "ls -lh"-inspired command with the one-liner, er, two-liner:
$ perl -MNumber::Bytes::Human=format_bytes
-e printf "%5s %sn", format_bytes(-s), $_ for @ARGV *
Why to write such a module? Because if people can write such things in C, it can be written much easier in Perl and then reused, refactored, abused. And then, when it is much improved, some brave soul can port it back to C (if only for the warm feeling of painful programming).
Download (0.009MB)
Added: 2007-07-03 License: Perl Artistic License Price:
844 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 total number 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