Coverage for pygeodesy/auxilats/_CX_4.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-04-09 11:05 -0400

1 

2# -*- coding: utf-8 -*- 

3 

4u'''Coefficients for C{_AUXLATITUDE_ORDER} 4 from I{Karney}'s C++ class U{AuxLatitude 

5<https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AuxLatitude.html>} 

6transcoded to a Python C{_Rdict[auxout][auxin]} of C{_Rtuple}s. 

7 

8Copyright (C) Charles Karney (2022-2024) Karney@Alum.MIT.edu> and licensed under the 

9MIT/X11 License. For more information, see <https:#GeographicLib.SourceForge.io>. 

10''' 

11from pygeodesy.auxilats.auxily import Aux 

12from pygeodesy.auxilats._CX_Rs import _Rcoeffs, _Rdict, _Rtuple 

13 

14__all__ = () 

15__version__ = '24.09.03' 

16 

17_coeffs_4 = _Rcoeffs(4, { # GEOGRAPHICLIB_AUXLATITUDE_ORDER == 4 

18 Aux.PHI: _Rdict(38, 

19 # C[phi,phi] skipped 

20 _Rtuple(Aux.BETA, 6, # C[phi,beta]; even coeffs only 

21 '0, 1, 0, 1/2, 1/3, 1/4'), 

22 _Rtuple(Aux.THETA, 6, # C[phi,theta]; even coeffs only 

23 '-2, 2, -4, 2, 8/3, 4'), 

24 _Rtuple(Aux.MU, 6, # C[phi,mu]; even coeffs only 

25 '-27/32, 3/2, -55/32, 21/16, 151/96, 1097/512'), 

26 _Rtuple(Aux.CHI, 10, # C[phi,chi] 

27 '116/45, -2, -2/3, 2, -227/45, -8/5', 

28 '7/3, -136/35, 56/15, 4279/630'), 

29 _Rtuple(Aux.XI, 10, # C[phi,xi] 

30 '-2582/14175, -16/35, 4/45, 4/3, -11966/14175', 

31 '152/945, 46/45, 3802/14175, 3044/2835, 6059/4725') 

32 ), 

33 Aux.BETA: _Rdict(38, 

34 _Rtuple(Aux.PHI, 6, # C[beta,phi]; even coeffs only 

35 '0, -1, 0, 1/2, -1/3, 1/4'), 

36 # C[beta,beta] skipped 

37 _Rtuple(Aux.THETA, 6, # C[beta,theta]; even coeffs only 

38 '0, 1, 0, 1/2, 1/3, 1/4'), 

39 _Rtuple(Aux.MU, 6, # C[beta,mu]; even coeffs only 

40 '-9/32, 1/2, -37/96, 5/16, 29/96, 539/1536'), 

41 _Rtuple(Aux.CHI, 10, # C[beta,chi] 

42 '38/45, -1/3, -2/3, 1, -7/9, -14/15', 

43 '5/6, -34/21, 16/15, 2069/1260'), 

44 _Rtuple(Aux.XI, 10, # C[beta,xi] 

45 '-1082/14175, -46/315, 4/45, 1/3, -338/2025', 

46 '68/945, 17/90, 1102/14175, 461/2835, 3161/18900') 

47 ), 

48 Aux.THETA: _Rdict(38, 

49 _Rtuple(Aux.PHI, 6, # C[theta,phi]; even coeffs only 

50 '2, -2, -4, 2, -8/3, 4'), 

51 _Rtuple(Aux.BETA, 6, # C[theta,beta]; even coeffs only 

52 '0, -1, 0, 1/2, -1/3, 1/4'), 

53 # C[theta,theta] skipped 

54 _Rtuple(Aux.MU, 6, # C[theta,mu]; even coeffs only 

55 '-23/32, -1/2, -5/96, 5/16, 1/32, 283/1536'), 

56 _Rtuple(Aux.CHI, 10, # C[theta,chi] 

57 '4/9, -2/3, -2/3, 0, -23/45', 

58 '-4/15, 1/3, -24/35, 2/5, 83/126'), 

59 _Rtuple(Aux.XI, 10, # C[thet',a,xi] 

60 '-2102/14175, -158/315, 4/45, -2/3, 934/14175', 

61 '-16/945, 16/45, 922/14175, -232/2835, 719/4725') 

62 ), 

63 Aux.MU: _Rdict(38, 

64 _Rtuple(Aux.PHI, 6, # C[mu,phi]; even coeffs only 

65 '9/16, -3/2, -15/32, 15/16, -35/48, 315/512'), 

66 _Rtuple(Aux.BETA, 6, # C[mu,beta]; even coeffs only 

67 '3/16, -1/2, 1/32, -1/16, -1/48, -5/512'), 

68 _Rtuple(Aux.THETA, 6, # C[mu,theta]; even coeffs only 

69 '13/16, 1/2, 33/32, -1/16, -5/16, -261/512'), 

70 # C[mu,mu] skipped 

71 _Rtuple(Aux.CHI, 10, # C[mu,chi] 

72 '41/180, 5/16, -2/3, 1/2, 557/1440', 

73 '-3/5, 13/48, -103/140, 61/240, 49561/161280'), 

74 _Rtuple(Aux.XI, 10, # C[mu,xi] 

75 '-1609/28350, 121/1680, 4/45, -1/6, 16463/453600', 

76 '26/945, -29/720, 449/28350, -1003/45360, -40457/2419200') 

77 ), 

78 Aux.CHI: _Rdict(50, 

79 _Rtuple(Aux.PHI, 10, # C[chi,phi] 

80 '-82/45, 4/3, 2/3, -2, -13/9', 

81 '-16/15, 5/3, 34/21, -26/15, 1237/630'), 

82 _Rtuple(Aux.BETA, 10, # C[chi,beta] 

83 '-16/45, 0, 2/3, -1, 19/45', 

84 '-2/5, 1/6, 16/105, -1/15, 17/1260'), 

85 _Rtuple(Aux.THETA, 10, # C[chi,theta] 

86 '-2/9, 2/3, 2/3, 0, 43/45', 

87 '4/15, -1/3, 2/105, -2/5, -55/126'), 

88 _Rtuple(Aux.MU, 10, # C[chi,mu] 

89 '1/360, -37/96, 2/3, -1/2, 437/1440', 

90 '-1/15, -1/48, 37/840, -17/480, -4397/161280'), 

91 # C[chi,chi] skipped 

92 _Rtuple(Aux.XI, 10, # C[chi,xi] 

93 '-2312/14175, -88/315, 34/45, -2/3, 6079/14175', 

94 '-184/945, 1/45, 772/14175, -106/2835, -167/9450') 

95 ), 

96 Aux.XI: _Rdict(50, 

97 _Rtuple(Aux.PHI, 10, # C[xi,phi] 

98 '538/4725, 88/315, -4/45, -4/3, -2482/14175', 

99 '8/105, 34/45, -898/14175, -1532/2835, 6007/14175'), 

100 _Rtuple(Aux.BETA, 10, # C[xi,beta] 

101 '34/675, 32/315, -4/45, -1/3, 74/2025', 

102 '-4/315, -7/90, 2/14175, -83/2835, -797/56700'), 

103 _Rtuple(Aux.THETA, 10, # C[xi,theta] 

104 '778/4725, 62/105, -4/45, 2/3, 12338/14175', 

105 '-32/315, 4/45, -1618/14175, -524/2835, -5933/14175'), 

106 _Rtuple(Aux.MU, 10, # C[xi,mu] 

107 '1297/18900, -817/10080, -4/45, 1/6, -29609/453600', 

108 '-2/35, 49/720, -2917/56700, 4463/90720, 331799/7257600'), 

109 _Rtuple(Aux.CHI, 10, # C[xi,chi] 

110 '2458/4725, 46/315, -34/45, 2/3, 3413/14175', 

111 '-256/315, 19/45, -15958/14175, 248/567, 16049/28350') # PYCHOK exported 

112 # C[xi,xi] skipped 

113 ) 

114}) 

115# _ptrs_4 = (0, 0, 6, 12, 18, 28, 38, 44, 44, 50, 56, 66, 

116# 76, 82, 88, 88, 94, 104, 114, 120, 126, 132, 132, 142, 

117# 152, 162, 172, 182, 192, 192, 202, 212, 222, 232, 242, 252, 

118# 252) # PYCHOK exported 

119del _Rcoeffs, _Rdict, _Rtuple 

120 

121# **) MIT License 

122# 

123# Copyright (C) 2023-2025 -- mrJean1 at Gmail -- All Rights Reserved. 

124# 

125# Permission is hereby granted, free of charge, to any person obtaining a 

126# copy of this software and associated documentation files (the "Software"), 

127# to deal in the Software without restriction, including without limitation 

128# the rights to use, copy, modify, merge, publish, distribute, sublicense, 

129# and/or sell copies of the Software, and to permit persons to whom the 

130# Software is furnished to do so, subject to the following conditions: 

131# 

132# The above copyright notice and this permission notice shall be included 

133# in all copies or substantial portions of the Software. 

134# 

135# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 

136# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 

137# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 

138# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 

139# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 

140# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 

141# OTHER DEALINGS IN THE SOFTWARE.