1 /*
2 * Copyright (c) 2012, Michael Lehn
3 *
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1) Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2) Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * 3) Neither the name of the FLENS development group nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33 #ifndef CXXLAPACK_INTERFACE_LANV2_TCC
34 #define CXXLAPACK_INTERFACE_LANV2_TCC 1
35
36 #include <iostream>
37 #include "xflens/cxxlapack/interface/interface.h"
38 #include "xflens/cxxlapack/netlib/netlib.h"
39
40 namespace cxxlapack {
41
42 template <typename XFLENS_VOID>
43 void
lanv2(float & a,float & b,float & c,float & d,float & rt1r,float & rt1i,float & rt2r,float & rt2i,float & cs,float & sn)44 lanv2(float &a,
45 float &b,
46 float &c,
47 float &d,
48 float &rt1r,
49 float &rt1i,
50 float &rt2r,
51 float &rt2i,
52 float &cs,
53 float &sn)
54 {
55 CXXLAPACK_DEBUG_OUT("slanv2");
56
57 LAPACK_IMPL(slanv2)(&a,
58 &b,
59 &c,
60 &d,
61 &rt1r,
62 &rt1i,
63 &rt2r,
64 &rt2i,
65 &cs,
66 &sn);
67 }
68
69 template <typename XFLENS_VOID>
70 void
lanv2(double & a,double & b,double & c,double & d,double & rt1r,double & rt1i,double & rt2r,double & rt2i,double & cs,double & sn)71 lanv2(double &a,
72 double &b,
73 double &c,
74 double &d,
75 double &rt1r,
76 double &rt1i,
77 double &rt2r,
78 double &rt2i,
79 double &cs,
80 double &sn)
81 {
82
83 CXXLAPACK_DEBUG_OUT("dlanv2");
84
85 LAPACK_IMPL(dlanv2)(&a,
86 &b,
87 &c,
88 &d,
89 &rt1r,
90 &rt1i,
91 &rt2r,
92 &rt2i,
93 &cs,
94 &sn);
95 }
96
97 } // namespace cxxlapack
98
99 #endif // CXXLAPACK_INTERFACE_LANV2_TCC
100