Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

cp_afc.h

Go to the documentation of this file.
00001 namespace SPUC {
00002 // Copyright(c) 1993-1996 Tony Kirke
00003 /*
00004  * SPUC - Signal processing using C++ - A DSP library
00005  * 
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2, or (at your option)
00009  * any later version.
00010  * 
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  * 
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00019 */
00025 //
00028 template <class T> T cp_afc(complex<T> prev, complex<T> curr) 
00029 { 
00030         complex<T> rot(prev.re+prev.im,prev.im-prev.re);
00031         T dot = curr.re*rot.re + curr.im*rot.im;
00032         T cross = curr.im*rot.re - curr.re*rot.im;
00033         T afc = ((dot>=0) ? cross : -cross) - ((cross>=0) ? dot : -dot);
00034         return(afc);
00035 }
00036 } // namespace SPUC 

Generated on Fri Sep 16 11:02:18 2005 for spuc by  doxygen 1.4.4