Commit 8b1df9a0 by Christian Kern

Merge branch 'development' of https://github.com/siemens/embb into development

parents 3efbe80e 3038fff8
...@@ -14,6 +14,8 @@ build* ...@@ -14,6 +14,8 @@ build*
# Latex output files # Latex output files
*.aux *.aux
*.bbl
*.blg
*.log *.log
*.out *.out
*.pdf *.pdf
......
# Copyright (c) 2014, Siemens AG. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause
language: cpp
compiler:
- gcc
- clang
install:
- sudo apt-get install -qq cppcheck
- sudo add-apt-repository --yes ppa:kalakris/cmake
- sudo apt-get update -qq
- sudo apt-get install cmake
script:
- cppcheck -q --enable=all *_c*
- mkdir build && cd build
- cmake ..
- make
- chmod a+x binaries/run_tests.sh
- ./binaries/run_tests.sh
Embedded Multicore Building Blocks (EMBB) Embedded Multicore Building Blocks (EMB²)
========================================= =========================================
Version 0.2.1
-------------
### Bug fixes:
- Fixed implementation of atomic operations on ARM.
- Fixed bug in HelpScan routine of hazard pointer implementation.
- Replaced inclusion of non-standard header malloc.h with stdlib.h.
### Features:
- Added embb_core_count_available() implementation for FreeBSD.
### Build system:
- Added initial support for Clang.
- Added initial support for Travis.
- Fixed "Policy CMP0026 is not set" warning of CMake >= 3.0.2.
- Made build independent of build-dir / source-dir location.
- Fixed remaining GCC, Clang, MSVC, and cpplint warnings.
- Replaced /bin/bash with /usr/bin/env bash in scripts.
- Added executable flag to shell scripts.
- Omitted Doxygen "Makefiles" from tarball.
- Included patchlevel in name of installation directory on Linux.
- Added LaTeX .bbl and .blg files to ignore list.
### Documentation:
- Updated README file, created CHANGELOG file, and added markdown support.
- Corrected license in COPYING.md (BSD 2-clause).
- Changed default Doxygen level for API to two.
- Added check for Doxyfile.in (if not present, do not add Doxygen target).
- Added PDF image of building blocks and updated tutorial.tex.
- Fixed typos and wording.
Version 0.2.0 Version 0.2.0
------------- -------------
......
Embedded Multicore Building Blocks (EMBB) Embedded Multicore Building Blocks (EMB²)
========================================= =========================================
Overview Overview
......
...@@ -91,7 +91,7 @@ class ForEachFunctor { ...@@ -91,7 +91,7 @@ class ForEachFunctor {
}; };
template<typename RAI, typename Function> template<typename RAI, typename Function>
void ForEachRecurcive(RAI first, RAI last, Function unary, void ForEachRecursive(RAI first, RAI last, Function unary,
const ExecutionPolicy& policy, size_t block_size) { const ExecutionPolicy& policy, size_t block_size) {
typedef typename std::iterator_traits<RAI>::difference_type difference_type; typedef typename std::iterator_traits<RAI>::difference_type difference_type;
difference_type distance = std::distance(first, last); difference_type distance = std::distance(first, last);
...@@ -121,7 +121,7 @@ template<typename RAI, typename Function> ...@@ -121,7 +121,7 @@ template<typename RAI, typename Function>
void ForEachIteratorCheck(RAI first, RAI last, Function unary, void ForEachIteratorCheck(RAI first, RAI last, Function unary,
const ExecutionPolicy& policy, size_t block_size, const ExecutionPolicy& policy, size_t block_size,
std::random_access_iterator_tag) { std::random_access_iterator_tag) {
return ForEachRecurcive(first, last, unary, policy, block_size); return ForEachRecursive(first, last, unary, policy, block_size);
} }
} // namespace internal } // namespace internal
......
...@@ -105,7 +105,7 @@ class ReduceFunctor { ...@@ -105,7 +105,7 @@ class ReduceFunctor {
template<typename RAI, typename ReturnType, typename ReductionFunction, template<typename RAI, typename ReturnType, typename ReductionFunction,
typename TransformationFunction> typename TransformationFunction>
ReturnType ReduceRecurcive(RAI first, RAI last, ReturnType neutral, ReturnType ReduceRecursive(RAI first, RAI last, ReturnType neutral,
ReductionFunction reduction, ReductionFunction reduction,
TransformationFunction transformation, TransformationFunction transformation,
const ExecutionPolicy& policy, size_t block_size) { const ExecutionPolicy& policy, size_t block_size) {
...@@ -144,7 +144,7 @@ ReturnType ReduceIteratorCheck(RAI first, RAI last, ReductionFunction reduction, ...@@ -144,7 +144,7 @@ ReturnType ReduceIteratorCheck(RAI first, RAI last, ReductionFunction reduction,
ReturnType neutral, ReturnType neutral,
const ExecutionPolicy& policy, size_t block_size, const ExecutionPolicy& policy, size_t block_size,
std::random_access_iterator_tag) { std::random_access_iterator_tag) {
return ReduceRecurcive(first, last, neutral, reduction, transformation, return ReduceRecursive(first, last, neutral, reduction, transformation,
policy, block_size); policy, block_size);
} }
......
...@@ -103,9 +103,9 @@ unsigned int embb_core_count_available() { ...@@ -103,9 +103,9 @@ unsigned int embb_core_count_available() {
#ifdef EMBB_HAS_HEADER_SYSINFO #ifdef EMBB_HAS_HEADER_SYSINFO
return get_nprocs(); return get_nprocs();
#elif defined __FreeBSD__ #elif defined __FreeBSD__
const size_t bs = sizeof(unsigned int); const size_t kBufferSize = sizeof(unsigned int);
char buf[bs]; char buf[kBufferSize];
size_t len = bs; size_t len = kBufferSize;
sysctlbyname("hw.ncpu", buf, &len, NULL, 0); sysctlbyname("hw.ncpu", buf, &len, NULL, 0);
return *(unsigned int*)&buf; return *(unsigned int*)&buf;
#else #else
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
\usepackage{pifont} % for \myCheck, \myCross \usepackage{pifont} % for \myCheck, \myCross
\usepackage[hyphens]{url} \usepackage[hyphens]{url}
\usepackage[hidelinks]{hyperref} % hyperref without colored links \usepackage[hidelinks]{hyperref} % hyperref without colored links
%\usepackage{draftwatermark} \usepackage{draftwatermark}
\usepackage{xspace} \usepackage{xspace}
\usepackage{pgf} \usepackage{pgf}
\usepackage{tikz} \usepackage{tikz}
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
\def\lstwidth{0.8\columnwidth} \def\lstwidth{0.8\columnwidth}
\def\embb{EMB$^\mathsf{2}$\xspace} \def\embb{EMB$^\mathsf{2}$\xspace}
%\SetWatermarkColor[gray]{0.9} \SetWatermarkColor[gray]{0.95}
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi} \newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\newcommand{\monthword}[1]{\ifcase#1\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi} \newcommand{\monthword}[1]{\ifcase#1\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi}
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
% Set title and author % Set title and author
% short title is used on the front cover and on each page header % short title is used on the front cover and on each page header
\renewcommand{\shorttitle}{\embb Tutorial (Draft)} \renewcommand{\shorttitle}{\embb Introduction and Tutorial}
% short date is printed on each page header, right next to short title % short date is printed on each page header, right next to short title
\renewcommand{\shortdate}{\monthword{\month} \the\year} \renewcommand{\shortdate}{\monthword{\month} \the\year}
% copyright date is printed on the back cover % copyright date is printed on the back cover
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
% 1st paramter: a square(!) picture % 1st paramter: a square(!) picture
% 2nd parameter: short tile (one line) % 2nd parameter: short tile (one line)
% 3rd parameter: long title (up to two lines) % 3rd parameter: long title (up to two lines)
\gentitlepage{pics/chicago-square.jpg}{\LARGE Siemens Corporate Technology | \monthword{\month} 2014}{\scalebox{0.9}{Embedded Multicore Building Blocks}\\\scalebox{0.9}{Introduction and Tutorial (Draft)}} \gentitlepage{pics/chicago-square.jpg}{\LARGE Siemens Corporate Technology | \monthword{\month} 2014}{\scalebox{0.9}{Embedded Multicore Building Blocks}\\\scalebox{0.9}{Introduction and Tutorial}}
% List the authors and contributors on the second page, right after the cover page % List the authors and contributors on the second page, right after the cover page
% 1st parameter: contributors (optional) % 1st parameter: contributors (optional)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment