annotate mayachemtool/mayachemtools/lib/Constants.pm @ 0:a4a2ad5a214e draft default tip

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