Menu

Tree [708907] master /
 History

HTTPS access


File Date Author Commit
 docs 2008-11-14 Mike Tegtmeyer Mike Tegtmeyer [d25e2b] Removed generated files
 tests 2008-11-14 Mike Tegtmeyer Mike Tegtmeyer [d25e2b] Removed generated files
 .gitignore 2009-03-02 Mike Tegtmeyer Mike Tegtmeyer [c46f4f] Added missing const in cslice operator. Bumped ...
 AUTHORS 2006-08-15 mtegtmeyer mtegtmeyer [c9a2a9] Initial revision
 COPYING 2007-05-30 mtegtmeyer mtegtmeyer [7888cb] added second parameter for T * and T & cvalarra...
 ChangeLog 2009-03-02 Mike Tegtmeyer Mike Tegtmeyer [c46f4f] Added missing const in cslice operator. Bumped ...
 INSTALL 2006-08-15 mtegtmeyer mtegtmeyer [c9a2a9] Initial revision
 Makefile.am 2006-08-15 mtegtmeyer mtegtmeyer [c9a2a9] Initial revision
 NEWS 2009-03-02 Mike Tegtmeyer Mike Tegtmeyer [708907] Appended news for release 0.2.2
 README 2007-10-01 mtegtmeyer mtegtmeyer [c6c17c] brought cvs tree in line with distributed changes
 configure.ac 2009-03-02 Mike Tegtmeyer Mike Tegtmeyer [c46f4f] Added missing const in cslice operator. Bumped ...
 cvalarray.h 2009-03-02 Mike Tegtmeyer Mike Tegtmeyer [c46f4f] Added missing const in cslice operator. Bumped ...

Read Me

cvalarray is a c++ template class designed for numeric processing in a manner
mirroring the STL class valarray with the exception that it is statically
sized. The purpose of the cvalarray class is to address shortcomings in
specific use-cases where valarray's dynamic-sized nature imposes too great of
performance limitation. 

This is achieved primarily by moving function arguments that specify size and
slices to template arguments. This has the added benefit of moving many errors
that would normally occur at runtime to compile time. 

In addition, the implementation takes advantage ofthe static-sized nature and
unrolls all operations <= the preprocessor UNROLL_LIMIT (default 10)

Mail any bugs or suggestions to tegtmeye at eecis dot udel dot edu

See the NEWS file for changes made to a particular version

noteworthy things:

The performance comparisons against std::valarray are meaningless as it is
fairly hard to obtain timing measurements for such things as most compilers
tend to optimize most of the code that you want to time away.

The compound math check can take a VERY long time to compile as it is
testing every permutation of the math operators

This implementation does not use any extensions to the c++ language but
requires a modern, ISO complient c++ compiler.

It is known to compile on the following compilers:
- GCC 4.*
- GCC 3.4.5
- MSVC 8.0 SP1

 * Copyright (c) 2006,2007  Mike Tegtmeyer
 * All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the author nor the names of its contributors may
 *       be used to endorse or promote products derived from this software
 *       without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.