00001
00002
00004
00005 #if !defined(AFX_MATRIXOPERATIONS_H__1AAEB2A1_F345_46A4_AEA9_913C117EEC99__INCLUDED_)
00006 #define AFX_MATRIXOPERATIONS_H__1AAEB2A1_F345_46A4_AEA9_913C117EEC99__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #ifndef _WIN32
00013 #include <algorithm>
00014 using namespace std;
00015 #define __min min
00016 #define __max max
00017 #endif
00018
00019 #include <cmath>
00020 #include <stdlib.h>
00021
00022 class CMatrixOperations
00023 {
00024 public:
00025 CMatrixOperations();
00026 virtual ~CMatrixOperations();
00027 virtual double DotProduct(double* v1, double* v2, int size);
00028 virtual double VectorL2Norm(double *v, int size);
00029 virtual void ElementCopy(double *vsource, double *vtarget, int size);
00030 virtual void RescaleVector(double *v, double scale, int size);
00031 virtual void TwoVectorLC(double a, double *x, double b, double *y, double *z, int size);
00032 virtual double VectorSupNorm(double *v, int size);
00033 };
00034
00035 #endif // !defined(AFX_MATRIXOPERATIONS_H__1AAEB2A1_F345_46A4_AEA9_913C117EEC99__INCLUDED_)