File: inner_angle.t

package info (click to toggle)
libmath-vec-perl 1.01-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 108 kB
  • sloc: perl: 324; makefile: 2
file content (30 lines) | stat: -rwxr-xr-x 661 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl

# http://rt.cpan.org/Public/Bug/Display.html?id=25373

use strict;
use warnings;

use Test::More qw(no_plan);

use Math::Vec qw();

my $pi = 4*atan2(1,1);

is(Math::Vec::Support::acos(1.00000000000001), 0,    'acos(1)');
is(Math::Vec::Support::acos(-1.00000000000001), $pi, 'acos(-1)');

my ($x1, $y1, $x2, $y2, $x3, $y3) = (
  184.818732905007, 1.88127517013888,
  183.75578943, 1.9146946049724,
  182.742125596, 1.94656466818785,
);
 
my $v1 = Math::Vec->new($x2-$x1, $y2-$y1);
my $v2 = Math::Vec->new($x2-$x3, $y2-$y3);

my $angle = $v1->InnerAngle($v2);
ok(abs($angle - $pi) < 0.1, 'roughly pi');
ok(! ref($angle));

# vim:ts=2:sw=2:et:sta