"Fossies" - the Fresh Open Source Software Archive

Member "armadillo-9.800.3/include/armadillo_bits/mtOpCube_bones.hpp" (16 Jun 2016, 2365 Bytes) of package /linux/misc/armadillo-9.800.3.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "mtOpCube_bones.hpp" see the Fossies "Dox" file reference documentation.

    1 // Copyright 2008-2016 Conrad Sanderson (http://conradsanderson.id.au)
    2 // Copyright 2008-2016 National ICT Australia (NICTA)
    3 // 
    4 // Licensed under the Apache License, Version 2.0 (the "License");
    5 // you may not use this file except in compliance with the License.
    6 // You may obtain a copy of the License at
    7 // http://www.apache.org/licenses/LICENSE-2.0
    8 // 
    9 // Unless required by applicable law or agreed to in writing, software
   10 // distributed under the License is distributed on an "AS IS" BASIS,
   11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12 // See the License for the specific language governing permissions and
   13 // limitations under the License.
   14 // ------------------------------------------------------------------------
   15 
   16 
   17 //! \addtogroup mtOpCube
   18 //! @{
   19 
   20 
   21 
   22 struct mtOpCube_dual_aux_indicator {};
   23 
   24 
   25 template<typename out_eT, typename T1, typename op_type>
   26 class mtOpCube : public BaseCube<out_eT, mtOpCube<out_eT, T1, op_type> >
   27   {
   28   public:
   29   
   30   typedef          out_eT                       elem_type;
   31   typedef typename get_pod_type<out_eT>::result pod_type;
   32 
   33   typedef typename T1::elem_type                in_eT;
   34 
   35   inline explicit mtOpCube(const T1& in_m);
   36   inline          mtOpCube(const T1& in_m, const in_eT in_aux);
   37   inline          mtOpCube(const T1& in_m, const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c);
   38   inline          mtOpCube(const T1& in_m, const in_eT in_aux,         const uword in_aux_uword_a, const uword in_aux_uword_b, const uword in_aux_uword_c);
   39   
   40   inline          mtOpCube(const char junk, const T1& in_m, const out_eT in_aux);
   41   
   42   inline          mtOpCube(const mtOpCube_dual_aux_indicator&, const T1& in_m, const in_eT in_aux_a, const out_eT in_aux_b);
   43   
   44   inline         ~mtOpCube();
   45   
   46   
   47   arma_aligned const T1&    m;            //!< the operand; must be derived from BaseCube
   48   arma_aligned       in_eT  aux;          //!< auxiliary data, using the element type as used by T1
   49   arma_aligned       out_eT aux_out_eT;   //!< auxiliary data, using the element type as specified by the out_eT template parameter
   50   arma_aligned       uword  aux_uword_a;  //!< auxiliary data, uword format
   51   arma_aligned       uword  aux_uword_b;  //!< auxiliary data, uword format
   52   arma_aligned       uword  aux_uword_c;  //!< auxiliary data, uword format
   53   
   54   };
   55 
   56 
   57 
   58 //! @}