nested_funcs.hpp

Go to the documentation of this file.
00001 /****
00002 ***** Copyright 2010 Intel Corporation All Rights Reserved.
00003 *****
00004 ***** The source code, information and material contained herein are owned by Intel Corporation or its suppliers  *****
00005 ***** or licensors, and title to such Material remains with Intel Corporation or its suppliers or licensors.      *****
00006 ***** The Material contains proprietary information of Intel or its suppliers and licensors. The Material is      *****
00007 ***** protected by worldwide copyright laws and treaty provisions. No part of the Material may be used, copied,   *****
00008 ***** reproduced, modified, published, uploaded, posted, transmitted, distributed or disclosed in any way without *****
00009 ***** Intel's prior express written permission.
00010 *****
00011 ***** No license under any patent, copyright or other intellectual property rights in the material is granted to  *****
00012 ***** or conferred upon you, either expressly, by implication, inducement, estoppel or otherwise. Any license     *****
00013 ***** under such intellectual property rights must be express and approved by Intel in writing.
00014 ****/
00015 
00016 /**** Copyright Ends ****/
00017 
00018 #ifndef ARBB_CPP_NESTED_FUNCS_HPP
00019 #define ARBB_CPP_NESTED_FUNCS_HPP
00020 
00021 #include "namespace.hpp"
00022 #include "scalar.hpp"
00023 #include "nested.hpp"
00024 
00025 namespace ARBB_CPP_NS {
00026 
00029 
00047 template <typename T>
00048 nested<T> repeat(const nested<T> & src, const usize& times,
00049                  const boolean collate = true,
00050                  const usize& level = usize(0));
00051 
00067 template <typename T>
00068 nested<T> repeat(const nested<T> & src, const nested<usize>& times,
00069                  const usize& level = usize(0));
00070 
00085 template <typename T>
00086 nested<T> shuffle(const nested<T>& src1, const nested<T>& src2,
00087                   const usize& grain,
00088                   const usize& level = usize(0));
00089 
00101 template <typename T>
00102 nested<T> unshuffle(const nested<T>& src, const usize& grain,
00103                     const usize& level = usize(0));
00104 
00107 template <typename T>
00108 nested<T> reshape_nested_lengths(const dense<T, 1>& data,
00109                                  const dense<usize, 1>& lengths);
00110 
00113 template <typename T, typename U>
00114 nested<T> reshape_as(const dense<T, 1>& data, const nested<U>& reference);
00115 
00127 template <typename T>
00128 nested<T> split(const dense<T, 1>& source, const dense<isize, 1>& tristate);
00129 
00133 template <typename T>
00134 nested<T> split(const nested<T>& src, const nested<isize>& tristate);
00135 
00138 template <typename T>
00139 dense<T, 1> unsplit(const nested<T>& src, const dense<isize, 1>& tristate);
00140 
00143 template <typename T>
00144 nested<T> unsplit(const nested<T>& src, const nested<isize>& tristate);
00145 
00155 template <typename T>
00156 nested<T> cat(const nested<T>& src1, const nested<T>& src2);
00157 
00160 template <typename T>
00161 nested<T> replace_segment(const nested<T>& src, const usize& i, const dense<T, 1>& value);
00162 
00166 template <typename T>
00167 nested<T> replace(const nested<T>& src, const usize& segment, const usize& element, const T& value);
00168 
00171 template <typename T>
00172 nested<T> unpack(const nested<T>& src, const nested<boolean>& mask, const T& value);
00173 
00176 template <typename T>
00177 nested<T> unpack(const nested<T>& src, const nested<boolean>& mask, const typename uncaptured<T>::type value);
00178 
00182 template <typename T>
00183 nested<T> reshape_nested_offsets(const dense<T, 1>& src, const dense<usize, 1>& segs);
00184 
00188 template <typename T>
00189 nested<T> reshape_nested_flags(const dense<T, 1>& src, const dense<boolean, 1>& flags);
00190 
00192 
00193 } // namespace ARBB_CPP_NS
00194 
00195 #endif // ARBB_CPP_NESTED_FUNCS_HPP

Submit feedback on this help topic

Copyright © 2010, Intel Corporation. All rights reserved.