view release on metacpan or search on metacpan
lib/Data/Formula.pm view on Meta::CPAN
'(' => {method => 'bracket_left',},
')' => {method => 'bracket_right',},
);
has 'variables' => (is => 'rw', isa => 'ArrayRef', default => sub {[]});
has 'formula' => (is => 'ro', isa => 'Str', default => sub {[]});
has '_tokens' => (is => 'ro', isa => 'ArrayRef', lazy_build => 1,);
has '_rpn' => (is => 'ro', isa => 'ArrayRef', lazy_build => 1,);
has '_op_indent' => (is => 'rw', isa => 'Int', default => 0,);
has 'used_variables' => (is => 'ro', isa => 'ArrayRef', lazy_build => 1,);
lib/Data/Formula.pm view on Meta::CPAN
sub _build__tokens {
my ($self) = @_;
my @tokens;
my $formula = $self->formula;
$formula =~ s/\s//g;
my $op_regexp = join('', map {q{\\} . $_} keys %operators);
my $op_regexp_with_variable = '^([^' . $op_regexp . ']*?)([' . $op_regexp . '])';
while ($formula =~ m/$op_regexp_with_variable/) {
my $variable = $1;
my $operator = $2;
push(@tokens, $variable) if length($variable);
push(@tokens, $operator);
$formula = substr($formula, length($variable . $operator));
}
if (length($formula)) {
push(@tokens, $formula);
}
return [map {$_ =~ m/^[0-9]+$/ ? $_ + 0 : $_} @tokens];
}
lib/Data/Formula.pm view on Meta::CPAN
=encoding utf8
=head1 NAME
Data::Formula - formulas evaluation and calculation
=head1 SYNOPSIS
my $df = Data::Formula->new(
formula => 'var212 - var213 * var314 + var354',
);
my $val = $df->calculate(
var212 => 5,
var213 => 10,
var314 => 7,
lib/Data/Formula.pm view on Meta::CPAN
);
# 5-(10*7)+100
my $df = Data::Formula->new(
variables => [qw( var212 var213 n274 n294 var314 var334 var354 var374 var394 )],
formula => 'var212 - var213 + var314 * (var354 + var394) - 10',
on_error => undef,
on_missing_token => 0,
);
my $used_variables = $df->used_variables;
# [ var212 var213 var314 var354 var394 ]
lib/Data/Formula.pm view on Meta::CPAN
);
# 5-10+2*(3+9)-10
=head1 DESCRIPTION
evaluate and calulate formulas with variables of the type var212 - var213 + var314 * (var354 + var394) - 10
=head1 ACCESSORS
=head2 formula
Formula for calculation. Required.
=head2 on_error
lib/Data/Formula.pm view on Meta::CPAN
Optional, if not set L</calculate()> will throw an exception in case of an error.
=head2 on_missing_token
Sets what should happen when there is a missing/unknown token found in
formula.
Can be a scalar value, like fixed number, or a code ref
that will be executed with token name as argument.
Optional, if not set L</calculate()> will throw an exception with unknown tokens.
lib/Data/Formula.pm view on Meta::CPAN
=head2 new()
Object constructor.
my $df = Data::Formula->new(
formula => 'var212 - var213 * var314 + var354',
);
=head2 used_variables()
return array with variables used in formula
=head2 calculate()
Evaluate formula with values for variables, returns calculated value.
Will throw expetion on division by zero of unknown variables, unless
changes by L</on_error> or L</on_missing_token>
=head1 AUTHOR
view all matches for this distribution
view release on metacpan or search on metacpan
* This can be controlled via the @ref XXH_VECTOR macro, but it automatically
* selects the best version according to predefined macros. For the x86 family, an
* automatic runtime dispatcher is included separately in @ref xxh_x86dispatch.c.
*
* XXH3 implementation is portable:
* it has a generic C90 formulation that can be compiled on any platform,
* all implementations generate exactly the same hash value on all platforms.
* Starting from v0.8.0, it's also labelled "stable", meaning that
* any future version will also generate the same hash value.
*
* XXH3 offers 2 variants, _64bits and _128bits.
view all matches for this distribution
view release on metacpan or search on metacpan
* This can be controlled via the @ref XXH_VECTOR macro, but it automatically
* selects the best version according to predefined macros. For the x86 family, an
* automatic runtime dispatcher is included separately in @ref xxh_x86dispatch.c.
*
* XXH3 implementation is portable:
* it has a generic C90 formulation that can be compiled on any platform,
* all implementations generate exactly the same hash value on all platforms.
* Starting from v0.8.0, it's also labelled "stable", meaning that
* any future version will also generate the same hash value.
*
* XXH3 offers 2 variants, _64bits and _128bits.
view all matches for this distribution
view release on metacpan or search on metacpan
doc/rfc2445.txt view on Meta::CPAN
form is specified in Department of Commerce, 1986, Representation of
geographic point locations for information interchange (Federal
Information Processing Standard 70-1): Washington, Department of
Commerce, National Institute of Standards and Technology.
The simple formula for converting degrees-minutes-seconds into
decimal degrees is:
decimal = degrees + minutes/60 + seconds/3600.
Format Definition: The property is defined by the following notation:
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Identifier/Wellknown.pm view on Meta::CPAN
. application/pdf . sid=229
. application/vnd.debian.binary-package
. application/vnd.oasis.opendocument.base
. application/vnd.oasis.opendocument.chart
. application/vnd.oasis.opendocument.chart-template
. application/vnd.oasis.opendocument.formula
. application/vnd.oasis.opendocument.formula-template
. application/vnd.oasis.opendocument.graphics
. application/vnd.oasis.opendocument.graphics-template
. application/vnd.oasis.opendocument.image
. application/vnd.oasis.opendocument.image-template
. application/vnd.oasis.opendocument.presentation
view all matches for this distribution
view release on metacpan or search on metacpan
msgpack-3.3.0/Doxyfile view on Meta::CPAN
# doxygen to be busy swapping symbols to and from disk most of the time
# causing a significant performance penality.
# If the system has enough physical memory increasing the cache will improve the
# performance by keeping more symbols in memory. Note that the value works on
# a logarithmic scale so increasing the size by one will roughly double the
# memory usage. The cache size is given by this formula:
# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
# corresponding to a cache size of 2^16 = 65536 symbols
SYMBOL_CACHE_SIZE = 0
msgpack-3.3.0/Doxyfile view on Meta::CPAN
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
TREEVIEW_WIDTH = 250
# Use this tag to change the font size of Latex formulas included
# as images in the HTML documentation. The default is 10. Note that
# when you change the font size after a successful doxygen run you need
# to manually remove any form_*.png images from the HTML output directory
# to force them to be regenerated.
msgpack-3.3.0/Doxyfile view on Meta::CPAN
LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
# Note that when enabling USE_PDFLATEX this option is only used for
# generating bitmaps for formulas in the HTML output, but not in the
# Makefile that is written to the output directory.
LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
msgpack-3.3.0/Doxyfile view on Meta::CPAN
USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
# If LATEX_HIDE_INDICES is set to YES then doxygen will not
# include the index chapters (such as File Index, Compound Index, etc.)
view all matches for this distribution
view release on metacpan or search on metacpan
include/msgpack/predef/compiler/visualc.h view on Meta::CPAN
# endif
# endif
/*
VS2014 was skipped in the release sequence for MS. Which
means that the compiler and VS product versions are no longer
in sync. Hence we need to use different formulas for
mapping from MSC version to VS product version.
*/
# if (_MSC_VER >= 1900)
# define MSGPACK_COMP_MSVC_DETECTION MSGPACK_VERSION_NUMBER(\
_MSC_VER/100-5,\
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
use Scalar::Util ();
with 'Data::Object::Role::Buildable';
requires 'formulate';
our $VERSION = '0.03'; # VERSION
around BUILDARGS(@args) {
my $results;
$results = $self->formulate($self->$orig(@args));
return $results;
}
around formulate($args) {
my $results;
my $form = $self->$orig($args);
# before
if ($self->can('before_formulate')) {
my $config = $self->before_formulate($args);
for my $key (keys %$config) {
next unless $form->{$key};
next unless exists $args->{$key};
my $name = $config->{$key} eq '1' ?
"before_formulate_${key}" : $config->{$key};
next unless $self->can($name);
$args->{$key} = $self->$name($args->{$key});
}
}
# formulation
$results = $self->formulation($args, $form);
# after
if ($self->can('after_formulate')) {
my $config = $self->after_formulate($results);
for my $key (keys %$config) {
next unless $form->{$key};
next unless exists $results->{$key};
my $name = $config->{$key} eq '1' ?
"after_formulate_${key}" : $config->{$key};
next unless $self->can($name);
$results->{$key} = $self->$name($results->{$key});
}
}
return $results;
}
method formulate_object(Str $name, Any $value) {
my $results;
my $package = Data::Object::Space->new($name)->load;
if (Scalar::Util::blessed($value) && $value->isa($package)) {
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
}
return $results;
}
method formulation(HashRef $args, HashRef[Str] $form) {
my $results = {};
for my $name (grep {exists $args->{$_}} sort keys %$form) {
$results->{$name} = $self->formulate_object($form->{$name}, $args->{$name});
}
return $results;
}
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
with 'Data::Object::Role::Formulatable';
has 'name';
has 'dates';
sub formulate {
{
name => 'test/data/str',
dates => 'test/data/str'
}
}
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
with 'Data::Object::Role::Formulatable';
has 'name';
has 'dates';
sub formulate {
{
name => 'test/data/str',
dates => 'test/data/str'
}
}
sub after_formulate {
{
name => 1
}
}
sub after_formulate_name {
my ($self, $value) = @_;
$value
}
sub before_formulate {
{
name => 1
}
}
sub before_formulate_name {
my ($self, $value) = @_;
$value
}
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
# $teacher->dates;
# [<Test::Data::Str>]
This package supports automatically calling I<"before"> and I<"after"> routines
specific to each piece of data provided. This is automatically enabled if the
presence of a C<before_formulate> and/or C<after_formulate> routine is
detected. If so, these routines should return a hashref keyed off the class
attributes where the values are either C<1> (denoting that the hook name should
be generated) or some other routine name.
=cut
lib/Data/Object/Role/Formulatable.pm view on Meta::CPAN
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms
of the The Apache License, Version 2.0, as elucidated in the L<"license
file"|https://github.com/iamalnewkirk/data-object-role-formulatable/blob/master/LICENSE>.
=head1 PROJECT
L<Wiki|https://github.com/iamalnewkirk/data-object-role-formulatable/wiki>
L<Project|https://github.com/iamalnewkirk/data-object-role-formulatable>
L<Initiatives|https://github.com/iamalnewkirk/data-object-role-formulatable/projects>
L<Milestones|https://github.com/iamalnewkirk/data-object-role-formulatable/milestones>
L<Contributing|https://github.com/iamalnewkirk/data-object-role-formulatable/blob/master/CONTRIBUTE.md>
L<Issues|https://github.com/iamalnewkirk/data-object-role-formulatable/issues>
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
share/dictionary.txt view on Meta::CPAN
formless
formlessly
formlessness
formlessness's
forms
formula
formula's
formulae
formulaic
formulate
formulated
formulates
formulating
formulation
formulation's
formulations
fornicate
fornicated
fornicates
fornicating
fornication
share/dictionary.txt view on Meta::CPAN
reformer
reformer's
reformers
reforming
reforms
reformulate
reformulated
reformulates
reformulating
refract
refracted
refracting
refraction
refraction's
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/Top10000.pm view on Meta::CPAN
lonestar
kittycat
hell
goodluck
gangsta
formula
devil
cassidy
camille
buttons
bonjour
lib/Data/Password/Top10000.pm view on Meta::CPAN
mikey
marvel
laurie
grateful
fuck_inside
formula1
Dragon
cxfcnmt
bridget
aussie
asterix
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/zxcvbn/RankedDictionaries/French.pm view on Meta::CPAN
'formerent' => 13936,
'formerets' => 11156,
'formeront' => 20086,
'formes' => 615,
'formidable' => 11669,
'formula' => 20087,
'formulaire' => 18684,
'formulaires' => 23106,
'formulation' => 8414,
'formulations' => 22126,
'formule' => 1964,
'formulee' => 14532,
'formulees' => 17041,
'formuler' => 12842,
'formules' => 6968,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/zxcvbn/RankedDictionaries/German.pm view on Meta::CPAN
'formierte' => 13808,
'formierten' => 25160,
'formlich' => 19587,
'formt' => 28256,
'formte' => 19588,
'formula' => 27348,
'formulieren' => 19978,
'formuliert' => 7176,
'formulierte' => 9772,
'formulierten' => 23282,
'formulierung' => 8108,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/zxcvbn/RankedDictionaries/Common.pm view on Meta::CPAN
'forgotten1' => 22484,
'forklift' => 25273,
'forlife' => 21211,
'format' => 7887,
'formel1' => 28451,
'formula' => 8560,
'formula1' => 1740,
'formule1' => 17152,
'forrest' => 6239,
'forrest1' => 20093,
'forsaken' => 7700,
'forsaken1' => 19650,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Presenter.pm view on Meta::CPAN
requires careful preparation on the part of the administrator. See the
discussion under L<"writeformat_with_reprocessing()"> above.
=head3 C<writeHTML()>
In its current formulation, C<writeHTML()> works very much
like C<writeformat_plus_header()>. It writes data to an operator-specified
HTML file and writes an appropriate header to that file as well.
C<writeHTML()> takes the same 4 arguments as C<writeformat_plus_header()>:
C<$sorted_data>, C<\@columns_selected>, C<$outputfile> and C<$title>. The
body of the resulting HTML file is more similar to a Perl format than to an
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
formless
formlessly
formlessness
formlessness's
forms
formula
formula's
formulae
formulaic
formulas
formulate
formulated
formulates
formulating
formulation
formulation's
formulations
fornicate
fornicated
fornicates
fornicating
fornication
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
reformer
reformer's
reformers
reforming
reforms
reformulate
reformulated
reformulates
reformulating
refract
refracted
refracting
refraction
refraction's
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Random/dict view on Meta::CPAN
formidable
forming
Formosa
Formosan
forms
formula
formulae
formulas
formulate
formulated
formulates
formulating
formulation
formulations
formulator
formulators
fornication
Forrest
forsake
forsaken
forsakes
lib/Data/Random/dict view on Meta::CPAN
reformed
reformer
reformers
reforming
reforms
reformulate
reformulated
reformulates
reformulating
reformulation
refract
refracted
refraction
refractory
refragment
view all matches for this distribution
view release on metacpan or search on metacpan
t/Data/File/Package.pm view on Meta::CPAN
# The Perl authorities have Core::die locked down tight so
# it is next to impossible to trap off of Core::die. Lucky
# must everyone uses Carp::croak instead of just dieing.
#
# Anyway, get the benefit of a lot of stack gyrations to
# formulate the correct error msg by Exporter::import.
#
$error = '';
no warnings;
*Carp::carp = sub {
$error .= (join '', @_);
view all matches for this distribution
view release on metacpan or search on metacpan
t/Data/File/Package.pm view on Meta::CPAN
# The Perl authorities have Core::die locked down tight so
# it is next to impossible to trap off of Core::die. Lucky
# must everyone uses Carp::croak instead of just dieing.
#
# Anyway, get the benefit of a lot of stack gyrations to
# formulate the correct error msg by Exporter::import.
#
$error = '';
no warnings;
*Carp::carp = sub {
$error .= (join '', @_);
view all matches for this distribution
view release on metacpan or search on metacpan
t/Data/File/Package.pm view on Meta::CPAN
# The Perl authorities have Core::die locked down tight so
# it is next to impossible to trap off of Core::die. Lucky
# must everyone uses Carp::croak instead of just dieing.
#
# Anyway, get the benefit of a lot of stack gyrations to
# formulate the correct error msg by Exporter::import.
#
$error = '';
no warnings;
*Carp::carp = sub {
$error .= (join '', @_);
view all matches for this distribution
view release on metacpan or search on metacpan
t/Data/File/Package.pm view on Meta::CPAN
# The Perl authorities have Core::die locked down tight so
# it is next to impossible to trap off of Core::die. Lucky
# must everyone uses Carp::croak instead of just dieing.
#
# Anyway, get the benefit of a lot of stack gyrations to
# formulate the correct error msg by Exporter::import.
#
$error = '';
no warnings;
*Carp::carp = sub {
$error .= (join '', @_);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/TDMA.pm view on Meta::CPAN
=head1 TDMA in (a whole lot of) Detail
TDMA is the division of a day into multiple epochs, which are further
subdivided into frames, which are then subdivided again, into slots.
The basic formula is thus:
1 TDMA Day = 112.5 Epochs
1 TDMA Epoch = 64 frames
1 TDMA Frame = 1536 Slots
1 TDMA Slot = 0.0078125 seconds (1/128 second)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Tabular/Output/XLS.pm view on Meta::CPAN
}
}
for my $cell ($row->cells()) {
my ($y, $x) = ($cell->row_id, $cell->col_id);
my $data = $cell->data;
my $formula = '';
my $value = 'asdf';
eval {
if (ref $data) {
$worksheet->write($y, $x, $data->string);
} else {
$worksheet->write($y, $x, $data);
}
};
if ($@) {
die "$formula " . $@;
}
}
}
}
lib/Data/Tabular/Output/XLS.pm view on Meta::CPAN
$type = 'text';
$cell_type = 'averages_right';
} elsif ($row->type eq 'header') {
} elsif ($row->type eq 'totals') {
if (ref($cell_data)) {
$type = 'formula';
$cell_type = $self->output->type($cell->name);
}
} else {
$type = $self->output->type($cell->name);
}
next unless $cell_data;
my $format = undef;
if (ref($cell_data)) {
# FIXME
$type = 'formula';
}
if ($type eq 'date') {
if ($cell_data) {
$worksheet->write_date_time($y, $x, $cell_data, $formats->{'date'});
lib/Data/Tabular/Output/XLS.pm view on Meta::CPAN
$worksheet->write_number($y, $x, $cell_data, $formats->{'dollar'});
} elsif ($type eq 'number') {
$worksheet->write_number($y, $x, $cell_data, $formats->{$cell_type});
} elsif ($type eq 'percent') {
$worksheet->write_number($y, $x, $cell_data, $formats->{$cell_type});
} elsif ($type eq 'formula') {
my $formula = '=';
if ($cell_data->{type} eq 'sum') {
if (!defined $cell_data->{rows}) {
$formula .= join('+', map({ my $x = $self->_get_col_id($_); chr(0x41+$x) . ($cell->row_id+1); } @{$cell_data->{columns}}));
} else {
$formula .= join('+', map({ chr(0x41+$cell->col_id) . $_; } @{$cell_data->{rows}}));
}
} elsif ($cell_data->{type} eq 'average' || $cell_data->{type} eq 'avg') {
$formula .= '(';
if (!defined $cell_data->{rows}) {
$formula .= join('+', map({ my $x = $self->_get_col_id($_); chr(0x41+$x) . ($cell->row_id+1); } @{$cell_data->{columns}}));
} else {
$formula .= join('+', map({ chr(0x41+$cell->col_id) . $_; } @{$cell_data->{rows}}));
}
$formula .= ')';
$formula .= "/" . scalar(@{$cell_data->{rows} || $cell_data->{columns}});
} else {
warn $cell_data->{type};
}
$formula = '';
$formula .= '';
my $value = $cell_data->{html};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Type/Facet.pm view on Meta::CPAN
sub info : method
{
my $this = shift;
return 'LUHN formula (mod 10) for validation of creditcards';
}
# To be implemented and not yet really usefull yet.
#
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/URIID/Service.pm view on Meta::CPAN
application/vnd.debian.binary-package
application/vnd.sirtx.vmv0
application/vnd.oasis.opendocument.base
application/vnd.oasis.opendocument.chart
application/vnd.oasis.opendocument.chart-template
application/vnd.oasis.opendocument.formula
application/vnd.oasis.opendocument.formula-template
application/vnd.oasis.opendocument.graphics
application/vnd.oasis.opendocument.graphics-template
application/vnd.oasis.opendocument.image
application/vnd.oasis.opendocument.image-template
application/vnd.oasis.opendocument.presentation
view all matches for this distribution
view release on metacpan or search on metacpan
Installation
------------
The installation is trivial and follows the usual formula for installation:
perl Makefile.PL
make
make test
make install
view all matches for this distribution
view release on metacpan or search on metacpan
playstation 2^ford racing 3^empire interactive^razorworks^racing, driving^2^e (everyone)^03/22/2005
playstation 2^ford racing off road^xplosiv^razorworks^racing, driving^2^e (everyone)^03/14/2008
playstation 2^ford vs. chevy^global star software^eutechnyx^racing, driving^6^e (everyone)^11/08/2005
playstation 2^forever kingdom^agetec^from software^role-playing game^1^t (teen)^01/22/2002
playstation 2^forgotten realms: demon stone^atari^stormfront studios^third-person action, adventure, role-playing game^1^t (teen)^09/14/2004
playstation 2^formula challenge^oxygen interactive^aqua pacific^racing, driving^2^rp (rating pending)^08/06/2004
playstation 2^formula one 04^sony computer entertainment europe^sony computer entertainment europe^racing, driving^4^rp (rating pending)^07/30/2004
playstation 2^formula one 05^sony computer entertainment europe^sony computer entertainment europe^racing, driving^8^rp (rating pending)^07/01/2005
playstation 2^formula one 06^sony computer entertainment^sce studios liverpool^racing, driving^2^rp (rating pending)^07/28/2006
playstation 2^formula one 2001^sony computer entertainment^studio liverpool^racing, sports, simulation^2^e (everyone)^10/02/2001
playstation 2^formula one 2002^sony computer entertainment europe^studio liverpool^racing, driving^2^rp (rating pending)^11/01/2002
playstation 2^four horsemen of the apocalypse^3do^3do^third-person action, adventure^1^m (mature)^02/14/2004
playstation 2^freak out: extreme freeride^jowood productions^coldwood interactive^extreme sports, skiing^2^rp (rating pending)^03/30/2007
playstation 2^freaky flyers^midway^midway^action, racing^2^t (teen)^08/04/2003
playstation 2^free running^reef entertainment^core design - rebellion^action, extreme sports^1^rp (rating pending)^04/20/2007
playstation 2^freedom fighters^electronic arts^io interactive^third-person action, turn-based strategy^4^t (teen)^10/01/2003
playstation 3^fight night round 4^electronic arts^ea canada^boxing, sports^2^rp (rating pending)^03/01/2009
playstation 3^final fantasy versus xiii^square enix^square enix^action, role-playing game^1^rp (rating pending)^12/01/2008
playstation 3^final fantasy xiii^square enix^square enix^role-playing game^1^rp (rating pending)^12/01/2008
playstation 3^flow^sony computer entertainment america^thatgamecompany^action^4^e (everyone)^02/22/2007
playstation 3^folklore^sony computer entertainment america^game republic^adventure^1^t (teen)^10/09/2007
playstation 3^formula one championship edition^sony computer entertainment^sce studios liverpool^racing, driving^10^e (everyone)^02/27/2007
playstation 3^fracture^lucasarts^day 1 studios^third-person shooter, action^multi^rp (rating pending)^10/07/2008
playstation 3^full auto 2: battlelines^sega^pseudo interactive^racing, action, car combat^8^t (teen)^12/07/2006
playstation 3^gauntlet ii^sony online entertainment^backbone entertainment^action, arcade^4^e (everyone)^05/03/2007
playstation 3^genji: days of the blade^sony computer entertainment america^game republic - scej^third-person action, adventure^1^t (teen)^11/17/2006
playstation 3^ghostbusters: the video game^sierra entertainment^terminal reality^action^multi^rp (rating pending)^10/07/2008
playstation portable^ape escape academy^sony computer entertainment^sony computer entertainment japan^party^4^e10+ (everyone 10 and older)^01/17/2006
playstation portable^ape escape academy 2^sony computer entertainment^shift^party^4^rp (rating pending)^09/29/2006
playstation portable^ape escape: on the loose^sony computer entertainment america^sony computer entertainment america^action, platform^4^e (everyone)^03/17/2005
playstation portable^ape quest^sony computer entertainment america^sce studios japan^role-playing game^1^e (everyone)^01/10/2008
playstation portable^archer maclean's mercury^ignition entertainment^awesome studios^puzzle^2^e (everyone)^04/06/2005
playstation portable^armored core: formula front^agetec inc.^from software^mech fighting, action, shooter^2^t (teen)^12/15/2005
playstation portable^arthur and the invisibles^atari^estranges libellule^action, adventure^2^e (everyone)^02/16/2007
playstation portable^asphalt: urban gt 2^ubisoft^virtuous - game source^racing, driving^4^rp (rating pending)^05/03/2007
playstation portable^astonishia story^ubisoft / sonnori corporation^sonnori corporation^role-playing game^1^e10+ (everyone 10 and older)^06/06/2006
playstation portable^atari classics evolved^atari^stainless games^arcade, compilation^2^e (everyone)^12/19/2007
playstation portable^atv offroad fury pro^sony computer entertainment america^climax studios^racing^4^e (everyone)^10/26/2006
playstation portable^football manager handheld^sega europe^sports interactive^sports management simulation^1^rp (rating pending)^04/13/2006
playstation portable^football manager handheld 2007^sega europe^sports interactive^sports management simulation^1^e (everyone)^12/01/2006
playstation portable^football manager handheld 2008^sega europe^sports interactive^sports management simulation^1^e (everyone)^11/30/2007
playstation portable^ford bold moves street racing^eidos interactive^razorworks^racing, driving^2^e (everyone)^10/17/2006
playstation portable^ford racing off road^xplosiv^razorworks^racing, driving^6^e (everyone)^03/14/2008
playstation portable^formula 1: grand prix^sony computer entertainment europe^traveller's tales^racing, driving^8^rp (rating pending)^08/12/2005
playstation portable^formula one 06^sony computer entertainment^sce studios liverpool^racing, driving^2^rp (rating pending)^09/21/2006
playstation portable^frantix^sony online entertainment^killer game^puzzle^1^e (everyone)^09/19/2005
playstation portable^freak out: extreme ride^jowood productions^coldwood interactive^extreme sports^1^rp (rating pending)^10/26/2007
playstation portable^free running^reef entertainment^core design - rebellion^extreme sports^1^t (teen)^04/20/2007
playstation portable^frogger: helmet chaos^konami^kce hawaii^platform^4^e (everyone)^09/29/2005
playstation portable^from russia with love^electronic arts^ea redwood shores^first-person shooter, action^6^t (teen)^04/03/2006
view all matches for this distribution
view release on metacpan or search on metacpan
CHANGES.txt view on Meta::CPAN
+ Added compiler directives for C++.
+ Removed "Carp::Clan" from the distribution (available separately).
+ Fixed bug in initialization of "Date::Calendar::Year" objects.
+ Added method "tags()" to "Date::Calendar" and "Date::Calendar::Year".
+ Fixed the formula for "Labor Day" in the U.S. to "1/Mon/Sep".
+ Added a new recipe to the "Date::Calc" documentation.
+ Added Romanian to the list of languages supported by "Date::Calc".
+ Changed the example script "calendar.cgi" to highlight the name
which led to a given date being a holiday.
+ Fixed the Polish entries in "Date::Calc".
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Date/Calendar/Profiles.pm view on Meta::CPAN
{
my($year,$label) = @_;
return( &Next_Monday($year,1,1) );
}
#
# The following formula (also from Jonathan Stowe <gellyfish@gellyfish.com>)
# also contradicts my pocket calendar, but for lack of a better guess I
# left it as it is. Please tell me the correct formula in case this one
# is wrong! Thank you!
#
sub GB_Early_May # May bank holiday is the first Monday after May 1st
{
my($year,$label) = @_;
lib/Date/Calendar/Profiles.pm view on Meta::CPAN
%{$Profiles->{'AU'}},
"New Year's Day" => "01.01.",
"Regatta Day" => "2/Tue/Feb",
"Lauceston Cup Day" => \&AU_Lauceston,
"King Island Show Day" => "1/Tue/Mar", # uncertain! (maybe Tuesday after 1/Sun/Mar?)
"Eight Hour Day" => "2/Mon/Mar", # dubious, formula probably wrong!
"Easter Saturday" => "-1",
"Queen's Birthday" => "2/Mon/Jun",
"Recreation Day" => "1/Mon/Nov" # only North Tasmania - date not confirmed!
};
$Profiles->{'AU-SA'} = # South Australia
lib/Date/Calendar/Profiles.pm view on Meta::CPAN
};
$Profiles->{'AU-ACT'} = # Australian Capital Territory
{
%{$Profiles->{'AU'}},
"New Year's Day" => "01.01.",
"Canberra Day" => "2/Mon/Mar", # dubious, formula probably wrong!
"Easter Saturday" => "-1",
"Queen's Birthday" => "2/Mon/Jun",
"Labour Day" => "1/Mon/Oct"
};
$Profiles->{'AU-NSW'} = # New South Wales
view all matches for this distribution
view release on metacpan or search on metacpan
eg/g2r_table view on Meta::CPAN
$end_of_interval{$current_start} = $year;
}
}
#
# Compute the formulas for a sample year and for a month.
# 1st January 1796 is 11 Nivôse IV, and 31 January 1796 is 11 Pluviôse IV.
# Therefore, for January 1796, we have two formulas : "+10 Niv" and "-20 Plu".
# Since all French Revolutionary months have 30 days, only one computation is necessary.
# Exception: the additional days are grouped in a notional 13th month, which lasts
# either 5 or 6 days. In this case, we have 3 formulas for September, at the cost of 2 conversions.
#
sub formulas {
my ($year, $month) = @_;
my @formulas = ();
my @month = qw(Niv Plu Vnt Ger Flo Pra Mes The Fru S-C Vnd Bru Fri Niv);
my $date = Date::Convert::Gregorian->new($year, $month, 1);
Date::Convert::French_Rev->convert($date);
my $offset = $date->day() - 1;
if ($month <= 9) # Have to split in two, because of the additional days within @month
{
push @formulas, "+$offset $month[$month - 1]";
$offset = 30 - $offset;
push @formulas, "-$offset $month[$month]";
}
else
{
push @formulas, "+$offset $month[$month]";
$offset = 30 - $offset;
push @formulas, "-$offset $month[$month + 1]";
}
if ($month == 9)
{
$date = Date::Convert::French_Rev->new($year - 1791, 1, 1);
Date::Convert::Gregorian->convert($date);
$offset = $date->day() - 1;
push @formulas, "-$offset Vnd";
}
@formulas;
}
sub html_0 {
my ($title) = @_;
print <<"EOF";
eg/g2r_table view on Meta::CPAN
{
print "<tr align='center'><td>$labels{month}[8]</td>";
foreach (@days)
{
my $year = $year_of_partday{$part}{$_};
my @formulas = formulas($year, 9);
print "<td>$formulas[2]</td>\n";
}
print "</tr>\n";
}
# The regular months of the part of the year
my @month_list = $part eq 'b' ? (1..2) : $part eq 'm' ? (3..9) : (10..12);
eg/g2r_table view on Meta::CPAN
{
print "<tr align='center'><td>$labels{month}[$month - 1]</td>";
foreach (@days)
{
my $year = $year_of_partday{$part}{$_};
my @formulas = formulas($year, $month);
print "<td>$formulas[0]<br />$formulas[1]</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
eg/g2r_table view on Meta::CPAN
my $y2 = sprintf "%02d", $y % 100;
my $part = $m <= 2 ? 'b' : $m < 9 ? 'm' : 'e';
my $offset = $part eq 'e' ? 1791 : 1792;
my $letter = letter_of_yearpart($y, $part);
my $word = word_for_year($y);
my @formulas = formulas($y, $m);
my $limit = $1 if $formulas[1] =~ /(\d+)/;
my $formula = $formulas[$d <= $limit ? 0 : 1];
my $ryear = $date->year();
my $begint; # Beginning of the interval
foreach (sort { $a <=> $b } keys %end_of_interval)
{
last if $y < $_;
eg/g2r_table view on Meta::CPAN
# Second example: September
# $m = 9;
$gr_date = &{$labels{format}}($y, 9, $d, $lang);
$date = Date::Convert::Gregorian->new($y, 9, $d);
Date::Convert::French_Rev->convert($date);
@formulas = formulas($y, 9);
my $mletter = letter_of_yearpart($y, 'm');
my $eletter = letter_of_yearpart($y, 'e');
$abridged = $date->date_string("%e %b %Y");
$rev_date = $date->date_string("%A %e %B %EY");
$limit = $1 if $formulas[1] =~ /(\d+)/;
if ($d <= $limit)
{ $formula = $formulas[0]; $offset = 1792 }
else
{
$limit = $1 if $formulas[2] =~ /(\d+)/;
if ($d <= $limit)
{ $formula = $formulas[1]; $offset = 1792 }
else
{ $formula = $formulas[2]; $offset = 1791 }
}
$_ = eval "qq($labels{usage2})";
print;
}
view all matches for this distribution
view release on metacpan or search on metacpan
March 45, 2001 will return a day, just one with no meaning. So make sure
you pass real dates.
After initial release of this module, I decided to elaborate on the
mathematical foundations for the algorithm used. Most other day of week
modules use the dooms day algorithm. Date::Day uses a single line formula.
Not getting into too much detail, we take the fact that March 1, 0000 fell
on a Wednesday. Knowing this, we can determine the day of week March 1
will fall on in any given year y > 0. That is:
So we refine our table:
Month 1 2 3 4 5 6 7 8 9 10 11 12
Value 0 3 2 5 0 3 5 1 4 6 2 4
The above table is very important in our final formula. So for example,
the month June is numerical 6, and 6 goes to value 3. 3 is then used in
our final formula.
With all the above data, it follows that month m, day 1, year y, has day
of week number:
1 + j(m) + y + [y/4] - [y/100] + [y/400] mod 7
And to get a formula that handles any given day, we use the formula:
d + j(m) + y + [y/4] - [y/100] + [y/400] mod 7 (***)
So for example, we want to find the day of week corresponding to April 8,
2002. If March is month 1, then April is month 2, hence m=2. So j(2)=5.
which is, 1 mod 7. So 4/8/2002 is a Monday.
So when you look at the code portion of Day.pm you see only two important
lines of code. One line is for the associative array that implements j(m).
The other line is for implementing formula (***). Thats it.
=head1 AUTHOR
John Von Essen, john@essenz.com
view all matches for this distribution