aboutsummaryrefslogtreecommitdiff
path: root/src/slalib/dvxv.f
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-03-04 21:21:30 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-03-04 21:21:30 -0500
commitd54fe7c1f704a63824c5bfa0ece65245572e9b27 (patch)
treeafc52015ffc2c74e0266653eecef1c8ef8ba5d91 /src/slalib/dvxv.f
downloadcalfuse-d54fe7c1f704a63824c5bfa0ece65245572e9b27.tar.gz
Initial commit
Diffstat (limited to 'src/slalib/dvxv.f')
-rw-r--r--src/slalib/dvxv.f39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/slalib/dvxv.f b/src/slalib/dvxv.f
new file mode 100644
index 0000000..389deb4
--- /dev/null
+++ b/src/slalib/dvxv.f
@@ -0,0 +1,39 @@
+ SUBROUTINE sla_DVXV (VA, VB, VC)
+*+
+* - - - - -
+* D V X V
+* - - - - -
+*
+* Vector product of two 3-vectors (double precision)
+*
+* Given:
+* VA dp(3) first vector
+* VB dp(3) second vector
+*
+* Returned:
+* VC dp(3) vector result
+*
+* P.T.Wallace Starlink March 1986
+*
+* Copyright (C) 1995 Rutherford Appleton Laboratory
+*-
+
+ IMPLICIT NONE
+
+ DOUBLE PRECISION VA(3),VB(3),VC(3)
+
+ DOUBLE PRECISION VW(3)
+ INTEGER I
+
+
+* Form the vector product VA cross VB
+ VW(1)=VA(2)*VB(3)-VA(3)*VB(2)
+ VW(2)=VA(3)*VB(1)-VA(1)*VB(3)
+ VW(3)=VA(1)*VB(2)-VA(2)*VB(1)
+
+* Return the result
+ DO I=1,3
+ VC(I)=VW(I)
+ END DO
+
+ END