LELFunctionEnums.h

Go to the documentation of this file.
00001 //# LELFunctionEnums.h: Enums of function names
00002 //# Copyright (C) 1997,1998,1999,2001,2003
00003 //# Associated Universities, Inc. Washington DC, USA.
00004 //#
00005 //# This library is free software; you can redistribute it and/or modify it
00006 //# under the terms of the GNU Library General Public License as published by
00007 //# the Free Software Foundation; either version 2 of the License, or (at your
00008 //# option) any later version.
00009 //#
00010 //# This library is distributed in the hope that it will be useful, but WITHOUT//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00011 //# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
00012 //# License for more details.
00013 //#
00014 //# You should have received a copy of the GNU Library General Public License
00015 //# along with this library; if not, write to the Free Software Foundation,
00016 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
00017 //#
00018 //# Correspondence concerning AIPS++ should be addressed as follows:
00019 //#        Internet email: aips2-request@nrao.edu.
00020 //#        Postal address: AIPS++ Project Office
00021 //#                        National Radio Astronomy Observatory
00022 //#                        520 Edgemont Road
00023 //#                        Charlottesville, VA 22903-2475 USA
00024 //#
00025 //# $Id$
00026 
00027 #ifndef LATTICES_LELFUNCTIONENUMS_H
00028 #define LATTICES_LELFUNCTIONENUMS_H
00029 
00030 #include <casacore/casa/aips.h>
00031 
00032 namespace casacore { //# NAMESPACE CASACORE - BEGIN
00033 
00034 // <summary> Each LEL function is described in this enum </summary>
00035 //
00036 // <use visibility=local>
00037 //
00038 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
00039 // </reviewed>
00040 //
00041 // <prerequisite>
00042 //   <li> <linkto class="Lattice"> Lattice</linkto>
00043 //   <li> <linkto class="LatticeExpr"> LatticeExpr</linkto>
00044 //   <li> <linkto class="LatticeExprNode"> LatticeExprNode</linkto>
00045 //   <li> <linkto class="LELInterface"> LELInterface</linkto>
00046 // </prerequisite>
00047 //
00048 // <etymology>
00049 //  This enum provides a value for each function accepted
00050 //  by the Lattice Expression Language classes.
00051 // </etymology>
00052 //
00053 // <synopsis>
00054 //  Each function name accepted by the bridging class LatticeExprNode
00055 //  and passed on to the
00056 //  <linkto class="LELFunction1D">LELFunction</linkto>
00057 //  letter classes is labelled internally 
00058 //  with a value from this enum.  
00059 // </synopsis> 
00060 //
00061 // <todo asof="1998/01/21">
00062 // </todo>
00063 
00064 
00065 class LELFunctionEnums 
00066 {
00067 public:
00068    enum Function {
00069 
00070 // sin
00071    SIN,
00072 
00073 // sinh
00074    SINH,
00075 
00076 // asin 
00077    ASIN,
00078 
00079 // cos
00080    COS,
00081 
00082 // cosh
00083    COSH,
00084 
00085 // acos
00086    ACOS,
00087 
00088 // tan
00089    TAN,
00090 
00091 // tanh
00092    TANH,
00093 
00094 // atan; atan(x) returns the arc tangent of x in the range -pi/2 to  pi/2.
00095    ATAN,
00096 
00097 // atan2; atan2(y,x) computes an arc tangent of y/x in the range -pi to pi
00098    ATAN2,
00099 
00100 // exp
00101    EXP,
00102 
00103 // log
00104    LOG,
00105 
00106 // log10
00107    LOG10,
00108 
00109 // power pow(x,y) ==  x**y or x^y
00110    POW,
00111 
00112 // sqrt
00113    SQRT,
00114 
00115 // round
00116    ROUND,
00117 
00118 // sign (-1 if <0; 0 if 0; 1 if >0)
00119    SIGN,
00120 
00121 // ceil; returns the least  integral  value  greater  than  or  equal  to  x. 
00122    CEIL,
00123 
00124 // floor; returns the greatest integral  value  less  than  or equal  to  x.
00125    FLOOR,
00126 
00127 // abs
00128    ABS,
00129 
00130 // phase (of complex number)
00131    ARG,
00132 
00133 // real (part of number)
00134    REAL,
00135 
00136 // imag (inary part of complex number)
00137    IMAG,
00138 
00139 // conj (ugate complex number)
00140    CONJ,
00141 
00142 // complex (form complex from 2 reals)
00143    COMPLEX,
00144 
00145 // fmod; fmod(x,y) returns the remainder  of  x  with  respect  to  y;  that is, 
00146 // the result r is one of the numbers that differ from x by an integral multiple of y.  
00147    FMOD,
00148 
00149 // min; min(x,y)
00150    MIN,
00151 
00152 // max; max(x,y)
00153    MAX,
00154 
00155 // min; min(x) (is a scalar)
00156    MIN1D,
00157 
00158 // max; max(x) (is a scalar)
00159    MAX1D,
00160 
00161 // mean; mean(x) (is a scalar)
00162    MEAN1D,
00163 
00164 // median; median(x) (is a scalar)
00165    MEDIAN1D,
00166 
00167 // fractile; fractile(x,fraction) (is a scalar)
00168    FRACTILE1D,
00169 
00170 // fractilerange; fractilerange(x,fraction1[,fraction2]) (is a scalar)
00171    FRACTILERANGE1D,
00172 
00173 // sum; sum(x) (is a scalar)
00174    SUM,
00175 
00176 // nelements; nelements(x) (is a scalar)
00177    NELEM,
00178 
00179 // all (true) (is a scalar)
00180    ALL,
00181 
00182 // any (true) (is a scalar)
00183    ANY,
00184 
00185 // ntrue 
00186    NTRUE,
00187 
00188 // nfalse
00189    NFALSE,
00190 
00191 // mask
00192    MASK,
00193 
00194 // value
00195    VALUE,
00196 
00197 // iif (similar to ?: in C++)
00198    IIF,
00199 
00200 // replace
00201    REPLACE,
00202 
00203 // dimensionality
00204    NDIM,
00205 
00206 // length (of an axis)
00207    LENGTH,
00208 
00209 // is the value a NaN?
00210    ISNAN,
00211 
00212 // a bool array telling which indices of an axis are to be used
00213    INDEXIN,
00214 
00215 // number of functions
00216    NFUNCTIONS
00217 
00218 };
00219 
00220 };
00221 
00222 
00223 } //# NAMESPACE CASACORE - END
00224 
00225 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1