FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Arithmetic.hpp
1template <class ArrayType>
3{
4 enum { Dims = ArrayType::Dims };
5
6 typedef typename ArrayType::value_type value_type;
7
8static RefPtr<MemArrayBase<Dims> > create(const RefPtr<MemArrayBase<Dims> > &MB, double f)
9 {
10 typedef value_type result_t;
11 typedef MemArray<Dims, result_t> ResultArray_t;
12
13 RefPtr<TypedCreativeIterator<value_type> > TI = MB->getIterator();
14
15 RefPtr<ResultArray_t> RA = new ResultArray_t( MB -> Size() );
16
17 RefPtr<TypedCreativeIterator<result_t> > RI = RA->getIterator();
18
19 const value_type*src = TI->ptr();
20 result_t*dst = RI->ptr();
21
22 for(index_t i=0; i<TI->count(); i++)
23 {
24 dst[i] = src[i] * f;
25 }
26
27 return RA;
28 }
29};
30
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
index_t count() const
Return the number of steps which can be traversed through this ElementIterator.
Definition HyperslabParameters.hpp:147
Definition Arithmetic.hpp:3