celes 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +32 -0
  4. data/README.md +179 -0
  5. data/Rakefile +1 -0
  6. data/celes.gemspec +22 -0
  7. data/ext/celes/a2af.c +120 -0
  8. data/ext/celes/a2tf.c +116 -0
  9. data/ext/celes/af2a.c +107 -0
  10. data/ext/celes/anp.c +82 -0
  11. data/ext/celes/anpm.c +82 -0
  12. data/ext/celes/bi00.c +116 -0
  13. data/ext/celes/bp00.c +173 -0
  14. data/ext/celes/bp06.c +136 -0
  15. data/ext/celes/bpn2xy.c +100 -0
  16. data/ext/celes/c2i00a.c +139 -0
  17. data/ext/celes/c2i00b.c +139 -0
  18. data/ext/celes/c2i06a.c +136 -0
  19. data/ext/celes/c2ibpn.c +142 -0
  20. data/ext/celes/c2ixy.c +131 -0
  21. data/ext/celes/c2ixys.c +123 -0
  22. data/ext/celes/c2s.c +96 -0
  23. data/ext/celes/c2t00a.c +154 -0
  24. data/ext/celes/c2t00b.c +150 -0
  25. data/ext/celes/c2t06a.c +152 -0
  26. data/ext/celes/c2tcio.c +122 -0
  27. data/ext/celes/c2teqx.c +122 -0
  28. data/ext/celes/c2tpe.c +167 -0
  29. data/ext/celes/c2txy.c +159 -0
  30. data/ext/celes/cal2jd.c +139 -0
  31. data/ext/celes/celes_core.c +2522 -0
  32. data/ext/celes/cp.c +80 -0
  33. data/ext/celes/cpv.c +82 -0
  34. data/ext/celes/cr.c +83 -0
  35. data/ext/celes/d2dtf.c +206 -0
  36. data/ext/celes/d2tf.c +160 -0
  37. data/ext/celes/dat.c +289 -0
  38. data/ext/celes/depend +25 -0
  39. data/ext/celes/dtdb.c +1213 -0
  40. data/ext/celes/dtf2d.c +196 -0
  41. data/ext/celes/ee00.c +128 -0
  42. data/ext/celes/ee00a.c +135 -0
  43. data/ext/celes/ee00b.c +141 -0
  44. data/ext/celes/ee06a.c +122 -0
  45. data/ext/celes/eect00.c +282 -0
  46. data/ext/celes/eform.c +147 -0
  47. data/ext/celes/eo06a.c +131 -0
  48. data/ext/celes/eors.c +108 -0
  49. data/ext/celes/epb.c +96 -0
  50. data/ext/celes/epb2jd.c +91 -0
  51. data/ext/celes/epj.c +93 -0
  52. data/ext/celes/epj2jd.c +91 -0
  53. data/ext/celes/epv00.c +2589 -0
  54. data/ext/celes/eqeq94.c +131 -0
  55. data/ext/celes/era00.c +136 -0
  56. data/ext/celes/extconf.rb +4 -0
  57. data/ext/celes/fad03.c +103 -0
  58. data/ext/celes/fae03.c +102 -0
  59. data/ext/celes/faf03.c +106 -0
  60. data/ext/celes/faju03.c +102 -0
  61. data/ext/celes/fal03.c +103 -0
  62. data/ext/celes/falp03.c +103 -0
  63. data/ext/celes/fama03.c +102 -0
  64. data/ext/celes/fame03.c +102 -0
  65. data/ext/celes/fane03.c +99 -0
  66. data/ext/celes/faom03.c +104 -0
  67. data/ext/celes/fapa03.c +103 -0
  68. data/ext/celes/fasa03.c +102 -0
  69. data/ext/celes/faur03.c +99 -0
  70. data/ext/celes/fave03.c +102 -0
  71. data/ext/celes/fk52h.c +143 -0
  72. data/ext/celes/fk5hip.c +126 -0
  73. data/ext/celes/fk5hz.c +160 -0
  74. data/ext/celes/fw2m.c +134 -0
  75. data/ext/celes/fw2xy.c +120 -0
  76. data/ext/celes/gc2gd.c +134 -0
  77. data/ext/celes/gc2gde.c +200 -0
  78. data/ext/celes/gd2gc.c +134 -0
  79. data/ext/celes/gd2gce.c +138 -0
  80. data/ext/celes/gmst00.c +145 -0
  81. data/ext/celes/gmst06.c +136 -0
  82. data/ext/celes/gmst82.c +151 -0
  83. data/ext/celes/gst00a.c +138 -0
  84. data/ext/celes/gst00b.c +146 -0
  85. data/ext/celes/gst06.c +140 -0
  86. data/ext/celes/gst06a.c +131 -0
  87. data/ext/celes/gst94.c +131 -0
  88. data/ext/celes/h2fk5.c +148 -0
  89. data/ext/celes/hfk5z.c +175 -0
  90. data/ext/celes/ir.c +83 -0
  91. data/ext/celes/jd2cal.c +155 -0
  92. data/ext/celes/jdcalf.c +161 -0
  93. data/ext/celes/num00a.c +121 -0
  94. data/ext/celes/num00b.c +121 -0
  95. data/ext/celes/num06a.c +125 -0
  96. data/ext/celes/numat.c +109 -0
  97. data/ext/celes/nut00a.c +2047 -0
  98. data/ext/celes/nut00b.c +372 -0
  99. data/ext/celes/nut06a.c +153 -0
  100. data/ext/celes/nut80.c +325 -0
  101. data/ext/celes/nutm80.c +117 -0
  102. data/ext/celes/obl06.c +118 -0
  103. data/ext/celes/obl80.c +118 -0
  104. data/ext/celes/p06e.c +321 -0
  105. data/ext/celes/p2pv.c +83 -0
  106. data/ext/celes/p2s.c +91 -0
  107. data/ext/celes/pap.c +139 -0
  108. data/ext/celes/pas.c +96 -0
  109. data/ext/celes/pb06.c +144 -0
  110. data/ext/celes/pdp.c +84 -0
  111. data/ext/celes/pfw06.c +165 -0
  112. data/ext/celes/plan94.c +514 -0
  113. data/ext/celes/pm.c +83 -0
  114. data/ext/celes/pmat00.c +118 -0
  115. data/ext/celes/pmat06.c +122 -0
  116. data/ext/celes/pmat76.c +141 -0
  117. data/ext/celes/pmp.c +85 -0
  118. data/ext/celes/pn.c +109 -0
  119. data/ext/celes/pn00.c +177 -0
  120. data/ext/celes/pn00a.c +162 -0
  121. data/ext/celes/pn00b.c +162 -0
  122. data/ext/celes/pn06.c +187 -0
  123. data/ext/celes/pn06a.c +152 -0
  124. data/ext/celes/pnm00a.c +121 -0
  125. data/ext/celes/pnm00b.c +121 -0
  126. data/ext/celes/pnm06a.c +124 -0
  127. data/ext/celes/pnm80.c +126 -0
  128. data/ext/celes/pom00.c +115 -0
  129. data/ext/celes/ppp.c +85 -0
  130. data/ext/celes/ppsp.c +94 -0
  131. data/ext/celes/pr00.c +142 -0
  132. data/ext/celes/prec76.c +148 -0
  133. data/ext/celes/pv2p.c +81 -0
  134. data/ext/celes/pv2s.c +144 -0
  135. data/ext/celes/pvdpv.c +102 -0
  136. data/ext/celes/pvm.c +86 -0
  137. data/ext/celes/pvmpv.c +87 -0
  138. data/ext/celes/pvppv.c +87 -0
  139. data/ext/celes/pvstar.c +207 -0
  140. data/ext/celes/pvu.c +93 -0
  141. data/ext/celes/pvup.c +88 -0
  142. data/ext/celes/pvxpv.c +107 -0
  143. data/ext/celes/pxp.c +94 -0
  144. data/ext/celes/rm2v.c +111 -0
  145. data/ext/celes/rv2m.c +118 -0
  146. data/ext/celes/rx.c +110 -0
  147. data/ext/celes/rxp.c +99 -0
  148. data/ext/celes/rxpv.c +86 -0
  149. data/ext/celes/rxr.c +99 -0
  150. data/ext/celes/ry.c +110 -0
  151. data/ext/celes/rz.c +110 -0
  152. data/ext/celes/s00.c +371 -0
  153. data/ext/celes/s00a.c +143 -0
  154. data/ext/celes/s00b.c +143 -0
  155. data/ext/celes/s06.c +368 -0
  156. data/ext/celes/s06a.c +145 -0
  157. data/ext/celes/s2c.c +85 -0
  158. data/ext/celes/s2p.c +88 -0
  159. data/ext/celes/s2pv.c +103 -0
  160. data/ext/celes/s2xpv.c +87 -0
  161. data/ext/celes/sepp.c +105 -0
  162. data/ext/celes/seps.c +93 -0
  163. data/ext/celes/sofa.h +379 -0
  164. data/ext/celes/sofam.h +155 -0
  165. data/ext/celes/sp00.c +118 -0
  166. data/ext/celes/starpm.c +205 -0
  167. data/ext/celes/starpv.c +264 -0
  168. data/ext/celes/sxp.c +84 -0
  169. data/ext/celes/sxpv.c +85 -0
  170. data/ext/celes/taitt.c +110 -0
  171. data/ext/celes/taiut1.c +112 -0
  172. data/ext/celes/taiutc.c +182 -0
  173. data/ext/celes/tcbtdb.c +132 -0
  174. data/ext/celes/tcgtt.c +109 -0
  175. data/ext/celes/tdbtcb.c +137 -0
  176. data/ext/celes/tdbtt.c +122 -0
  177. data/ext/celes/tf2a.c +107 -0
  178. data/ext/celes/tf2d.c +107 -0
  179. data/ext/celes/tr.c +93 -0
  180. data/ext/celes/trxp.c +93 -0
  181. data/ext/celes/trxpv.c +93 -0
  182. data/ext/celes/tttai.c +110 -0
  183. data/ext/celes/tttcg.c +112 -0
  184. data/ext/celes/tttdb.c +121 -0
  185. data/ext/celes/ttut1.c +110 -0
  186. data/ext/celes/ut1tai.c +111 -0
  187. data/ext/celes/ut1tt.c +110 -0
  188. data/ext/celes/ut1utc.c +193 -0
  189. data/ext/celes/utctai.c +163 -0
  190. data/ext/celes/utcut1.c +151 -0
  191. data/ext/celes/xy06.c +2758 -0
  192. data/ext/celes/xys00a.c +133 -0
  193. data/ext/celes/xys00b.c +133 -0
  194. data/ext/celes/xys06a.c +133 -0
  195. data/ext/celes/zp.c +77 -0
  196. data/ext/celes/zpv.c +79 -0
  197. data/ext/celes/zr.c +83 -0
  198. data/lib/celes.rb +6 -0
  199. data/lib/celes/version.rb +3 -0
  200. data/sofa_20120301.diff +31384 -0
  201. data/test/t_sofa.rb +8228 -0
  202. metadata +251 -0
@@ -0,0 +1,99 @@
1
+ #include "sofam.h"
2
+
3
+ void iauRxp(double r[3][3], double p[3], double rp[3])
4
+ /*
5
+ ** - - - - - - -
6
+ ** i a u R x p
7
+ ** - - - - - - -
8
+ **
9
+ ** Multiply a p-vector by an r-matrix.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** r double[3][3] r-matrix
15
+ ** p double[3] p-vector
16
+ **
17
+ ** Returned:
18
+ ** rp double[3] r * p
19
+ **
20
+ ** Note:
21
+ ** It is permissible for p and rp to be the same array.
22
+ **
23
+ ** Called:
24
+ ** iauCp copy p-vector
25
+ **
26
+ ** This revision: 2008 October 28
27
+ **
28
+ ** Original version 2012-03-01
29
+ **
30
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
31
+ */
32
+ {
33
+ double w, wrp[3];
34
+ int i, j;
35
+
36
+
37
+ /* Matrix r * vector p. */
38
+ for (j = 0; j < 3; j++) {
39
+ w = 0.0;
40
+ for (i = 0; i < 3; i++) {
41
+ w += r[j][i] * p[i];
42
+ }
43
+ wrp[j] = w;
44
+ }
45
+
46
+ /* Return the result. */
47
+ iauCp(wrp, rp);
48
+
49
+ return;
50
+
51
+ /*----------------------------------------------------------------------
52
+ **
53
+ ** Celes is a wrapper of the SOFA Library for Ruby.
54
+ **
55
+ ** This file is redistributed and relicensed in accordance with
56
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
57
+ **
58
+ ** The original library is available from IAU Standards of
59
+ ** Fundamental Astronomy (http://www.iausofa.org/).
60
+ **
61
+ **
62
+ **
63
+ **
64
+ **
65
+ ** Copyright (C) 2013, Naoki Arita
66
+ ** All rights reserved.
67
+ **
68
+ ** Redistribution and use in source and binary forms, with or without
69
+ ** modification, are permitted provided that the following conditions
70
+ ** are met:
71
+ **
72
+ ** 1 Redistributions of source code must retain the above copyright
73
+ ** notice, this list of conditions and the following disclaimer.
74
+ **
75
+ ** 2 Redistributions in binary form must reproduce the above copyright
76
+ ** notice, this list of conditions and the following disclaimer in
77
+ ** the documentation and/or other materials provided with the
78
+ ** distribution.
79
+ **
80
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
81
+ ** the International Astronomical Union nor the names of its
82
+ ** contributors may be used to endorse or promote products derived
83
+ ** from this software without specific prior written permission.
84
+ **
85
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
86
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
87
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
88
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
89
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
90
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
91
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
92
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
93
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
94
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
95
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
96
+ ** POSSIBILITY OF SUCH DAMAGE.
97
+ **
98
+ **--------------------------------------------------------------------*/
99
+ }
@@ -0,0 +1,86 @@
1
+ #include "sofam.h"
2
+
3
+ void iauRxpv(double r[3][3], double pv[2][3], double rpv[2][3])
4
+ /*
5
+ ** - - - - - - - -
6
+ ** i a u R x p v
7
+ ** - - - - - - - -
8
+ **
9
+ ** Multiply a pv-vector by an r-matrix.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** r double[3][3] r-matrix
15
+ ** pv double[2][3] pv-vector
16
+ **
17
+ ** Returned:
18
+ ** rpv double[2][3] r * pv
19
+ **
20
+ ** Note:
21
+ ** It is permissible for pv and rpv to be the same array.
22
+ **
23
+ ** Called:
24
+ ** iauRxp product of r-matrix and p-vector
25
+ **
26
+ ** This revision: 2008 October 28
27
+ **
28
+ ** Original version 2012-03-01
29
+ **
30
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
31
+ */
32
+ {
33
+ iauRxp(r, pv[0], rpv[0]);
34
+ iauRxp(r, pv[1], rpv[1]);
35
+
36
+ return;
37
+
38
+ /*----------------------------------------------------------------------
39
+ **
40
+ ** Celes is a wrapper of the SOFA Library for Ruby.
41
+ **
42
+ ** This file is redistributed and relicensed in accordance with
43
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
44
+ **
45
+ ** The original library is available from IAU Standards of
46
+ ** Fundamental Astronomy (http://www.iausofa.org/).
47
+ **
48
+ **
49
+ **
50
+ **
51
+ **
52
+ ** Copyright (C) 2013, Naoki Arita
53
+ ** All rights reserved.
54
+ **
55
+ ** Redistribution and use in source and binary forms, with or without
56
+ ** modification, are permitted provided that the following conditions
57
+ ** are met:
58
+ **
59
+ ** 1 Redistributions of source code must retain the above copyright
60
+ ** notice, this list of conditions and the following disclaimer.
61
+ **
62
+ ** 2 Redistributions in binary form must reproduce the above copyright
63
+ ** notice, this list of conditions and the following disclaimer in
64
+ ** the documentation and/or other materials provided with the
65
+ ** distribution.
66
+ **
67
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
68
+ ** the International Astronomical Union nor the names of its
69
+ ** contributors may be used to endorse or promote products derived
70
+ ** from this software without specific prior written permission.
71
+ **
72
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
73
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
74
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
75
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
76
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
77
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
78
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
79
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
80
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
81
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
82
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
83
+ ** POSSIBILITY OF SUCH DAMAGE.
84
+ **
85
+ **--------------------------------------------------------------------*/
86
+ }
@@ -0,0 +1,99 @@
1
+ #include "sofam.h"
2
+
3
+ void iauRxr(double a[3][3], double b[3][3], double atb[3][3])
4
+ /*
5
+ ** - - - - - - -
6
+ ** i a u R x r
7
+ ** - - - - - - -
8
+ **
9
+ ** Multiply two r-matrices.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** a double[3][3] first r-matrix
15
+ ** b double[3][3] second r-matrix
16
+ **
17
+ ** Returned:
18
+ ** atb double[3][3] a * b
19
+ **
20
+ ** Note:
21
+ ** It is permissible to re-use the same array for any of the
22
+ ** arguments.
23
+ **
24
+ ** Called:
25
+ ** iauCr copy r-matrix
26
+ **
27
+ ** This revision: 2008 November 18
28
+ **
29
+ ** Original version 2012-03-01
30
+ **
31
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
32
+ */
33
+ {
34
+ int i, j, k;
35
+ double w, wm[3][3];
36
+
37
+
38
+ for (i = 0; i < 3; i++) {
39
+ for (j = 0; j < 3; j++) {
40
+ w = 0.0;
41
+ for (k = 0; k < 3; k++) {
42
+ w += a[i][k] * b[k][j];
43
+ }
44
+ wm[i][j] = w;
45
+ }
46
+ }
47
+ iauCr(wm, atb);
48
+
49
+ return;
50
+
51
+ /*----------------------------------------------------------------------
52
+ **
53
+ ** Celes is a wrapper of the SOFA Library for Ruby.
54
+ **
55
+ ** This file is redistributed and relicensed in accordance with
56
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
57
+ **
58
+ ** The original library is available from IAU Standards of
59
+ ** Fundamental Astronomy (http://www.iausofa.org/).
60
+ **
61
+ **
62
+ **
63
+ **
64
+ **
65
+ ** Copyright (C) 2013, Naoki Arita
66
+ ** All rights reserved.
67
+ **
68
+ ** Redistribution and use in source and binary forms, with or without
69
+ ** modification, are permitted provided that the following conditions
70
+ ** are met:
71
+ **
72
+ ** 1 Redistributions of source code must retain the above copyright
73
+ ** notice, this list of conditions and the following disclaimer.
74
+ **
75
+ ** 2 Redistributions in binary form must reproduce the above copyright
76
+ ** notice, this list of conditions and the following disclaimer in
77
+ ** the documentation and/or other materials provided with the
78
+ ** distribution.
79
+ **
80
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
81
+ ** the International Astronomical Union nor the names of its
82
+ ** contributors may be used to endorse or promote products derived
83
+ ** from this software without specific prior written permission.
84
+ **
85
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
86
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
87
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
88
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
89
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
90
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
91
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
92
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
93
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
94
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
95
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
96
+ ** POSSIBILITY OF SUCH DAMAGE.
97
+ **
98
+ **--------------------------------------------------------------------*/
99
+ }
@@ -0,0 +1,110 @@
1
+ #include "sofam.h"
2
+
3
+ void iauRy(double theta, double r[3][3])
4
+ /*
5
+ ** - - - - - -
6
+ ** i a u R y
7
+ ** - - - - - -
8
+ **
9
+ ** Rotate an r-matrix about the y-axis.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** theta double angle (radians)
15
+ **
16
+ ** Given and returned:
17
+ ** r double[3][3] r-matrix, rotated
18
+ **
19
+ ** Notes:
20
+ **
21
+ ** 1) Calling this function with positive theta incorporates in the
22
+ ** supplied r-matrix r an additional rotation, about the y-axis,
23
+ ** anticlockwise as seen looking towards the origin from positive y.
24
+ **
25
+ ** 2) The additional rotation can be represented by this matrix:
26
+ **
27
+ ** ( + cos(theta) 0 - sin(theta) )
28
+ ** ( )
29
+ ** ( 0 1 0 )
30
+ ** ( )
31
+ ** ( + sin(theta) 0 + cos(theta) )
32
+ **
33
+ ** This revision: 2012 April 3
34
+ **
35
+ ** Original version 2012-03-01
36
+ **
37
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
38
+ */
39
+ {
40
+ double s, c, a00, a01, a02, a20, a21, a22;
41
+
42
+
43
+ s = sin(theta);
44
+ c = cos(theta);
45
+
46
+ a00 = c*r[0][0] - s*r[2][0];
47
+ a01 = c*r[0][1] - s*r[2][1];
48
+ a02 = c*r[0][2] - s*r[2][2];
49
+ a20 = s*r[0][0] + c*r[2][0];
50
+ a21 = s*r[0][1] + c*r[2][1];
51
+ a22 = s*r[0][2] + c*r[2][2];
52
+
53
+ r[0][0] = a00;
54
+ r[0][1] = a01;
55
+ r[0][2] = a02;
56
+ r[2][0] = a20;
57
+ r[2][1] = a21;
58
+ r[2][2] = a22;
59
+
60
+ return;
61
+
62
+ /*----------------------------------------------------------------------
63
+ **
64
+ ** Celes is a wrapper of the SOFA Library for Ruby.
65
+ **
66
+ ** This file is redistributed and relicensed in accordance with
67
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
68
+ **
69
+ ** The original library is available from IAU Standards of
70
+ ** Fundamental Astronomy (http://www.iausofa.org/).
71
+ **
72
+ **
73
+ **
74
+ **
75
+ **
76
+ ** Copyright (C) 2013, Naoki Arita
77
+ ** All rights reserved.
78
+ **
79
+ ** Redistribution and use in source and binary forms, with or without
80
+ ** modification, are permitted provided that the following conditions
81
+ ** are met:
82
+ **
83
+ ** 1 Redistributions of source code must retain the above copyright
84
+ ** notice, this list of conditions and the following disclaimer.
85
+ **
86
+ ** 2 Redistributions in binary form must reproduce the above copyright
87
+ ** notice, this list of conditions and the following disclaimer in
88
+ ** the documentation and/or other materials provided with the
89
+ ** distribution.
90
+ **
91
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
92
+ ** the International Astronomical Union nor the names of its
93
+ ** contributors may be used to endorse or promote products derived
94
+ ** from this software without specific prior written permission.
95
+ **
96
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
97
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
98
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
99
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
100
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
101
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
102
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
103
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
104
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
105
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
106
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
107
+ ** POSSIBILITY OF SUCH DAMAGE.
108
+ **
109
+ **--------------------------------------------------------------------*/
110
+ }
@@ -0,0 +1,110 @@
1
+ #include "sofam.h"
2
+
3
+ void iauRz(double psi, double r[3][3])
4
+ /*
5
+ ** - - - - - -
6
+ ** i a u R z
7
+ ** - - - - - -
8
+ **
9
+ ** Rotate an r-matrix about the z-axis.
10
+ **
11
+ ** Status: vector/matrix support function.
12
+ **
13
+ ** Given:
14
+ ** psi double angle (radians)
15
+ **
16
+ ** Given and returned:
17
+ ** r double[3][3] r-matrix, rotated
18
+ **
19
+ ** Notes:
20
+ **
21
+ ** 1) Calling this function with positive psi incorporates in the
22
+ ** supplied r-matrix r an additional rotation, about the z-axis,
23
+ ** anticlockwise as seen looking towards the origin from positive z.
24
+ **
25
+ ** 2) The additional rotation can be represented by this matrix:
26
+ **
27
+ ** ( + cos(psi) + sin(psi) 0 )
28
+ ** ( )
29
+ ** ( - sin(psi) + cos(psi) 0 )
30
+ ** ( )
31
+ ** ( 0 0 1 )
32
+ **
33
+ ** This revision: 2012 April 3
34
+ **
35
+ ** Original version 2012-03-01
36
+ **
37
+ ** Copyright (C) 2013 Naoki Arita. See notes at end.
38
+ */
39
+ {
40
+ double s, c, a00, a01, a02, a10, a11, a12;
41
+
42
+
43
+ s = sin(psi);
44
+ c = cos(psi);
45
+
46
+ a00 = c*r[0][0] + s*r[1][0];
47
+ a01 = c*r[0][1] + s*r[1][1];
48
+ a02 = c*r[0][2] + s*r[1][2];
49
+ a10 = - s*r[0][0] + c*r[1][0];
50
+ a11 = - s*r[0][1] + c*r[1][1];
51
+ a12 = - s*r[0][2] + c*r[1][2];
52
+
53
+ r[0][0] = a00;
54
+ r[0][1] = a01;
55
+ r[0][2] = a02;
56
+ r[1][0] = a10;
57
+ r[1][1] = a11;
58
+ r[1][2] = a12;
59
+
60
+ return;
61
+
62
+ /*----------------------------------------------------------------------
63
+ **
64
+ ** Celes is a wrapper of the SOFA Library for Ruby.
65
+ **
66
+ ** This file is redistributed and relicensed in accordance with
67
+ ** the SOFA Software License (http://www.iausofa.org/tandc.html).
68
+ **
69
+ ** The original library is available from IAU Standards of
70
+ ** Fundamental Astronomy (http://www.iausofa.org/).
71
+ **
72
+ **
73
+ **
74
+ **
75
+ **
76
+ ** Copyright (C) 2013, Naoki Arita
77
+ ** All rights reserved.
78
+ **
79
+ ** Redistribution and use in source and binary forms, with or without
80
+ ** modification, are permitted provided that the following conditions
81
+ ** are met:
82
+ **
83
+ ** 1 Redistributions of source code must retain the above copyright
84
+ ** notice, this list of conditions and the following disclaimer.
85
+ **
86
+ ** 2 Redistributions in binary form must reproduce the above copyright
87
+ ** notice, this list of conditions and the following disclaimer in
88
+ ** the documentation and/or other materials provided with the
89
+ ** distribution.
90
+ **
91
+ ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
92
+ ** the International Astronomical Union nor the names of its
93
+ ** contributors may be used to endorse or promote products derived
94
+ ** from this software without specific prior written permission.
95
+ **
96
+ ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
97
+ ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
98
+ ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
99
+ ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
100
+ ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
101
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
102
+ ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
103
+ ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
104
+ ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
105
+ ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
106
+ ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
107
+ ** POSSIBILITY OF SUCH DAMAGE.
108
+ **
109
+ **--------------------------------------------------------------------*/
110
+ }