[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN/test makevector.cc
From: |
Edward Rosten |
Subject: |
[Toon-members] TooN/test makevector.cc |
Date: |
Fri, 20 Mar 2009 12:23:58 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Edward Rosten <edrosten> 09/03/20 12:23:58
Modified files:
test : makevector.cc
Log message:
try varargs.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/test/makevector.cc?cvsroot=toon&r1=1.1&r2=1.2
Patches:
Index: makevector.cc
===================================================================
RCS file: /cvsroot/toon/TooN/test/makevector.cc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- makevector.cc 11 Mar 2009 11:28:52 -0000 1.1
+++ makevector.cc 20 Mar 2009 12:23:58 -0000 1.2
@@ -1,6 +1,23 @@
#include <TooN/TooN.h>
+#include <cstdarg>
using namespace TooN;
+
+template<int N, typename Precision> Vector<N, Precision> makeVector(const
Precision& x, ...)
+{
+ Vector<N> retval;
+ retval[0] = N;
+
+ va_list ap;
+ int i;
+ va_start(ap, x);
+ for(int i=1; i < N; i++)
+ retval[i] = va_arg(ap, Precision);
+ va_end(ap);
+ return retval;
+
+}
+
extern "C"{
double use_make_vector_double(const Vector<4>& v)
{
@@ -12,5 +29,10 @@
return v * makeVector<int>(0,0,2,0);
}
+double use_make_vector_var(const Vector<4>& v)
+{
+ return v * makeVector<4, double>(0.0,0.0,2.0,0.0);
+}
+
}