annotate lib/Constants.pm @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1 package Constants;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
3 # $RCSfile: Constants.pm,v $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
4 # $Date: 2015/02/28 20:47:02 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
5 # $Revision: 1.21 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
6 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
7 # Author: Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
8 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
9 # Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
10 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
11 # This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
12 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
13 # MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
14 # the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
15 # Software Foundation; either version 3 of the License, or (at your option) any
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
16 # later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
17 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
18 # MayaChemTools is distributed in the hope that it will be useful, but without
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
19 # any warranty; without even the implied warranty of merchantability of fitness
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
20 # for a particular purpose. See the GNU Lesser General Public License for more
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
21 # details.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
22 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
23 # You should have received a copy of the GNU Lesser General Public License
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
24 # along with MayaChemTools; if not, see <http://www.gnu.org/licenses/> or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
25 # write to the Free Software Foundation Inc., 59 Temple Place, Suite 330,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
26 # Boston, MA, 02111-1307, USA.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
27 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
28
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
29 use strict;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
30 use Exporter;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
31
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
32 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
33
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
34 @ISA = qw(Exporter);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
35
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
36 # Groups of constants...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
37 my(@MathConstants) = qw(Pi TwoPi PiByTwo PiByFour InversePi OneByPi SqrtTwoPi OneBySqrtTwoPi InverseSqrtTwoPi Phi E BigNumber);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
38
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
39 # Export all constants...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
40 @EXPORT = (@MathConstants);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
41 @EXPORT_OK = qw();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
42
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
43 # Tags to export individual groups of constants...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
44 %EXPORT_TAGS = (
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
45 math => [@MathConstants],
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
46 all => [@EXPORT, @EXPORT_OK]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
47 );
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
48
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
49 # Math constants..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
50 use constant {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
51 Pi => CORE::atan2(0, -1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
52 TwoPi => 2 * CORE::atan2(0, -1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
53 PiByTwo => CORE::atan2(1, 0),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
54 PiByFour => CORE::atan2(1, 1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
55 OneByPi => 1.0 / CORE::atan2(0, -1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
56 InversePi => 1.0 / CORE::atan2(0, -1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
57 SqrtTwoPi => CORE::sqrt(2 * CORE::atan2(0, -1)),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
58 OneBySqrtTwoPi => 1 / CORE::sqrt(2 * CORE::atan2(0, -1)),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
59 InverseSqrtTwoPi => 1 / CORE::sqrt(2 * CORE::atan2(0, -1)),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
60
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
61 Phi => (1 + CORE::sqrt(5))/2, # Golden ratio...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
62
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
63 E => CORE::exp(1),
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
64
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
65 BigNumber => 2**31 - 1, # Unsigned 31 bit number
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
66
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
67 };
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
68
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
69 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
70
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
71 __END__
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
72
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
73 =head1 NAME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
74
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
75 Constants
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
76
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
77 =head1 SYNOPSIS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
78
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
79 use Constants;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
80
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
81 use Constants qw(:all);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
82
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
83 use Constants qw(:math);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
84
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
85 =head1 DESCRIPTION
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
86
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
87 B<Constants> module provided the following constants:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
88
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
89 Pi, TwoPi, PiByTwo, PiByFour, InversePi, OneByPi, SqrtTwoPi, OneBySqrtTwoPi, InverseSqrtTwoPi,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
90 Phi, E
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
91
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
92 =head1 AUTHOR
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
93
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
94 Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
95
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
96 =head1 SEE ALSO
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
97
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
98 MathUtil.pm
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
99
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
100 =head1 COPYRIGHT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
101
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
102 Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
103
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
104 This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
105
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
106 MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
107 the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
108 Software Foundation; either version 3 of the License, or (at your option)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
109 any later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
110
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
111 =cut