All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
stride.hpp
Go to the documentation of this file.
#ifndef VIENNACL_TRAITS_STRIDE_HPP_
#define VIENNACL_TRAITS_STRIDE_HPP_
/* =========================================================================
Copyright (c) 2010-2016, Institute for Microelectronics,
Institute for Analysis and Scientific Computing,
TU Wien.
Portions of this software are copyright by UChicago Argonne, LLC.
-----------------
ViennaCL - The Vienna Computing Library
-----------------
Project Head: Karl Rupp rupp@iue.tuwien.ac.at
(A list of authors and contributors can be found in the manual)
License: MIT (X11), see file LICENSE in the base directory
============================================================================= */
#include <string>
#include <fstream>
#include <sstream>
#include "viennacl/forwards.h"
#include "viennacl/meta/result_of.hpp"
#include <vector>
#include <map>
namespace viennacl
{
namespace traits
{
//
// inc: Increment for vectors. Defaults to 1
//
template<typename T>
typename result_of::size_type< viennacl::vector_base<T> >::type
stride(viennacl::vector_base<T> const & s) { return s.stride(); }
//
// inc1: Row increment for matrices. Defaults to 1
//
//template<typename MatrixType>
//typename result_of::size_type<MatrixType>::type
//stride1(MatrixType const &) { return 1; }
template<typename NumericT>
typename result_of::size_type< matrix_base<NumericT> >::type
stride1(matrix_base<NumericT> const & s) { return s.stride1(); }
//
// inc2: Column increment for matrices. Defaults to 1
//
//template<typename MatrixType>
//typename result_of::size_type<MatrixType>::type
//stride2(MatrixType const &) { return 1; }
template<typename NumericT>
typename result_of::size_type< matrix_base<NumericT> >::type
stride2(matrix_base<NumericT> const & s) { return s.stride2(); }
} //namespace traits
} //namespace viennacl
#endif
viennacl::traits::stride1
result_of::size_type< matrix_base< NumericT > >::type stride1(matrix_base< NumericT > const &s)
Definition: stride.hpp:55
viennacl::matrix_base< NumericT >
viennacl::matrix_base::stride2
size_type stride2() const
Returns the number of columns.
Definition: matrix_def.hpp:234
viennacl::traits::stride
result_of::size_type< viennacl::vector_base< T > >::type stride(viennacl::vector_base< T > const &s)
Definition: stride.hpp:45
forwards.h
This file provides the forward declarations for the main types used within ViennaCL.
viennacl::vector_base::stride
size_type stride() const
Returns the stride within the buffer (in multiples of sizeof(NumericT))
Definition: vector_def.hpp:124
viennacl::matrix_base::stride1
size_type stride1() const
Returns the number of rows.
Definition: matrix_def.hpp:232
viennacl::vector_base
Common base class for dense vectors, vector ranges, and vector slices.
Definition: vector_def.hpp:104
viennacl::traits::stride2
result_of::size_type< matrix_base< NumericT > >::type stride2(matrix_base< NumericT > const &s)
Definition: stride.hpp:65
viennacl::result_of::size_type
Generic meta-function for retrieving the size_type associated with type T.
Definition: result_of.hpp:139
result_of.hpp
A collection of compile time type deductions.