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

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