tminres
Vector_trait.hpp
Go to the documentation of this file.
00001 // tminres is free software; you can redistribute it and/or modify it under the
00002 // terms of the GNU Lesser General Public License (as published by the Free
00003 // Software Foundation) version 2.1 dated February 1999.
00004 //
00005 // Authors:
00006 // - Umberto Villa, Emory University - uvilla@emory.edu
00007 // - Michael Saunders, Stanford University
00008 // - Santiago Akle, Stanford University
00009 
00016 #ifndef VECTOR_TRAIT_HPP_
00017 #define VECTOR_TRAIT_HPP_
00018 
00020 
00024 class Vector_trait
00025 {
00026 
00028         Vector_trait & operator=(const double & val) = 0;
00030         Vector_trait & operator=(const Vector_trait & RHS) = 0;
00032         void Scale(const double & val) = 0;
00034         Vector_trait * Clone() = 0;
00035 
00037         friend void add(const Vector_trait & v1, const double & c2, const Vector_trait & v2, Vector_trait & result);
00039         friend void add(const double & c1, const Vector_trait & v1, const double & c2, const Vector_trait & v2, Vector_trait & result);
00041         friend void add(const double & alpha, const Vector_trait & v1, const Vector_trait & v2, Vector_trait & result);
00043         friend void add(const Vector_trait & v1, const Vector_trait & v2, const Vector_trait & v3, Vector_trait & result);
00045         friend void subtract(const Vector_trait & v1, const Vector_trait & v2, Vector_trait & result);
00047         friend double InnerProduct(const Vector_trait & v1, const Vector_trait & v2);
00048 
00049 
00050 
00051 };
00052 
00053 
00054 #endif /* VECTOR_TRAIT_HPP_ */
 All Classes Files Functions Friends