00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_xpow_h)
00024 #define octave_xpow_h 1
00025
00026 #include "oct-cmplx.h"
00027
00028 class Matrix;
00029 class ComplexMatrix;
00030 class FloatMatrix;
00031 class FloatComplexMatrix;
00032 class DiagMatrix;
00033 class ComplexDiagMatrix;
00034 class FloatDiagMatrix;
00035 class FloatComplexDiagMatrix;
00036 class PermMatrix;
00037 class NDArray;
00038 class FloatNDArray;
00039 class ComplexNDArray;
00040 class FloatComplexNDArray;
00041 class octave_value;
00042 class Range;
00043
00044 extern OCTINTERP_API octave_value xpow (double a, double b);
00045 extern OCTINTERP_API octave_value xpow (double a, const Matrix& b);
00046 extern OCTINTERP_API octave_value xpow (double a, const Complex& b);
00047 extern OCTINTERP_API octave_value xpow (double a, const ComplexMatrix& b);
00048
00049 extern OCTINTERP_API octave_value xpow (const Matrix& a, double b);
00050 extern OCTINTERP_API octave_value xpow (const Matrix& a, const Complex& b);
00051
00052 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, double b);
00053 extern OCTINTERP_API octave_value xpow (const DiagMatrix& a, const Complex& b);
00054
00055 extern OCTINTERP_API octave_value xpow (const PermMatrix& a, double b);
00056
00057 extern OCTINTERP_API octave_value xpow (const Complex& a, double b);
00058 extern OCTINTERP_API octave_value xpow (const Complex& a, const Matrix& b);
00059 extern OCTINTERP_API octave_value xpow (const Complex& a, const Complex& b);
00060 extern OCTINTERP_API octave_value xpow (const Complex& a, const ComplexMatrix& b);
00061
00062 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a, double b);
00063 extern OCTINTERP_API octave_value xpow (const ComplexMatrix& a, const Complex& b);
00064
00065 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a, double b);
00066 extern OCTINTERP_API octave_value xpow (const ComplexDiagMatrix& a, const Complex& b);
00067
00068 extern OCTINTERP_API octave_value elem_xpow (double a, const Matrix& b);
00069 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexMatrix& b);
00070 extern OCTINTERP_API octave_value elem_xpow (double a, const Range& r);
00071
00072 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, double b);
00073 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Matrix& b);
00074 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const Complex& b);
00075 extern OCTINTERP_API octave_value elem_xpow (const Matrix& a, const ComplexMatrix& b);
00076
00077 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const Matrix& b);
00078 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const ComplexMatrix& b);
00079 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const Range& r);
00080
00081 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, double b);
00082 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, const Matrix& b);
00083 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, const Complex& b);
00084 extern OCTINTERP_API octave_value elem_xpow (const ComplexMatrix& a, const ComplexMatrix& b);
00085
00086
00087 extern OCTINTERP_API octave_value elem_xpow (double a, const NDArray& b);
00088 extern OCTINTERP_API octave_value elem_xpow (double a, const ComplexNDArray& b);
00089
00090 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, double b);
00091 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, const NDArray& b);
00092 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, const Complex& b);
00093 extern OCTINTERP_API octave_value elem_xpow (const NDArray& a, const ComplexNDArray& b);
00094
00095 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const NDArray& b);
00096 extern OCTINTERP_API octave_value elem_xpow (const Complex& a, const ComplexNDArray& b);
00097
00098 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a, double b);
00099 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a, const NDArray& b);
00100 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a, const Complex& b);
00101 extern OCTINTERP_API octave_value elem_xpow (const ComplexNDArray& a, const ComplexNDArray& b);
00102
00103 extern OCTINTERP_API octave_value xpow (float a, float b);
00104 extern OCTINTERP_API octave_value xpow (float a, const FloatMatrix& b);
00105 extern OCTINTERP_API octave_value xpow (float a, const FloatComplex& b);
00106 extern OCTINTERP_API octave_value xpow (float a, const FloatComplexMatrix& b);
00107
00108 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a, float b);
00109 extern OCTINTERP_API octave_value xpow (const FloatMatrix& a, const FloatComplex& b);
00110
00111 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a, float b);
00112 extern OCTINTERP_API octave_value xpow (const FloatDiagMatrix& a, const FloatComplex& b);
00113
00114 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, float b);
00115 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, const FloatMatrix& b);
00116 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, const FloatComplex& b);
00117 extern OCTINTERP_API octave_value xpow (const FloatComplex& a, const FloatComplexMatrix& b);
00118
00119 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a, float b);
00120 extern OCTINTERP_API octave_value xpow (const FloatComplexMatrix& a, const FloatComplex& b);
00121
00122 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a, float b);
00123 extern OCTINTERP_API octave_value xpow (const FloatComplexDiagMatrix& a, const FloatComplex& b);
00124
00125 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatMatrix& b);
00126 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatComplexMatrix& b);
00127
00128 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, float b);
00129 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, const FloatMatrix& b);
00130 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, const FloatComplex& b);
00131 extern OCTINTERP_API octave_value elem_xpow (const FloatMatrix& a, const FloatComplexMatrix& b);
00132
00133 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a, const FloatMatrix& b);
00134 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a, const FloatComplexMatrix& b);
00135
00136 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a, float b);
00137 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a, const FloatMatrix& b);
00138 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a, const FloatComplex& b);
00139 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexMatrix& a, const FloatComplexMatrix& b);
00140
00141
00142 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatNDArray& b);
00143 extern OCTINTERP_API octave_value elem_xpow (float a, const FloatComplexNDArray& b);
00144
00145 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, float b);
00146 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, const FloatNDArray& b);
00147 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, const FloatComplex& b);
00148 extern OCTINTERP_API octave_value elem_xpow (const FloatNDArray& a, const FloatComplexNDArray& b);
00149
00150 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a, const FloatNDArray& b);
00151 extern OCTINTERP_API octave_value elem_xpow (const FloatComplex& a, const FloatComplexNDArray& b);
00152
00153 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a, float b);
00154 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a, const FloatNDArray& b);
00155 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a, const FloatComplex& b);
00156 extern OCTINTERP_API octave_value elem_xpow (const FloatComplexNDArray& a, const FloatComplexNDArray& b);
00157
00158 #endif