view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic/michelin.pm view on Meta::CPAN
=head1 NOTES
Restaurants with a certain number of stars are a moving target. Each year,
Michelin announces new lists; restaurants may lose their starts, others gain
stars, and restaurants close. This theme describes the situation in 2012,
and will be updated when needed.
=head1 BUGS
Restaurants that had three stars, but closed or lost their star before
2000 are not listed.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic/ben_and_jerry.pm view on Meta::CPAN
=item *
2012-08-13 - v1.000
Made updatable from a source URL,
updated with the list of flavors for August 2012,
and published in Acme-MetaSyntactic-Themes version 1.014.
=item *
2005-10-26
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/MetaSyntactic/soviet.pm view on Meta::CPAN
written by B. Prézelin
published by Editions Maritimes et Outre-Mer
(ISBN 2.7373.0485.7)
abbreviated as I<FDC>.
Note: these last two books are actually the same book, updated and
published every other year. You can notice that the title has been
shortened between the 1968 issue and the 1990 issue (FDC vs. LFDC).
=item *
view all matches for this distribution
view release on metacpan or search on metacpan
- added SEE ALSO section for similar module
0.02 Sun Jan 2 20:07:00 2005
- added more tests
- added option for NO_SHIFT
- updated documentation
- added ability to change options in constructor
- added option for NO_SENTENCE_CAPS
- added case flag to count function
- added debug flag to count function
view all matches for this distribution
view release on metacpan or search on metacpan
0.20 2016-06-04T07:14:11Z
- graduated SuzukiKanon
0.19 2015-12-31T15:20:42Z
- updated SayashiRiho.pm along with her graduation from Morning Musume on Dec 31th 2015.
0.18 2014-11-26T12:58:30Z
- updated MichishigeSayumi.pm along with her graduation from Morning Musume on Nov 26th 2014.
0.17 2014-10-06T12:16:25Z
- added HagaAkane.pm MakinoMaria.pm NonakaMiki.pm OgataHaruna.pm who joined into Morning Musume as 12 class.
0.16 2013-10-01T15:06:17Z
Revision history for Perl extension Acme::MorningMusume
0.16 Tue Oct 02 2013
- updated the data of Kudoh Haruka and Oda Sakura
(Thanks to catatsuy)
- removed old dependencies that hadn't work
0.15 Mon May 27 2013
- updated ReinaTanaka.pm along with her graduation from Morning Musume on May 21 2013
(Thanks to catatsuy)
0.14 Sat Jan 5 2012
- updated along with current members.
(Thanks to catatsuy)
0.13 Tue Aug 23 2011
- updated EriKamei.pm, LiChun.pm, and QianLin.pm for their graduation from Morning Musume at Dec 15 2010.
- added KanonSuzuki.pm, ErinaIkuta.pm, KanonSuzuki.pm, and MizukiFukumura.pm who joined into Morning Musume on Jan
0.12 Tue Dec 8 2009
- updated KusumiKoharu.pm for her graduation from Morning Musume at Dec 6 2009..
0.11 Fri Jun 1 2007
- updated FujimotoMiki.pm because she resigned Morning Musume Jun 1 2007 to take responsibility for her scandal.
0.10 Mon May 7 2007
- updated along with that Hitomi Yoshizawa graduated from Morning Musume on May 6 2007.
0.09 Sat Apr 7 2007
- added LiChun.pm and QianLin.pm who joined into Morning Musume as foreign students on Mar 15 2007
- fixed Acme::MorningMusume::Base.pm which made an error by mistake
(Thanks to Jonathan Rockway #24387)
- changed license to MIT license from Perl license
- removed an inappropriate nickname from KusumiKoharu.pm
0.07 Mon Aug 28 2006
- updated OgawaMakoto.pm for her graduation on Aug 27 2006
0.06 Sat Jul 29 2006
- updated KonnoAsami.pm for her graduation
0.05 Sat Sep 4 2005
- fixed a bug not to load KusumiKoharu.pm.
(Thanks to nipotan <http://blog.livedoor.jp/nipotan/>)
- added a new feature enables to retrieve the members at some time.
view all matches for this distribution
view release on metacpan or search on metacpan
OneHundredNotOut.pm view on Meta::CPAN
his part does not constitute necessity on mine.
While I was messing with Parrot, I wanted to get other languages running
on the VM too, including Python, so I wrote L<Python::Bytecode> to take
apart the Python bytecode format so that it can be reassembled as Parrot
IMCC. Thankfully, Dan's taken this over, updated it for the latest
version of Python, and seems to be making good use of it converting
Python libraries to Parrot.
=head2 And the final joke...
view all matches for this distribution
view release on metacpan or search on metacpan
CONTRIBUTING view on Meta::CPAN
Detailed instructions for doing that is available here:
https://help.github.com/articles/creating-a-pull-request
Generated files such as README, CONTRIBUTING, Makefile.PL, LICENSE etc should
*not* be included in your pull request, as they will be updated automatically
during the next release.
If you have found a bug, but do not have an accompanying patch to fix it, you
can submit an issue report here:
https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-Pi
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for Acme-Signature-Arity
0.003 2022-01-17 00:28:54+08:00 Asia/Kuala_Lumpur
[Bugs fixed]
- dependencies updated to require perl v5.26+, when signatures were a bit more stable
0.002 2022-01-16 21:34:59+08:00 Asia/Kuala_Lumpur
[New features]
- coderef_ignoring_extra, for library authors
view all matches for this distribution
view release on metacpan or search on metacpan
local/lib/perl5/Future.pm view on Meta::CPAN
return if $self->{ready} and ( $self->{reported} or !$self->{failure} );
my $lost_at = join " line ", (caller)[1,2];
# We can't actually know the real line where the last reference was lost;
# a variable set to 'undef' or close of scope, because caller can't see it;
# the current op has already been updated. The best we can do is indicate
# 'near'.
if( $self->{ready} and $self->{failure} ) {
warn "${\$self->__selfstr} was $self->{constructed_at} and was lost near $lost_at with an unreported failure of: " .
$self->{failure}[0] . "\n";
view all matches for this distribution
view release on metacpan or search on metacpan
0.0.2 Mon Jan 9 20:36:42 2006
- made spork return PID of sporked process
0.0.3 Mon Jan 9 20:36:78 2006
- realized I hadn't put this in the change log after uploading 0.0.2, doh!
- or updated the version in README
- added "the" to the POD near plastic for good measure
- make spork() return (instead of croak) if fork fails so you can handle the failure as need be
- added child sig so zombies do not happen, we hope anyhoo ;p
- slowed down to hopefully not miss the stupid stuff
view all matches for this distribution
view release on metacpan or search on metacpan
docs/SubmittingPatches.pod view on Meta::CPAN
=item * provide additional information (which is unsuitable for the commit
message) between the "---" and the diffstat
=item * if you change, add, or remove any features or make some other user
interface change, the associated documentation should be updated as well.
=item * if your name is not writable in ASCII, make sure that you send the
patch in the correct encoding.
=back
view all matches for this distribution
view release on metacpan or search on metacpan
1.03 2020.10.12 - Relicensed under MIT License. Maintainer updated. Build
configs updated. Set min version of Perl to 5.6. Added
'use warnings'. Misc file permissions updated. Added
GitHub repo to metadata.
1.02 2008.05.17 - Permissions fixes for build tools and added more examples
1.01 2008.05.16 - Fixed minor permissions problem
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Acme/TLDR.pm view on Meta::CPAN
File::HomeDir->my_data,
q(.Acme-TLDR-) . md5_hex(join ':' => sort @INC) . q(.cache)
);
_debug(q(ExtUtils::Installed cache: %s), $cache);
my $updated = -M $cache;
my $modules;
if (
not defined $updated
or
grep { -e and -M _ < $updated }
map { catfile($_, q(perllocal.pod)) }
@INC
) {
## no critic (ProhibitPackageVars)
_debug(q(no cache found; generating));
lib/Acme/TLDR.pm view on Meta::CPAN
=head1 CAVEAT
To reduce loading time (C<ExtUtils::Installed-E<gt>new-E<gt>modules> is too damn slow), an installed module cache
is initialized upon L<Acme::TLDR> start.
It is updated when the F<perllocal.pod> file of the used Perl version gets a modified time more recent than the cache file itself.
=head1 SEE ALSO
=over 4
view all matches for this distribution
view release on metacpan or search on metacpan
0.31 Sat Feb 9 11:38:17 CET 2002
- minor change in documentation
0.30 Sat Feb 9 09:43:34 CET 2002
- now able to perform a TIESCALAR (idea from Juerd <juerd@juerd.nl>)
- test suite updated
- documentation updated
**
0.20 Fri Feb 8 12:18:02 CET 2002
- minor change in documentation
view all matches for this distribution
view release on metacpan or search on metacpan
money: AED, ARS, AUD, BGN, BHD, BND, BRL, BWP, CAD, CHF, CLP, CNY,
COP, CZK, DKK, EUR, GBP, HKD, HRK, HUF, IDR, ILS, INR, IRR,
ISK, JPY, KRW, KWD, KZT, LKR, LTL, LVL, LYD, MUR, MXN, MYR,
NOK, NPR, NZD, OMR, PHP, PKR, PLN, QAR, RON, RUB, SAR, SEK,
SGD, THB, TRY, TTD, TWD, USD, VEF, ZAR, BTC, LTC, mBTC, XBT
Currency rates are automatically updated from the net
at least every 24h since last update (on linux/cygwin).
numbers: dec, hex, bin, oct, roman, dozen, doz, dz, dusin, gross, gro,
gr, great_gross, small_gross (not supported: decimal numbers)
$r{lc($_)}=$r{$_} for keys%r;
#warn serialize([minus([sort keys(%r)],[sort keys(%{$conv{money}})])],'minus'); #ARS,AED,COP,BWP,LVL,BHD,NPR,LKR,QAR,KWD,LYD,SAR,KZT,CLP,IRR,VEF,TTD,OMR,MUR,BND
#warn serialize([minus([sort keys(%{$conv{money}})],[sort keys(%r)])],'minus'); #LTC,I44,BTC,BYR,TWI,NOK,XDR
$conv{money}={%{$conv{money}},%r} if keys(%r)>20;
};
carp "conv: conv_prepare_money (currency conversion automatic daily updated rates) - $@\n" if $@;
$conv{money}{"m$_"}=$conv{money}{$_}/1000 for qw/BTC XBT/;
$conv_prepare_money_time=time();
1; #not yet
}
view all matches for this distribution
view release on metacpan or search on metacpan
Without prejudice of Article 9 above, the Licence represents the complete agreement between the Parties as to the
Work.
If any provision of the Licence is invalid or unenforceable under applicable law, this will not affect the validity or
enforceability of the Licence as a whole. Such provision will be construed or reformed so as necessary to make it valid
and enforceable.
The European Commission may publish other linguistic versions or new versions of this Licence or updated versions of
the Appendix, so far this is required and reasonable, without reducing the scope of the rights granted by the Licence.
New versions of the Licence will be published with a unique version number.
All linguistic versions of this Licence, approved by the European Commission, have identical value. Parties can take
advantage of the linguistic version of their choice.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Activiti/Rest/Response.pm view on Meta::CPAN
#The operation failed. The used method is not allowed for this resource. Eg. trying to update (PUT) a deployment-resource will result in a 405 status.
elsif($code eq "405"){
Activiti::Rest::Error::MethodNotAllowed->throw($args);
}
#The operation failed. The operation causes an update of a resource that has been updated by another operation, which makes the update no longer valid. Can also indicate a resource that is being created in a collection where a resource with that ...
elsif($code eq "409"){
Activiti::Rest::Error::Conflict->throw($args);
}
#The operation failed. The request body contains an unsupported media type. Also occurs when the request-body JSON contains an unknown attribute or value that doesn't have the right format/type to be accepted.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/AddressBook.pm view on Meta::CPAN
=head2 update
$abook->update(filter=>\%filter,entry=>$entry)
\%filter is a list of cannonical attriute/value pairs used to identify the entry to
be updated.
$entry is an AddressBook::Entry object
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
public/vendor/pagedown/Markdown.Editor.js view on Meta::CPAN
// `helpButton.title`. This should be considered legacy.
//
// The constructed editor object has the methods:
// - getConverter() returns the markdown converter object that was passed to the constructor
// - run() actually starts the editor; should be called after all necessary plugins are registered. Calling this more than once is a no-op.
// - refreshPreview() forces the preview to be updated. This method is only available after run() was called.
Markdown.Editor = function (markdownConverter, idPostfix, options) {
options = options || {};
if (typeof options.handler === "function") { //backwards compatible behavior
view all matches for this distribution
view release on metacpan or search on metacpan
You will need to create one object per configuration file that you wish to
manipulate. And any updates you make to the object in memory will not make it
back into the config file itself.
It also has options for detecting if the data in the config file has been
updated since you loaded it into memory and allows you to refresh the
configuration object. So that your long running programs never have to execute
against stale configuration data.
This module supports config file features such as variable substitution,
sourcing in other config files, comments, breaking your configuration data
#######################################
=item $boolean = $cfg->refresh_config ( %refresh_opts );
This boolean function detects if your config file or one of it's dependancies
has been updated. If your config file sources in other config files, those
config files are checked for changes as well.
These changes could be to the config file itself or to any referenced variables
in your config file whose value has changed.
=item Supported Refresh Options Are:
"test_only => 1" - It will skip the reloading of the config file even if it
detects something changed. And just tell you if it detected any changes.
"force => 1" - It will assume you know better and that something was updated.
It will almost always return true (B<1>) when used.
=back
It returns true (B<1>) if any updates were detected or the B<force> option was
{
DBUG_ENTER_FUNC (@_);
my $self = shift;
my %opts = (ref ($_[0]) eq "HASH" ) ? %{$_[0]} : @_;
my $updated = 0; # Assume no updates ...
my $skip = 0;
# Do a case insensitive lookup of the options hash ...
foreach my $k ( keys %opts ) {
next unless ( $opts{$k} ); # Skip if set to false ...
if ( $k =~ m/^force$/i ) {
$updated = 1; # Force an update ...
} elsif ( $k =~ m/^test_only$/i ) {
$skip = 1; # Skip any refresh of the config file ...
}
}
$self = $self->{PARENT} || $self; # Force to the "main" section ...
if ( $self->{CONTROL}->{SENSITIVE_CNT} != sensitive_cnt () ) {
$updated = 1;
}
# If not forcing an update, try to detect any changes to the %ENV hash ...
unless ( $updated ) {
DBUG_PRINT ("INFO", "Checking for changes to %ENV ...");
foreach my $k ( sort keys %{$self->{CONTROL}->{ENV}} ) {
if ( ! defined $ENV{$k} ) {
$updated = 1; # Env. Var. was removed from the environment.
} elsif ( $ENV{$k} ne $self->{CONTROL}->{ENV}->{$k} ) {
$updated = 1; # Env. Var. was modified ...
}
if ( $updated ) {
DBUG_PRINT ("WARN", "ENV{%s} changed it's value!", $k);
last;
}
}
}
DBUG_PRINT ("INFO", "Checking the special date variables for changes ...");
my $res = set_special_date_vars ($self->{CONTROL}->{date_opts},
\%dates, $self->{CONTROL}->{DATES});
if ( $res >= $self->{CONTROL}->{DATE_USED} ) {
DBUG_PRINT ("WARN", "A referenced special date variable's value changed!");
$updated = 1;
} else {
$dates{timestamp} = $self->{CONTROL}->{DATES}->{timestamp};
}
}
# Try to detect if any config files were modified ...
unless ( $updated ) {
DBUG_PRINT ("INFO", "Checking the file timestamps ...");
foreach my $f ( sort keys %{$self->{CONTROL}->{REFRESH_MODIFY_TIME}} ) {
# Can't do ref($f) since key is stored as a string here.
my $modify_time = ( $f =~ m/^SCALAR[(]0x[0-9a-f]+[)]$/ ) ? 0 : (stat( $f ))[9];
if ( $modify_time > $self->{CONTROL}->{REFRESH_MODIFY_TIME}->{$f} ) {
DBUG_PRINT ("WARN", "File was modified: %s", $f);
$updated = 1;
last;
}
}
}
# Refresh the config file's contents in memory ...
if ( $updated && $skip == 0 ) {
my $f = $self->{CONTROL}->{filename};
my @mlst = @{$self->{CONTROL}->{MERGE}};
my $opts = $self->{CONTROL}->{REFRESH_READ_OPTIONS};
# Update date info gathered earlier only if these vars are used.
$self->merge_config ( $m, $opts->{$m} );
}
}
}
DBUG_RETURN ( $updated );
}
#######################################
# Private method ...
This function encrypts all tag values inside the specified confg file that are
marked as ready for encryption and generates a new config file with everything
encrypted. If a tag/value pair isn't marked as ready for encryption it is left
alone. By default this label is B<ENCRYPT>.
After a tag's value has been encrypted, the label in the comment is updated
from B<ENCRYPT> to B<DECRYPT> in the config file.
If you are adding new B<ENCRYPT> tags to an existing config file that already
has B<DECRYPT> tags in it, you must use the same encryption related options in
I<%rOpts> as the last time. Otherwise you won't be able to decrypt all
This function decrypts all tag values inside the specified confg file that are
marked as ready for decryption and generates a new config file with everything
decrypted. If a tag/value pair isn't marked as ready for decryption it is left
alone. By default this label is B<DECRYPT>.
After a tag's value has been decrypted, the label in the comment is updated
from B<DECRYPT> to B<ENCRYPT> in the config file.
For this to work, the encryption related options in I<\%rOpts> must match what
was used in the call to I<encrypt_config_file> or the decryption will fail.
view all matches for this distribution
view release on metacpan or search on metacpan
dyncall/ChangeLog view on Meta::CPAN
o working html doc generation from TEX sources
o SPARC32 (v7/v8) calling convention description
o SPARC64 (v9) calling convention description
bindings:
o better documentation, removed relative path dependencies, general cleanup
o python: updated to latest signature format (was still on 0.1)
o java: rewritten (old version was never complete, anyways)
tests:
o added new dynload_plain test covering basic use of all dynload functions
buildsys:
o cmake: made to work on systems without C++ compiler (thanks Franklin Mathieu)
dyncall/ChangeLog view on Meta::CPAN
o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris)
o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris)
o bug fixes for x64/win64 calling convention
o added support for mingw32-w64 on x64
o improved cdecl x86 calling convention: stack always 16 byte aligned
o updated API and initial support for structs (for x86/AMD64)
o initial support for syscalls on x86, added x86 int80h linux/bsd
o added Minix port (stable)
o optimized vector buffer for small type pushing
o minor fix for amd64/sysv: alignment to 32-byte
o bug fix for ppc32/sysv: ellipsis calls work now
o updated API, introduced DC_CALL_C_ELLIPSIS_VARARGS
o changed interface: dcMode does not reset internally anymore
dyncallback:
o uses portasm for x86,x64
o added Solaris/x86/sunpro port (stable)
o added Minix port (unstable)
dyncall/ChangeLog view on Meta::CPAN
o darwin 8.0 support
o added 'install' support for Makefile.embedded
buildsys/gmake updates:
o added support for msvc/x64 tool-chain
o default settings for build-dir changed to '.'
o cleanup: removed top-level Make{Prolog,Epilog,Rules} files and updated all sub-projects and tests
o added support for DESTDIR staging installation
o added support for manual page installation
buildsys/cmake updates:
o updated find module scripts (see cmake/Modules)
o added support for using dyncall as sub-project (via *Config.cmake files)
see details in README.CMake
o fixes for msvc and ml
o fixes for CPack
o fixes for universal builds on Mac OS X
o supports SunPro with *.S files.
o added experimental 'dynMake' portable make-based build-system (not stable, yet)
doc:
o added dyncallback documentation
o updated dyncall documentation
o minor updates
tests:
o added flexible test suite for calls (call_suite) based on Lua and C
o added syscall test
o updates to resolve-self test (adding additional link flags to export symbols)
dyncall/ChangeLog view on Meta::CPAN
o renamed arm9 stuff to arm32
o added non-EABI ABI for arm32 (before, EABI was the default implementation)
o added dyncallback support for x64/windows (thanks Olivier), x64/darwin, arm32/arm, arm32/thumb
o synced documentation again with current state of the source (lots of small changes)
o updated ruby binding to current state of signature string (still some features missing, though)
o added a couple of new options to configure scripts (e.g. prefix-bd, new targets, etc.)
o darwin universal binary support
o added new tests callback_plain and calback_suite
o added Haiku/BeOS support
dyncall/ChangeLog view on Meta::CPAN
long: 'l' -> 'j'
long long: 'L' -> 'l'
added unsigned integer type signature characters: upper case encoding
o added: callbacks component (support only for some platforms ATM)
o added: test cases for alloc_wx, thunk
o updated Documentation
Version 0.3 (2009/01/17)
o added Linux PPC32 support
o added ARM THUMB mode support
o cosmetic changes, documentation updated
o bugfix: on cygwin exported C symbols in GNU as are prefixed with '_' now.
o removed scons build support
Version 0.2 (2008/05/18)
view all matches for this distribution
view release on metacpan or search on metacpan
0.03 Thu Jun 7 06:42:00 EST 2007
- Added SMTP client package
- Cleaned up some PODs
0.02 Thu May 3 14:04:37 EST 2007
- updated tests for TCLI-Core 0.03
- Fixed POD documentation
- Added pod.t test
- Added HTTPD package
- Added ex/target.t example script for inter Agent testing
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Agent/TCLI/Request.pm view on Meta::CPAN
:All('input');
=item response_count
A counter that is incremented for every response to this request.
This is updated automatically through the use of the Respond method.
B<response_count> will only accept NUMERIC type values.
=cut
my @response_count :Field :All('response_count')
:Type('NUMERIC' );
view all matches for this distribution
view release on metacpan or search on metacpan
* made Static agent use localtime() instead of a system call
October 2, 1998
* 3.01j alpha release (the last one??).
+ Added Thread and Safe .readme files.
* updated ex.pl w/ command-line opts for Safe & Thread
September 17, 1998
* Major overhaul of execution in Safe compartments. 'Compartment'
need no longer be passed to run().
* 'File' arg of new() now takes an IO::Handle object.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Album/Tutorial.pm view on Meta::CPAN
(Needed to write 18 image pages)
Creating pages for 1 index
(Needed to write 1 index page)
Two new images were found on the CD-ROM, copied to the 'large'
directory, and processed as usual. 'info.dat' has been updated with
the new entries. Note that images found on the CD-ROM that already
exist in 'large' (i.e., have the same name) are skipped.
=head2 Using EXIF information
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/AM.pm view on Meta::CPAN
XS, and hooks were provided to help the user create custom reports
and control classification dynamically.
The present version has been renamed to C<Algorithm::AM>, which seemed
a better fit for CPAN. While the XS has largely remained intact, the
Perl code has been completely reorganized and updated to be both more
"modern" and modular. Most of the functionality of C<AM::Parallel>
remains.
=head1 SEE ALSO
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/Bertsekas.pm view on Meta::CPAN
my ( $Opt01ValForPersonI_new_list, $Opt02ValForPersonI_new_list, $Opt03ValForPersonI_new_list ) = ( -10 * exp ($max_matrix_value), -10 * exp ($max_matrix_value), -10 * exp ($max_matrix_value) );
my $Opt01ValForPersonI_old_list;
my $bidForPersonI;
my %current_value;
my @updated_price;
$seen_ghost++ if ( not defined $matrix[$person] and $min_size < $max_size );
# The @objects_with_greater_benefits list are updated dynamically by $objects_desired_by_this{$person} by considering the current price (or current value) of objects.
# For each person, the Current Value $current_value{$object} of the most desired objects contained in the @objects_with_greater_benefits list tends to converge to a specific value.
my @objects_with_greater_benefits = keys %{$objects_desired_by_this{$person}}; # sort { $a <=> $b }
# There is at least one object in the @objects_with_greater_benefits list whose price is updated ? use old list : generate new list;
for my $object ( @objects_with_greater_benefits ) # use old list
{
my $matrix_value = $seen_ghost ? 0 : $matrix[$person]->[$object];
$current_value{$object} = $matrix_value - $price_object{$object};
push @updated_price, $object if ( $objects_desired_by_this{$person}{$object} == $current_value{$object} );
if ( $current_value{$object} > $Opt01ValForPersonI ) # search for the best 3 objects
{
$Opt03ValForPersonI = $Opt02ValForPersonI;
$Opt03ObjForPersonI = $Opt02ObjForPersonI;
lib/Algorithm/Bertsekas.pm view on Meta::CPAN
$Opt02ValForPersonI, defined $Opt02ObjForPersonI ? $Opt02ObjForPersonI : '',
$Opt03ValForPersonI, defined $Opt03ObjForPersonI ? $Opt03ObjForPersonI : '';
}
}
if ( not @updated_price and not $locked_list{$person} ) # if all prices are outdated
{
for my $object ( 0 .. $max_size - 1 ) # generate new list
{
next if ( defined $current_value{$object} );
lib/Algorithm/Bertsekas.pm view on Meta::CPAN
{
@objects_with_same_values = grep { $current_value{$_} == $Opt01ValForPersonI } keys %current_value;
$objects_with_the_same_values{$_}{$person} = $Opt01ValForPersonI for (@objects_with_same_values);
$count_object{$_}++ for (@objects_with_same_values);
if ( not @updated_price and defined $Opt01ValForPersonI_old_list ){
for my $object ( @objects_with_same_values ){
next unless ( $current_value{$object} > $Opt01ValForPersonI_old_list ); # objects in the new list that have values greater than the objects in the old list
$objects_desired_by_this{$person}{$object} = $current_value{$object}; # add information about the most desired objects
}
}
lib/Algorithm/Bertsekas.pm view on Meta::CPAN
delete $objects_desired_by_this{$person}{$object}; # delete objects of little benefit from the old list
printf $output "<> PersonI = %3s ; *** delete the object %3s from the old list *** \n", $person, $object if ( $verbose >= 8 );
}
}
if ( not @updated_price ) # if all prices are outdated
{
for my $object ( @objects_with_greater_benefits ){
next unless ( defined $objects_desired_by_this{$person}{$object} );
$objects_desired_by_this{$person}{$object} = $current_value{$object}; # update current values for all objects in the old list
}
lib/Algorithm/Bertsekas.pm view on Meta::CPAN
}
if ( $verbose >= 8 ){
my @old_list = sort { $a <=> $b } @objects_with_greater_benefits;
my @new_list = sort { $a <=> $b } keys %{$objects_desired_by_this{$person}};
@updated_price = sort { $a <=> $b } @updated_price;
my @best_3_objects = ( $Opt01ObjForPersonI, $Opt02ObjForPersonI, $Opt03ObjForPersonI );
my $msg = $locked_list{$person} ? '[locked list] ' : '';
@objects_with_same_values = sort { $a <=> $b } @objects_with_same_values;
$this_person_can_choose_n_different_objects{$person}{'objects'} = \@objects_with_same_values; #reference to an array
printf $output "<> PersonI = %3s ; %3s objects desired by this person (old list) = (@old_list) ; objects whose current values are still updated = (@updated_price) : %2s >= 1 ? \n", $person, scalar @old_list, scalar @updated_price;
printf $output "<> PersonI = %3s ; %3s objects desired by this person (new list) = (@new_list) $msg; \@best_3_objects = (@best_3_objects) \n", $person, scalar @new_list if ( defined $Opt03ObjForPersonI );
printf $output "<> PersonI = %3s chose ObjectJ = %3s ; \$bidForPersonI %10.5f = \$Opt01ValForPersonI %.5f - \$Opt02ValForPersonI %.5f + \$epsilon %.5f \n", $person, $Opt01ObjForPersonI, $bidForPersonI, $Opt01ValForPersonI, $Opt02ValForPersonI, $e...
printf $output "<> PersonI = %3s ; these objects (@objects_with_same_values) have the same values \$Opt01ValForPersonI = %10.5f ; \$Opt01ObjForPersonI = $Opt01ObjForPersonI ; *** equal values *** \n", $person, $Opt01ValForPersonI if (@objects_wit...
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
- see http://www.cpantesters.org/cpan/report/67845932-1927-11e2-8c89-c5fec1a37597
v0.04 2012-10-17 moocow
* fixed vXbsearch_lb() for ilo==imin with v[ilo]<key
* added test for ilo==imin with v[ilo]<key
* updated docs
v0.03 2012-10-10 moocow
* fixed consistency errors
* updated docs
v0.02 2012-10-09 moocow
* added vv* functions (vec-wise search, returns 32-bit index-vec)
* renamed to top-level Algorithm::BinarySearch::Vec
* cleaned up for cpan release
view all matches for this distribution
view release on metacpan or search on metacpan
; manifest (after all generated files)
[Manifest] ; create MANIFEST
; before release
[CheckPrereqsIndexed] ; ensure prereqs are on CPAN
[CheckChangesHasContent] ; ensure Changes has been updated
[TestRelease] ; ensure t/ tests pass (including dynamic extra tests)
[ConfirmRelease] ; prompt before uploading
; releaser
[UploadToCPAN] ; uploads to CPAN
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Algorithm/CriticalPath.pm view on Meta::CPAN
Performs a critical path analysis of a DAG where the vertices have costs, and the edges do not.
All costs are assumed positive. Dummy Start and End nodes are used internally to aid the analysis.
The constructor takes a pre-constructed Graph object with weighted vertices and simple directed edges. The Graph object is embedded
in the Algorithm::CriticalPath object as a readonly attribute, and cannot be updated once the Algorithm::CriticalPath object has been constructed.
The two accessor attributes are 'rw', as I haven't found an easy way to default them from the constructor. They should be 'ro', i.e. not modifiable
once set by the constructor.
The module checks that the passed-in Graph object is directed, non-cyclic, and simply connected, without multi-vertices and without multi-edges.
view all matches for this distribution