Mercurial > hg > octave-nkf
diff liboctave/MArray-fC.cc @ 7789:82be108cc558
First attempt at single precision tyeps
* * *
corrections to qrupdate single precision routines
* * *
prefer demotion to single over promotion to double
* * *
Add single precision support to log2 function
* * *
Trivial PROJECT file update
* * *
Cache optimized hermitian/transpose methods
* * *
Add tests for tranpose/hermitian and ChangeLog entry for new transpose code
author | David Bateman <dbateman@free.fr> |
---|---|
date | Sun, 27 Apr 2008 22:34:17 +0200 |
parents | |
children | b11c31849b44 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/liboctave/MArray-fC.cc @@ -0,0 +1,79 @@ +/* + +Copyright (C) 1995, 1996, 1997, 2000, 2003, 2005, 2006, 2007 + John W. Eaton + +This file is part of Octave. + +Octave is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +Octave is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Octave; see the file COPYING. If not, see +<http://www.gnu.org/licenses/>. + +*/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +// Instantiate MArrays of FloatComplex values. + +#include "oct-cmplx.h" +#include "f77-fcn.h" + +extern "C" +{ + F77_RET_T + F77_FUNC (xscnrm2, XSCNRM2) (const octave_idx_type&, const FloatComplex*, + const octave_idx_type&, float&); +} + +#include "MArray.h" +#include "MArray.cc" + +template <> +OCTAVE_API float +MArray<FloatComplex>::norm (float p) const +{ + MARRAY_NORM_BODY (FloatComplex, float, xscnrm2, XSCNRM2, octave_Float_NaN); +} + +template class OCTAVE_API MArray<FloatComplex>; + +INSTANTIATE_MARRAY_FRIENDS (FloatComplex, OCTAVE_API) + +#include "MArray2.h" +#include "MArray2.cc" + +template class OCTAVE_API MArray2<FloatComplex>; + +INSTANTIATE_MARRAY2_FRIENDS (FloatComplex, OCTAVE_API) + +#include "MArrayN.h" +#include "MArrayN.cc" + +template class OCTAVE_API MArrayN<FloatComplex>; + +INSTANTIATE_MARRAYN_FRIENDS (FloatComplex, OCTAVE_API) + +#include "MDiagArray2.h" +#include "MDiagArray2.cc" + +template class OCTAVE_API MDiagArray2<FloatComplex>; + +INSTANTIATE_MDIAGARRAY2_FRIENDS (FloatComplex, OCTAVE_API) + +/* +;;; Local Variables: *** +;;; mode: C++ *** +;;; End: *** +*/