view release on metacpan or search on metacpan
lib/FixerIO/API.pm view on Meta::CPAN
You have to obtain your own API key from the fixer.io web site. There is a free option.
=head1 IMPLEMENTED ENDPOINTS
Please note that depending on your subscription plan, certain API endpoints may not be available.
=head2 LATEST RATES
Returns real-time exchange rate data for all available or a specific set of currencies.
view all matches for this distribution
view release on metacpan or search on metacpan
2.06 2011-10-13
* Added support for retrieving a photo by ID
* Added square and thumbnail sizes to photo URLs
2.07 2014-05-20
* use ssl api endpoint by default
* Fixed some typeos in Base _response_to_photos & added attributes
* added attributes to by_id in Photos as per issue #5
* Fix UTF8 test
2.08 2014-05-22
view all matches for this distribution
view release on metacpan or search on metacpan
scripts/ttfbuilder view on Meta::CPAN
$pt->{'loc'} = [0, 0];
}
}
($withx, $withy) = @{$pt->{'loc'}};
delete $aglyph->{'points'}{$attrs{'with'}} # delete if attaching to a real glyph
if (defined $curbase->{'glyph'} && (!ref $curbase->{'glyph'}{'endpoints'} || $curbase->{'glyph'}{'numPoints'} != scalar @{$curbase->{'glyph'}{'endPoints'}}));
} else
{
$withx = $currif->{'hmtx'}{'advance'}[$aglyph->{'gid'}] / 2 * $currif->{'scale'};
$withy = 0;
}
scripts/ttfbuilder view on Meta::CPAN
+ $g->{'offset'}[0];
if ($glyph = $g->{'glyph'})
{
$glyph->read->get_points;
$pathcount += scalar @{$glyph->{'endPoints'}} if (defined $glyph->{'endpoints'});
push (@{$g->{'glyph_list'}}, pos_glyphs($f, $g->{'gid'}, $glyph, @{$g->{'offset'}}, $g->{'scale'}, $s));
$xMin = $glyph->{'xMin'} * $s;
$yMin = $glyph->{'yMin'} * $s;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Font/TTF/Glyph.pm view on Meta::CPAN
=over 4
=item endPoints
An array of endpoints for each contour in the glyph. There are
C<numberOfContours> contours in a glyph. The number of points in a glyph is
equal to the highest endpoint of a contour.
=item numPoints
This is a generated value which contains the total number of points for this simple glyph.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Footprintless/Plugin/Atlassian/Confluence/Client.pm view on Meta::CPAN
return $self;
}
sub request {
my ( $self, $endpoint, $args, %response_options ) = @_;
my $response;
eval {
$logger->debugf( 'requesting %s', $endpoint );
my $http_request = $self->{request_builder}->$endpoint( ( $args ? @$args : () ) );
$http_request->authorization_basic( $self->{username}, $self->{password} );
if ( $logger->is_trace() ) {
$logger->trace(
join( '',
lib/Footprintless/Plugin/Atlassian/Confluence/Client.pm view on Meta::CPAN
$http_response->dump( maxlength => 500 ),
"\n---------------------- END RESPONSE --------------------\n" )
);
}
$response = $self->{response_parser}->$endpoint( $http_response, %response_options );
};
if ($@) {
if ( ref($@) eq 'HASH' && $@->{code} ) {
$response = $@;
}
lib/Footprintless/Plugin/Atlassian/Confluence/Client.pm view on Meta::CPAN
}
return $response;
}
sub request_all {
my ( $self, $endpoint, $args, @response_options ) = @_;
my $response = $self->request(
$endpoint,
[ @$args,
limit => 100,
start => 0
],
@response_options
lib/Footprintless/Plugin/Atlassian/Confluence/Client.pm view on Meta::CPAN
my $next = $response;
while ( $next->{success} && $next->{content}{_links}{next} ) {
my $limit = $response->{content}{limit};
$next = $self->request(
$endpoint,
[ @$args,
limit => $limit,
start => $next->{content}{start} + $limit,
],
@response_options
lib/Footprintless/Plugin/Atlassian/Confluence/Client.pm view on Meta::CPAN
=back
=head1 METHODS
=head2 request($endpoint, \@args, %response_options)
Generates a request by calling a method named C<$endpoint> on the request
builder, supplying it with C<@args>. The request is sent using the agent,
and the response is parsed by calling a method named C<$endpoint> on the
response parser, supplying it with C<%response_options>.
=head2 request_all($endpoint, \@args, %response_options)
Same as L<request/request($endpoint, \@args, %response_options)> except
that it will loop through I<all> pages until all results have been
returned. This method assumes that the last argument to request builder
will be an options hash that will be used as query parameters.
=head1 AUTHOR
view all matches for this distribution
view release on metacpan or search on metacpan
lib/FormValidator/Tiny.pm view on Meta::CPAN
must => number_in_range(100, '*')
must => number_in_range(100, 500)
must => number_in_range(exclusive => 100, exclusive => 500)
Returns a predicate for must that requires the integer to be within the given
range. The endpoints are inclusive by default. You can add the word "exclusive"
before a value to make the comparison exclusive instead. Using a '*' indicates
no limit at that end of the range.
=head2 one_of
view all matches for this distribution
view release on metacpan or search on metacpan
INTERPRETATION view on Meta::CPAN
- SCRIPTs see the outer interface of the proto even when doing
direct access, not the inside
2. TouchSensor
- isOver events are not generated when the user doesn't move the mouse.
if the user moves the mouse, the endpoint is compared with the current
isOver status and if it's different, an event is generated.
3. Mouse sensors
- spec is not explicit about events being generated only when
the geometry is at front - currently I only cast rays through
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Froody/API/Reflection.pm view on Meta::CPAN
<errors>
<error code="froody.error.notfound.errortype" message="Error Type not Found"/>
</errors>
</method>
<method name="froody.reflection.getSpecification">
<description>Request the full public specification for a froody endpoint.</description>
<response>
<spec>
<methods>
$METHOD_INFO
$METHOD_INFO
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Furl/S3.pm view on Meta::CPAN
use Furl::S3::Error;
use Params::Validate qw(:types validate_with validate_pos);
use URI::Escape qw(uri_escape_utf8);
use Carp ();
Class::Accessor::Lite->mk_accessors(qw(aws_access_key_id aws_secret_access_key secure furl endpoint));
our $VERSION = '0.02';
our $DEFAULT_ENDPOINT = 's3.amazonaws.com';
our $XMLNS = 'http://s3.amazonaws.com/doc/2006-03-01/';
lib/Furl/S3.pm view on Meta::CPAN
my %args = @_;
my $aws_access_key_id = delete $args{aws_access_key_id};
my $aws_secret_access_key = delete $args{aws_secret_access_key};
Carp::croak("aws_access_key_id and aws_secret_access_key are mandatory") unless $aws_access_key_id && $aws_secret_access_key;
my $secure = delete $args{secure} || '0';
my $endpoint = delete $args{endpoint} || $DEFAULT_ENDPOINT;
my $furl = Furl::HTTP->new(
agent => '$class/'. $VERSION,
%args,
header_format => HEADERS_AS_HASHREF,
);
my $self = bless {
endpoint => $endpoint,
secure => $secure,
aws_access_key_id => $aws_access_key_id,
aws_secret_access_key => $aws_secret_access_key,
furl => $furl,
}, $class;
lib/Furl/S3.pm view on Meta::CPAN
sub host_and_path_query {
my( $self, $bucket, $key, $params ) = @_;
my($host, $path_query);
$key = _normalize_key($key);
if ( is_dns_style($bucket) ) {
$host = join '.', $bucket, $self->endpoint;
$path_query = $self->_path_query( $key, $params );
}
else {
$host = $self->endpoint;
$path_query = $self->_path_query( join('/', $bucket, $key), $params );
}
$path_query =~ s{//}{/}g;
return ($host, $path_query);
}
lib/Furl/S3.pm view on Meta::CPAN
=item secure
boolean flag. uses SSL connection or not.
=item endpoint
S3 endpoint hostname. the default value is I<s3.amazonaws.com>
other parmeters are passed to Furl->new. see L<Furl> documents.
=back
view all matches for this distribution
view release on metacpan or search on metacpan
examples/webgui.pl view on Meta::CPAN
accidental corruption of data by reading old version. Depending on type of
database back-end, MySQL users might be out of luck.
=head2 recovering from errors
B<Transport endpoint is not connected> is very often error when Fuse perl
bindings exit without clean umount (through C<Fuse::DBI> C<umount> method or
with C<fusermount -u /mnt> command).
This script will automatically run C<fusermount -u /mnt> if it receives
above error on startup. If it fails, mount point is still in use (that
view all matches for this distribution
view release on metacpan or search on metacpan
resources/containers/docker/docker_inspect.json view on Meta::CPAN
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 128,
"Error": "failed to create endpoint jolly_jepsen on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use",
"StartedAt": "0001-01-01T00:00:00Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:e8ebb222f50c4b278c216a1e033b8098b9f2ec005bfe8542fcc041fda6e7d6cf",
"ResolvConfPath": "",
resources/containers/docker/docker_inspect.json view on Meta::CPAN
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 0,
"ExitCode": 128,
"Error": "failed to create endpoint loving_noyce on network bridge: Error starting userland proxy: listen tcp 0.0.0.0:80: listen: address already in use",
"StartedAt": "0001-01-01T00:00:00Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:e8ebb222f50c4b278c216a1e033b8098b9f2ec005bfe8542fcc041fda6e7d6cf",
"ResolvConfPath": "",
view all matches for this distribution
view release on metacpan or search on metacpan
contrib/SynView/cgi-lib/DAS/GUS/Segment/Feature.pm view on Meta::CPAN
my $self = shift;
my ($recurse,$parent) = @_;
my ($start,$stop) = ($self->start,$self->stop);
# the defined() tests prevent uninitialized variable warnings,
# when dealing with clone objects whose endpoints may be undefined
($start,$stop) = ($stop,$start)
if defined($start) && defined($stop) && $start > $stop;
my $strand = ('-','.','+')[$self->strand+1];
my $ref = $self->refseq;
view all matches for this distribution
view release on metacpan or search on metacpan
my ($gobj, $gd, $left, $right, $top, $bottom, $gdta_x_axis) = @_;
my $clr = $gobj->set_clr(0xaa, 0xaa, 0xaa);
my $x = 10;
while ( $x < $#{ $data[1] }-10 ) {
# compute line endpoints from a datapoint
my @lhs = $gobj->val_to_pixel($x+1, $data[1][$x]);
# to a predicted endpoint, based on the moving average
my @rhs = $gobj->val_to_pixel($x+11, $data[1][$x] + 10*($mv_avg[$x] - $mv_avg[$x-1]));
print "adding line from data point (@lhs) to value predicted by mv_avg (@rhs)\n";
$gd->line(@lhs,@rhs,$clr);
view all matches for this distribution
view release on metacpan or search on metacpan
Graph/axestype.pm view on Meta::CPAN
return $self;
}
# CONTRIB Scott Prahl
#
# Calculate best endpoints and number of intervals for an axis and
# returns ($nice_min, $nice_max, $n), where $n is the number of
# intervals and
#
# $nice_min <= $min < $max <= $nice_max
#
Graph/axestype.pm view on Meta::CPAN
return ($best_min, $best_max, $best_num)
}
# CONTRIB Ben Tilly
#
# Calculate best endpoints and number of intervals for a pair of axes
# where it is trying to line up the scale of the two intervals. It
# returns ($nice_min_1, $nice_max_1, $nice_min_2, $nice_max_2, $n),
# where $n is the number of intervals and
#
# $nice_min_1 <= $min_1 < $max_1 <= $nice_max_1
view all matches for this distribution
view release on metacpan or search on metacpan
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
* R direction of search; 0 - search the '+' strand only;
* 1 - search the '-' strand only; 2 - search both strands and
* report the best match. (R=2)
* D adjusts the range of diagonals in building the exons.
* H adjusts the re-linking weight factor
* A specifies the output format: exon endpoints only (A=0),
* alignment text (A=1), alignment in lav format (A=2) or both
* exon endpoints and alignment text (A=3, A=4). For A=3, positions
* in sequence 1 are given in the original sequence, and for A=4 in
* its reverse complement. A=5 prints the exon and CDS coordinates
* (the latter, if known) in the `exon file' format required by PipMaker.
* N if !=0, highly accurate exon detection is expected, for highly
* accurate sequence data.
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
1 - search the '-' strand only; 2 - search both strands and \n\
report the best match. (R=2)\n\
D - bound for the range of diagonals within consecutive msps in an\n\
exon. (D=10)\n\
H - weight factor for MSP scores in relinking. (H=500)\n\
A - output format: exon endpoints only (A=0), alignment text (A=1),\n\
alignment in lav (block) format (A=2), or both exon endpoints\n\
and alignment text (A=3, A=4). If complement match, A=0,1,2,3\n\
give direct positions in the long sequence and complement \n\
positions in the short sequence. A=4 gives direct positions in \n\
the first sequence, regardless of the relative lengths.\n\
A=5 prints the exon and CDS coordinates (the latter, if known)\n\
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
rf1 = seq_revcomp_inplace(rf1);
revseq1 = SEQ_CHARS(rf1);
if (rs.ali_flag==5) {
if (rs.CDS_to>len1)
fatal("Command line CDS endpoint exceeds sequence length.");
cds_gene = extract_tok(h1);
if (cds_gene==NULL) { /* no FastaA header */
cds_from = rs.CDS_from; cds_to = rs.CDS_to;
} else {
line = strstr(h1, "CDS=");
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
} else {
cds_from = cds_to = 0;
}
}
if (cds_to>len1)
fatal("CDS endpoints exceed sequence length.");
}
}
if (rs.poly_flag && file_type==EST_GEN) {
get_polyAT(seq1,len1,&pT,&pA,BOTH_AT);
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
cds_range(line+4, &cds_from, &cds_to);
} else {
cds_from = cds_to = 0;
}
}
if (cds_to>len2) fatal("CDS endpoints exceed sequence length.");
}
if (rs.poly_flag && file_type==GEN_EST) {
get_polyAT(seq2, len2, &pT, &pA, BOTH_AT);
}
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
if (get_strargval('S', &(args->S))) {
cds_range(args->S, &(args->CDS_from), &(args->CDS_to));
if ((args->CDS_from<=0) || (args->CDS_to<=0) ||
(args->CDS_from>args->CDS_to))
fatal("Illegal endpoints for the CDS region.");
} else
args->S = NULL;
if (args->S && (args->ali_flag!=5))
fatal ("A=5 must accompany CDS specification.");
return;
}
/* extract the CDS endpoints from the command line specification <n1>..<n2> */
static void cds_range(char *line, int *from, int *to)
{
char *s = line;
if (line == NULL) fatal ("NULL CDS specification.");
GH/Sim4/sim4.2002-03-03/sim4.init.c view on Meta::CPAN
if (*s && !isspace((int)(*s)))
fatal ("Garbage at the end of the CDS numerical specification.");
/* now extract the CDS elements */
if (sscanf(line, "%d..%d", from, to)!=2)
fatal ("Error when reading the CDS endpoints.");
return;
}
static void add_offset_exons(Exon *exons, int offset)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Google/Ads/AdWords/AuthTokenHandler.pm view on Meta::CPAN
use Class::Std::Fast;
# Class methods from Google::Ads::Common::AuthTokenHandler
sub prepare_request {
my ($self, $endpoint, $http_headers, $envelope) = @_;
my $version = $self->get_api_client()->get_version();
if ($version gt Google::Ads::AdWords::Constants::LAST_SUPPORTED_CLIENT_LOGIN_VERSION) {
my $message = "ClientLogin is not supported in " . $version .
lib/Google/Ads/AdWords/AuthTokenHandler.pm view on Meta::CPAN
my $header = "<authToken xmlns=\"$xmlns\">" . $self->__get_auth_token() .
"</authToken>";
$envelope =~ s/(<RequestHeader [^>]+>)/$1${header}/;
return HTTP::Request->new('POST', $endpoint, $http_headers, $envelope);
}
sub _service {
return "adwords";
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Game/WordBrain/WordList.pm view on Meta::CPAN
endpiece
endplate
endplates
endplay
endpleasure
endpoint
endpoints
endrin
endrins
endrudge
endrumpf
ends
view all matches for this distribution
view release on metacpan or search on metacpan
nsis/ipc_run/Run.txt view on Meta::CPAN
that both stdout and stderr write to the created pipe.
=item Redirection Filters
Both input redirections and output redirections that use scalars or
subs as endpoints may have an arbitrary number of filter subs placed
between them and the child process. This is useful if you want to
receive output in chunks, or if you want to massage each chunk of
data sent to the child. To use this feature, you must use operator
syntax:
nsis/ipc_run/Run.txt view on Meta::CPAN
=back
=head1 FILTERS
These filters are used to modify input our output between a child
process and a scalar or subroutine endpoint.
=over
=item binary
nsis/ipc_run/Run.txt view on Meta::CPAN
in to one 'meta-harness'.
Allow a harness to be passed in place of an \@cmd. This would allow
multiple harnesses to be aggregated.
Ability to add external file descriptors w/ filter chains and endpoints.
Ability to add timeouts and timing generators (i.e. repeating timeouts).
High resolution timeouts.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Test/Games/BonDigi.pm view on Meta::CPAN
push @seq, $word;
}
alarm 0;
};
unlike($@, qr/Endless loop/, 'iterator correctly stops at given endpoint');
# Test iterator fixed part
is($seq[0], 'x', 'first word is "x"');
is($seq[1], 'y', 'then "y"');
is($seq[2], 'x', 'then "x" again');
view all matches for this distribution
view release on metacpan or search on metacpan
t/patterns.txt view on Meta::CPAN
1|2|3|4|5|6|2|6|9|10|5:lamentation|
1|2|3|4|5|6|2|6|9|10|5|12:lamentations|
1|2|3|4|5|6|2|6|9|2:permanence|
1|2|3|4|5|6|2|6|9|3|11:malignantly|
1|2|3|4|5|6|2|6|9|7:unlikeness|
1|2|3|4|5|6|2|8:Acapulco|Angelina|Antigone|Aurelius|Bayesian|Bergsten|Boylston|Bradbury|Cambrian|Carlsbad|Cranford|Crawford|Earthman|Faustian|Haberman|Halstead|Hebrides|Hercules|Herschel|Hibernia|Hispanic|Houghton|Jacobean|Jacobian|Mackinaw|Michelin|...
1|2|3|4|5|6|2|8|1:dashboard|endurance|microfilm|saucepans|seconders|solutions|strengths|subgroups|
1|2|3|4|5|6|2|8|1|10:apocryphal|luminously|microfilms|northbound|
1|2|3|4|5|6|2|8|1|10|11|2|3|1|15|4|17|3:antifundamentalist|
1|2|3|4|5|6|2|8|1|10|4:influential|
1|2|3|4|5|6|2|8|1|10|4|4|13:influentially|
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Games/EveOnline/EveCentral/Request/EVEMon.pm view on Meta::CPAN
{
$Games::EveOnline::EveCentral::Request::EVEMon::VERSION = '0.001';
}
# ABSTRACT: Create a request for the evemon endpoint.
use Moo 1.003001;
use MooX::Types::MooseLike 0.25;
use MooX::StrictConstructor 0.006;
lib/Games/EveOnline/EveCentral/Request/EVEMon.pm view on Meta::CPAN
=pod
=head1 NAME
Games::EveOnline::EveCentral::Request::EVEMon - Create a request for the evemon endpoint.
=head1 VERSION
version 0.001
lib/Games/EveOnline/EveCentral/Request/EVEMon.pm view on Meta::CPAN
=head1 METHODS
=head2 request
Returns an HTTP::Request object which can be used to call the 'evemon'
endpoint.
=begin private =end private
=head1 AUTHOR
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Games/LMSolve/Plank/Base.pm view on Meta::CPAN
my ( $start_x, $start_y ) =
( $p->{'start'}->{'x'}, $p->{'start'}->{'y'} );
my ( $end_x, $end_y ) = ( $p->{'end'}->{'x'}, $p->{'end'}->{'y'} );
my $check_endpoints = sub {
if ( !$board[$start_y]->[$start_x] )
{
die "Plank cannot be placed at point ($start_x,$start_y)!";
}
if ( !$board[$end_y]->[$end_x] )
lib/Games/LMSolve/Plank/Base.pm view on Meta::CPAN
{
if ( $start_y == $end_y )
{
die "$plank_str has zero length!";
}
$check_endpoints->();
if ( $start_y > $end_y )
{
( $start_y, $end_y ) = ( $end_y, $start_y );
}
foreach my $y ( ( $start_y + 1 ) .. ( $end_y - 1 ) )
lib/Games/LMSolve/Plank/Base.pm view on Meta::CPAN
'dir' => "S"
};
}
elsif ( $start_y == $end_y )
{
$check_endpoints->();
if ( $start_x > $end_x )
{
( $start_x, $end_x ) = ( $end_x, $start_x );
}
foreach my $x ( ( $start_x + 1 ) .. ( $end_x - 1 ) )
lib/Games/LMSolve/Plank/Base.pm view on Meta::CPAN
'dir' => "E"
};
}
elsif ( ( $end_x - $start_x ) == ( $end_y - $start_y ) )
{
$check_endpoints->();
if ( $start_x > $end_x )
{
( $start_x, $end_x ) = ( $end_x, $start_x );
( $start_y, $end_y ) = ( $end_y, $start_y );
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/92_paths.t view on Meta::CPAN
my @rhs1 = @{$pair->[1]};
my @lhs2 = @{$path[0]};
my @rhs2 = @{$path[$#path]};
ENDPOINTS: if( "@lhs1" ne "@lhs2" or "@rhs1" ne "@rhs2" ) {
warn " pair (@lhs1)->(@rhs1) != path endpoints (@lhs2)->(@rhs2)\n";
ok( 0 );
our $fail ++;
die "that's too many failures to bother continuing" if $fail > 15;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Games/Word/Wordlist/Enable.pm view on Meta::CPAN
endostyle endostyles endosulfan endosulfans endosymbiont endosymbionts
endosymbioses endosymbiosis endosymbiotic endothecia endothecium endothelia
endothelial endothelioma endotheliomas endotheliomata endothelium endotherm
endothermic endothermies endotherms endothermy endotoxic endotoxin endotoxins
endotracheal endotrophic endow endowed endower endowers endowing endowment
endowments endows endozoic endpaper endpapers endplate endplates endpoint
endpoints endrin endrins ends endue endued endues enduing endurable endurably
endurance endurances endure endured endures enduring enduringly enduringness
enduringnesses enduro enduros endways endwise enema enemas enemata enemies
enemy energetic energetically energetics energid energids energies energise
energised energises energising energization energizations energize energized
energizer energizers energizes energizing energy enervate enervated enervates
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/Coder/GeoApify.pm view on Meta::CPAN
If not provided,
an in-memory cache is created with a default expiration of one hour.
=item * C<host>
The API host endpoint.
Defaults to L<https://api.geoapify.com/v1/geocode>.
=item * C<min_interval>
Minimum number of seconds to wait between API requests.
view all matches for this distribution
view release on metacpan or search on metacpan
gentest/gentest_ellipsoid.pl view on Meta::CPAN
my( $r1,$r2,$r3,$r4,$r5);
EOS
$tests{range}{code} = [ $code ];
${$tests{range}}{count} = 0;
# test endpoints: poles and equator
for( my $lat1 = $lat0; $lat1 <= 90; $lat1 += $latinc ) {
for( my $lon1 = $lon0; $lon1 <= 270; $lon1 += $loninc ) {
next if abs($lat1) == 90 and $lon1 > 0;
print " loc1 = ($lat1,$lon1)\n" if $debug;
for( my $lat2 = $lat0; $lat2 <= 90; $lat2 += $latinc ) {
view all matches for this distribution
view release on metacpan or search on metacpan
src/mapbox/earcut.hpp view on Meta::CPAN
double hy = hole->y;
double qx = -std::numeric_limits<double>::infinity();
Node* m = nullptr;
// find a segment intersected by a ray from the hole's leftmost Vertex to the left;
// segment's endpoint with lesser x will be potential connection Vertex
do {
if (hy <= p->y && hy >= p->next->y && p->next->y != p->y) {
double x = p->x + (hy - p->y) * (p->next->x - p->x) / (p->next->y - p->y);
if (x <= hx && x > qx) {
qx = x;
src/mapbox/earcut.hpp view on Meta::CPAN
if (!m) return 0;
if (hx == qx) return m->prev;
// look for points inside the triangle of hole Vertex, segment intersection and endpoint;
// if there are no points found, we have a valid connection;
// otherwise choose the Vertex of the minimum angle with the ray as connection Vertex
const Node* stop = m;
double tanMin = std::numeric_limits<double>::infinity();
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/Google/PolylineEncoder.pm view on Meta::CPAN
package Geo::Google::PolylineEncoder;
use strict;
use warnings;
use accessors qw(num_levels zoom_factor visible_threshold force_endpoints
zoom_level_breaks escape_encoded_points lons_first
points dists max_dist encoded_points encoded_levels );
use constant defaults => {
num_levels => 18,
zoom_factor => 2,
force_endpoints => 1,
escape_encoded_points => 0,
visible_threshold => 0.00001,
lons_first => 0,
};
our $VERSION = 0.06;
lib/Geo/Google/PolylineEncoder.pm view on Meta::CPAN
my $visible_threshold = $self->visible_threshold;
my $zoom_level_breaks = $self->zoom_level_breaks;
my $encoded_levels = "";
if ($self->force_endpoints) {
$encoded_levels .= $self->encode_number($num_levels_minus_1);
} else {
$encoded_levels .= $self->encode_number($num_levels_minus_1 - $self->compute_level($max_dist));
}
lib/Geo/Google/PolylineEncoder.pm view on Meta::CPAN
$encoded_levels .= $self->encode_number($num_levels_minus_1 - $level);
}
}
if ($self->force_endpoints) {
$encoded_levels .= $self->encode_number($num_levels_minus_1);
} else {
$encoded_levels .= $self->encode_number($num_levels_minus_1 - $self->compute_level($max_dist));
}
lib/Geo/Google/PolylineEncoder.pm view on Meta::CPAN
=item new( [%args] )
Create a new encoder. Arguments are optional and correspond to the accessor
with the same name: L</num_levels>, L</zoom_factor>, L</visible_threshold>,
L</force_endpoints>, etc...
Note: there's nothing stopping you from setting these properties each time you
L</encode> a polyline.
=item num_levels
lib/Geo/Google/PolylineEncoder.pm view on Meta::CPAN
=item visible_threshold
Indicates the length of a barely visible object at the highest zoom level.
Default: 0.00001. err.. units.
=item force_endpoints
Indicates whether or not the endpoints should be visible at all zoom levels.
force_endpoints is. Probably should stay true regardless.
Default: 1=true.
=item escape_encoded_points
Indicates whether or not the encoded points should have escape characters
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/TCX.pm view on Meta::CPAN
if ( $o->{tag_course} ) {
# in Courses, data is structured as <Lap>...</Lap><Lap>...</Lap><Track>...</Track><Track>...</Track>
# actually, not sure just seem like it's one long ... track, not multiple ones, which complicates things
my $xml_str = $o->{tag_course};
my (@lap_tags, @lap_endpoints, @track_tags);
if ( $xml_str =~ m,(<Lap>.*</Lap>),s ) {
my $str = $1;
@lap_tags = split(/(?s)<\/Lap>\s*<Lap>/, $str );
if (@lap_tags == 0) { push @lap_tags, $str }
lib/Geo/TCX.pm view on Meta::CPAN
for my $i (0 .. $#lap_tags) {
my ($end_pos, $end_pt);
if ( $lap_tags[$i] =~ m,<EndPosition>(.*)</EndPosition>,s ) {
$end_pt = Geo::TCX::Trackpoint->new( $1 );
push @lap_endpoints, $end_pt
}
# since split removed tags sometimes at ^ of string for other at $
# let's remove them all and add back
$lap_tags[$i] =~ s,</?Lap>,,g;
$lap_tags[$i] =~ s,^,<Lap>,g;
lib/Geo/TCX.pm view on Meta::CPAN
if (@lap_tags ==1) { $track_tags[0] = $track_str }
else {
my ($t1, $t2);
for my $i (0 .. $#lap_tags ) {
if ($i < $#lap_tags) {
($t1, $t2) = $t->split_at_point_closest_to( $lap_endpoints[$i] );
push @track_tags, $t1->xml_string;
$t = $t2
} else { push @track_tags, $t->xml_string } # ie don't split the last track portion
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Geo/What3Words.pm view on Meta::CPAN
sub new {
my ($class, %params) = @_;
my $self = {};
$self->{api_endpoint} = $params{api_endpoint} || 'https://api.what3words.com/v3/';
$self->{key} = $params{key} || die "API key not set";
$self->{language} = $params{language};
$self->{logging} = $params{logging};
## _ua is used for testing. But could also be used to
lib/Geo/What3Words.pm view on Meta::CPAN
sub ping {
my $self = shift;
## http://example.com/some/path => example.com
## also works with IP addresses
my $host = URI->new($self->{api_endpoint})->host;
$self->_log("pinging $host...");
my $netping = Net::Ping->new('external');
my $res = $netping->ping($host);
lib/Geo/What3Words.pm view on Meta::CPAN
foreach my $key (keys %$rh_fields) {
delete $rh_fields->{$key} if (!defined($rh_fields->{$key}));
}
my $uri = URI->new($self->{api_endpoint} . $method_name);
$uri->query_form($rh_fields);
my $url = $uri->as_string;
$self->_log("GET $url");
my $response = $self->{ua}->get($url);
view all matches for this distribution