Octave-Forge - Extra packages for GNU Octave | |
Home · Packages · Developers · Documentation · FAQ · Bugs · Mailing Lists · Links · Code |
00001 /* 00002 00003 Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2003, 2005, 2007, 2008 00004 John W. Eaton 00005 00006 This file is part of Octave. 00007 00008 Octave is free software; you can redistribute it and/or modify it 00009 under the terms of the GNU General Public License as published by the 00010 Free Software Foundation; either version 3 of the License, or (at your 00011 option) any later version. 00012 00013 Octave is distributed in the hope that it will be useful, but WITHOUT 00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00015 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with Octave; see the file COPYING. If not, see 00020 <http://www.gnu.org/licenses/>. 00021 00022 */ 00023 00024 #if !defined (octave_mx_defs_h) 00025 #define octave_mx_defs_h 1 00026 00027 // Classes we declare. 00028 00029 class Matrix; 00030 class ComplexMatrix; 00031 class FloatMatrix; 00032 class FloatComplexMatrix; 00033 class boolMatrix; 00034 class charMatrix; 00035 00036 class NDArray; 00037 class ComplexNDArray; 00038 class FloatNDArray; 00039 class FloatComplexNDArray; 00040 class boolNDArray; 00041 class charNDArray; 00042 00043 class ColumnVector; 00044 class ComplexColumnVector; 00045 class FloatColumnVector; 00046 class FloatComplexColumnVector; 00047 00048 class RowVector; 00049 class ComplexRowVector; 00050 class FloatRowVector; 00051 class FloatComplexRowVector; 00052 00053 class DiagMatrix; 00054 class ComplexDiagMatrix; 00055 class FloatDiagMatrix; 00056 class FloatComplexDiagMatrix; 00057 00058 class PermMatrix; 00059 00060 class AEPBALANCE; 00061 class ComplexAEPBALANCE; 00062 class FloatAEPBALANCE; 00063 class FloatComplexAEPBALANCE; 00064 00065 class GEPBALANCE; 00066 class ComplexGEPBALANCE; 00067 class FloatGEPBALANCE; 00068 class FloatComplexGEPBALANCE; 00069 00070 class CHOL; 00071 class ComplexCHOL; 00072 class FloatCHOL; 00073 class FloatComplexCHOL; 00074 00075 class EIG; 00076 00077 class HESS; 00078 class ComplexHESS; 00079 class FloatHESS; 00080 class FloatComplexHESS; 00081 00082 class SCHUR; 00083 class ComplexSCHUR; 00084 class FloatSCHUR; 00085 class FloatComplexSCHUR; 00086 00087 class SVD; 00088 class ComplexSVD; 00089 class FloatSVD; 00090 class FloatComplexSVD; 00091 00092 class LU; 00093 class ComplexLU; 00094 class FloatLU; 00095 class FloatComplexLU; 00096 00097 class QR; 00098 class ComplexQR; 00099 class FloatQR; 00100 class FloatComplexQR; 00101 00102 class QRP; 00103 class ComplexQRP; 00104 class FloatQRP; 00105 class FloatComplexQRP; 00106 00107 // Other data types we use but that don't always need to have full 00108 // declarations. 00109 00110 #include "oct-cmplx.h" 00111 00112 #ifndef MAPPER_FCN_TYPEDEFS 00113 #define MAPPER_FCN_TYPEDEFS 1 00114 00115 typedef bool (*b_d_Mapper)(double); 00116 typedef bool (*b_c_Mapper)(const Complex&); 00117 00118 typedef double (*d_d_Mapper)(double); 00119 typedef double (*d_c_Mapper)(const Complex&); 00120 typedef Complex (*c_c_Mapper)(const Complex&); 00121 00122 typedef bool (*b_f_Mapper)(float); 00123 typedef bool (*b_fc_Mapper)(const FloatComplex&); 00124 00125 typedef float (*f_f_Mapper)(float); 00126 typedef float (*f_fc_Mapper)(const FloatComplex&); 00127 typedef FloatComplex (*fc_fc_Mapper)(const FloatComplex&); 00128 00129 enum blas_trans_type 00130 { 00131 blas_no_trans = 'N', 00132 blas_trans = 'T', 00133 blas_conj_trans = 'C' 00134 }; 00135 00136 inline char 00137 get_blas_char (blas_trans_type transt) 00138 { 00139 return static_cast<char> (transt); 00140 } 00141 00142 00143 #endif 00144 00145 #endif 00146 00147 /* 00148 ;;; Local Variables: *** 00149 ;;; mode: C++ *** 00150 ;;; End: *** 00151 */