bsxfun-decl.h

Go to the documentation of this file.
00001 /*
00002 
00003 Copyright (C) 2009-2012 Jaroslav Hajek
00004 Copyright (C) 2009 VZLU Prague
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_bsxfun_decl_h)
00025 #define octave_bsxfun_decl_h 1
00026 
00027 #define BSXFUN_OP_DECL(OP, ARRAY, API) \
00028 extern API ARRAY bsxfun_ ## OP (const ARRAY&, const ARRAY&);
00029 
00030 #define BSXFUN_OP2_DECL(OP, ARRAY, ARRAY1, ARRAY2, API) \
00031 extern API ARRAY bsxfun_ ## OP (const ARRAY1&, const ARRAY2&);
00032 
00033 #define BSXFUN_REL_DECL(OP, ARRAY, API) \
00034 extern API boolNDArray bsxfun_ ## OP (const ARRAY&, const ARRAY&);
00035 
00036 #define BSXFUN_STDOP_DECLS(ARRAY, API) \
00037   BSXFUN_OP_DECL (add, ARRAY, API) \
00038   BSXFUN_OP_DECL (sub, ARRAY, API) \
00039   BSXFUN_OP_DECL (mul, ARRAY, API) \
00040   BSXFUN_OP_DECL (div, ARRAY, API) \
00041   BSXFUN_OP_DECL (pow, ARRAY, API) \
00042   BSXFUN_OP_DECL (min, ARRAY, API) \
00043   BSXFUN_OP_DECL (max, ARRAY, API)
00044 
00045 #define BSXFUN_MIXED_INT_DECLS(INT_TYPE, API)         \
00046   BSXFUN_OP2_DECL (pow, INT_TYPE, INT_TYPE, NDArray, API)       \
00047   BSXFUN_OP2_DECL (pow, INT_TYPE, INT_TYPE, FloatNDArray, API)  \
00048   BSXFUN_OP2_DECL (pow, INT_TYPE, NDArray, INT_TYPE, API)       \
00049   BSXFUN_OP2_DECL (pow, INT_TYPE, FloatNDArray, INT_TYPE, API)
00050 
00051 #define BSXFUN_STDREL_DECLS(ARRAY, API) \
00052   BSXFUN_REL_DECL (eq, ARRAY, API) \
00053   BSXFUN_REL_DECL (ne, ARRAY, API) \
00054   BSXFUN_REL_DECL (lt, ARRAY, API) \
00055   BSXFUN_REL_DECL (le, ARRAY, API) \
00056   BSXFUN_REL_DECL (gt, ARRAY, API) \
00057   BSXFUN_REL_DECL (ge, ARRAY, API) \
00058 
00059 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines